CINXE.COM

CUDA Zone - Library of Resources | NVIDIA Developer

<!DOCTYPE html> <html lang='en' class='h-100'> <head> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="teTSLd6zo12u3oCy96cv1wW7GTc6ueVEqK2-SZJfdY4DyZIEaeMMpiKJvn1MYxdgWw0s_yLBBq-n0Ie99ciRJw" /> <meta name="csp-nonce" /> <title>CUDA Zone - Library of Resources | NVIDIA Developer</title> <meta name="keywords" content="cuda toolkit, cuda resources, cuda libraries, cuda tutorials, cuda news, computing applications, nvidia"> <link rel="canonical" href="https://developer.nvidia.com/cuda-zone"> <link rel="alternate" href="https://developer.nvidia.com/cuda-zone" hreflang="x-default"> <link rel="alternate" href="https://developer.nvidia.com/cuda-zone" hreflang="en-us"> <link rel="alternate" href="https://developer.nvidia.cn/cuda-zone" hreflang="zh-cn"> <meta property="og:site_name" content="NVIDIA Developer"> <meta property="og:title" content="CUDA Zone - Library of Resources"> <meta property="og:description" content="Explore CUDA resources including libraries, tools, integrations, tutorials, news, and more."> <meta property="og:type" content="website"> <meta property="og:image" content="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/styles/610x345/public/externals/94007d76757e49366fe7e91734537dbb.jpg?itok=pTpiIc1K"> <meta property="og:url" content="https://developer.nvidia.com/cuda-zone"> <meta name="twitter:title" content="NVIDIA CUDA Zone"> <meta name="twitter:description" content="Explore CUDA resources including libraries, tools, and tutorials, and learn how to speed up computing applications by harnessing the power of GPUs."> <meta name="twitter:image" content="https://developer.download.nvidia.com/images/og-default.jpg"> <meta name="twitter:site" content="@NVIDIA"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:creator" content="@NVIDIA"> <meta property="industry" content="HPC / Scientific Computing"> <link rel="stylesheet" href="https://dirms4qsy6412.cloudfront.net/assets/application-850056c0e23225daee0fd1b592d57245911c990e3aefce82212f37ebf18d96de.css" media="all" /> <link rel="stylesheet" href="https://dirms4qsy6412.cloudfront.net/assets/one-trust-bea625cf16a072ce5fdb0707a19f2645daf63c05eb1a016db72773eba008fc07.css" /> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-document-language="true" type="text/javascript" charset="UTF-8" data-domain-script="3e2b62ff-7ae7-4ac5-87c8-d5949ecafff5"></script> <script type="text/javascript" src="https://images.nvidia.com/aem-dam/Solutions/ot-js/ot-custom.js"></script> <script> function OptanonWrapper() { let event = new Event('bannerLoaded'); window.dispatchEvent(event); if (window.OnetrustActiveGroups && window.OnetrustActiveGroups.includes("C0002")) { window.DD_RUM && window.DD_RUM.init({ clientToken: 'pub0430c74fae5d2b467bcb8d48b13e5b32', applicationId: '9fc963c7-14e6-403d-bdec-ee671550bb7f', site: 'datadoghq.com', service: 'devzone', env: 'production', version: '', sessionSampleRate: 10, sessionReplaySampleRate: 5, trackUserInteractions: true, trackResources: true, trackLongTasks: true, defaultPrivacyLevel: 'mask-user-input', }); } } </script> <link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" as="style" type="text/css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" /> <link rel="stylesheet" href="https://dirms4qsy6412.cloudfront.net/assets/devzone3/vars-cd3a0769a3c2f2d9ea6b83ac53ce86bceef4c719e4dbd22ed41d48d01f200901.css" media="all" /> <link rel="stylesheet" href="https://dirms4qsy6412.cloudfront.net/assets/devzone3/new/application-18e41529317cec7a71ff11ed11f560691cd0843420e9cb6082d8cf8ce8fc638c.css" media="all" /> <link rel="stylesheet" href="https://dirms4qsy6412.cloudfront.net/assets/feed-aggregator/feed-aggregator-9ace7521871242143cb35fa86d5be702c4dacb409600041fa6a5b14fa2a71dde.css" media="all" /> <link rel="stylesheet" href="https://dirms4qsy6412.cloudfront.net/assets/twentytwenty/css/twentytwenty-4ef2ccd719d09a97572e93c499c1fb11cc971d2a3519cfe105dcff2be92f65b9.css" media="all" /> <script src="https://dirms4qsy6412.cloudfront.net/assets/horizontal-chart/d3.v4.min-41cfecdf7c41476e805de7afacf4aacdd1a4be6947fbecf95217e947ebc2faf5.js"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/horizontal-chart/visualize-d-06443fdef48364af6635f0d1d3535da26910671f6f6a680c531eff0e54ed595f.js"></script> <link rel="stylesheet" href="https://dirms4qsy6412.cloudfront.net/assets/sf-validation/sf-validation-805362e079494cd052f713be5f91a44eb602f545c342f794abbd4a8050c0acb3.css" /> <script src="https://assets.adobedtm.com/5d4962a43b79/c1061d2c5e7b/launch-191c2462b890.min.js" data-ot-ignore="true"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js" integrity="sha512-STof4xm1wgkfm7heWqFJVn58Hm3EtS31XFaagaa8VMReCXAkQnJZ+jEy8PCC/iT18dFy95WcExNHFTqLyp72eQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://api-prod.nvidia.com/search/nvidia-gallery-widget.js"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/devzone3/modules/nvidia_editor/nod_widgets-8c38a7d04ed3c3acd9117aa126bf76d7902d3c57c72b76dbf3c281c96ed09975.js"></script> <link rel="icon" type="image/x-icon" href="https://dirms4qsy6412.cloudfront.net/assets/favicon-81bff16cada05fcff11e5711f7e6212bdc2e0a32ee57cd640a8cf66c87a6cbe6.ico" /> </head> <body class='d-flex flex-column h-100' data-theme='devzone3_new'> <div id='header'></div> <main class="main-content dz3-main-section dz-new-theme page-cuda-zone page-cuda-zone" data-id="206"> <style> #pre_footer_right, #pre_footer_left { display: none; } </style> <section class="sct--xs"> <div class="cntnr--cw txt-cntr"> <h1 class="h--large">CUDA Zone</h1> <p>CUDA® is a parallel computing platform and programming model developed by NVIDIA for general computing on graphical processing units (GPUs). With CUDA, developers are able to dramatically speed up computing applications by harnessing the power of GPUs.</p> <br> <p>In GPU-accelerated applications, the sequential part of the workload runs on the CPU – which is optimized for single-threaded performance – while the compute intensive portion of the application runs on thousands of GPU cores in parallel. When using CUDA, developers program in popular languages such as C, C++, Fortran, Python and MATLAB and express parallelism through extensions in the form of a few basic keywords.</p> <br> <p>The <a href="/cuda-toolkit">CUDA Toolkit</a> from NVIDIA provides everything you need to develop GPU-accelerated applications. The CUDA Toolkit includes GPU-accelerated libraries, a compiler, development tools and the CUDA runtime.</p> <br> <a class="cta--prim cta--l" href="/cuda-downloads"> Download Now</a> </div> </section> <hr> <section class="sct--xs"> <div class="cntnr--narrow txt-cntr"> <h2 class="h--medium">Applications Developed with CUDA</h2> <p>Thousands of applications developed with CUDA have been deployed to GPUs in embedded systems, workstations, datacenters and in the cloud.</p> </div> <div class="cntnr--cw txt-cntr"> <div class="row"> <div class="col-md-3 col-sm-4 col-xs-6"> <img style="width:24%; padding-top:20px; padding-bottom:20px;" alt="Adobe, CUDA Applications Partner" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/logos/adobe.jpg"> </div> <div class="col-md-3 col-sm-4 col-xs-6"> <img style="width:60%; padding-top:20px; padding-bottom:20px;" alt="Ansys, CUDA Applications Partner" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/logos/ANSYS_170x54_b.png"> </div> <div class="col-md-3 col-sm-4 col-xs-6"> <br> <img style="width:60%; padding-top:20px; padding-bottom:20px;" alt="Autodesk, CUDA Applications Partner" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/Autodesk_170x28.jpg"> </div> <div class="col-md-3 col-sm-4 col-xs-6"> <img style="width:60%; padding-top:20px; padding-bottom:20px;" alt="Dassault Systemes, CUDA Applications Partner" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/Dassault-Systemes_170x51.jpg"> </div> <div class="col-md-3 col-sm-4 col-xs-6"> <img style="width:60%; padding-top:20px; padding-bottom:20px;" alt="MathWorks, CUDA Applications Partner" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/logos/mathworks.jpg"> </div> <div class="col-md-3 col-sm-4 col-xs-6"> <img style="width:60%; padding-top:20px; padding-bottom:20px;" alt="Microsoft, CUDA Applications Partner" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/logos/microsoft2.jpg"> </div> <div class="col-md-3 col-sm-6 col-xs-6"> <img style="width:60%; padding-top:20px; padding-bottom:20px;" alt="National Instruments, CUDA Applications Partner" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/logos/ni.jpg"> </div> <div class="col-md-3 col-sm-6 col-xs-6"> <img style="width:50%; padding-top:20px; padding-bottom:20px;" alt="Wolfram Mathematica, CUDA Applications Partner" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/logos/wolfram.jpg"> </div> </div> <a class="cta--tert cta--cntr justify-content-center" href="http://www.nvidia.com/content/gpu-applications/PDF/gpu-applications-catalog.pdf">See More Applications <span class="fas fa-angle-right fa-fw"></span></a> </div> </section> <hr> <section class="sct--xs"> <div class="cntnr--narrow txt-cntr"> <h2 class="h--medium">CUDA for all NVIDIA GPU Families</h2> <p>CUDA serves as a common platform across all NVIDIA GPU families so you can deploy and scale your application across GPU configurations.</p> <div class="row"> <div class="col-md-3 col-sm-6"> <h3 class="h--small">Desktop Developer</h3> <p> <img alt="TITAN X for Desktop Development" class="img-responsive padding-md-bottom" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/computeworks/images/cuda-tech-hw1.jpg"> </p> </div> <div class="col-md-3 col-sm-6"> <h3 class="h--small">Data Center Solutions</h3> <p> <img alt="NVIDIA DGX system for Data Center Solutions" class="img-responsive padding-md-bottom" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/computeworks/images/cuda-tech-hw2.jpg"> </p> </div> <div class="col-md-3 col-sm-6"> <h3 class="h--small">Embedded Applications</h3> <p> <img alt="Jetson TX2 for Embedded Applications" class="img-responsive padding-md-bottom" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/computeworks/images/cuda-tech-emdedded-apps.jpg"> </p> </div> <div class="col-md-3 col-sm-6"> <h3 class="h--small">GPU-Accelerate Cloud</h3> <p> <img alt="GPU-accelerated cloud solutions" class="img-responsive padding-md-bottom" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/computeworks/images/cuda-tech-cloud-apps.jpg"> </p> </div> </div> <p>The first GPUs were designed as graphics accelerators, becoming more programmable over the 90s, culminating in NVIDIA's first GPU in 1999. Researchers and scientists rapidly began to apply the excellent floating point performance of this GPU for general purpose computing. In 2003, a team of researchers led by Ian Buck unveiled Brook, the first widely adopted programming model to extend C with data-parallel constructs. Ian Buck later joined NVIDIA and led the launch of CUDA in 2006, the world's first solution for general-computing on GPUs. </p> <br> <p>Since its inception, the CUDA ecosystem has grown rapidly to include software development tools, services and partner-based solutions. The <a href="/cuda-toolkit">CUDA Toolkit</a> includes libraries, debugging and optimization tools, a compiler and a runtime library to deploy your application. You'll also find code samples, programming guides, user manuals, API references and other documentation to help you get started. </p> <br> <br> </div> <div class="cntnr--cw txt-cntr"> <div class="row"> <div class="col-md-6 tools-block"> <h3 class="h--small">Libraries</h3> <div class="row"> <div class="col-sm-6"> <a class="libraries-block-link" target="_blank" href="/curand"> <img style="padding:0 15%;" alt="cuRAND library" class="img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/cuda/images/cuRandImage.png"> </a> <p>cuRAND</p> </div> <div class="col-sm-6 padding-md-bottom"> <a class="libraries-block-link" target="_blank" href="/npp"> <img style="padding:0 15%;" alt="NPP library" class="img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/cuda/images/nppeye.jpg"> </a> <p>NPP </p> </div> <div class="col-sm-6 padding-md-bottom"> <a class="libraries-block-link" target="_blank" href="/cuda-math-library"> <img style="padding:0 15%;" alt="Math Library" class="img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/cuda/images/KeyVisual_Primary_verysm.PNG"> </a> <p>Math Library</p> </div> <div class="col-sm-6 padding-md-bottom"> <a class="libraries-block-link" target="_blank" href="/cufft"> <img style="padding:0 15%;" alt="cuFFT library" class="img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/cuda/images/cuff_ampchart.jpg"> </a> <p>cuFFT</p> </div> <div class="col-sm-6 padding-md-bottom"> <a class="libraries-block-link" target="_blank" href="/nvgraph"> <img style="padding:0 15%;" alt="nvGRAPH library" class="img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/whatsnew/nv_graph_01.png"> </a> <p>nvGRAPH</p> </div> <div class="col-sm-6 padding-md-bottom"> <a class="libraries-block-link" target="_blank" href="/nccl"> <img style="padding:0 15%;" alt="NCCL library" class="img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/pictures/2017/nccl.png"> </a> <p>NCCL</p> </div> </div> <a class="cta--tert cta--cntr justify-content-center" href="/gpu-accelerated-libraries">See More Libraries <span class="fas fa-angle-right fa-fw"></span></a> </div> <div class="col-md-6 tools-block"> <h3 class="h--small">Tools and Integrations</h3> <div class="row"> <div class="col-sm-6 padding-md-bottom"> <a class="tools-block-link" target="_blank" href="/nsight"> <img style="padding:0 15%;" alt="nSight tool" class="img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/cuda/images/Parallel_Nsight-webGraphic.jpg"> </a> <p>Nsight</p> </div> <div class="col-sm-6 padding-md-bottom"> <a class="tools-block-link" target="_blank" href="/nvidia-visual-profiler"> <img style="padding:0 15%;" alt="Visual Profiler tool" class="img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/cuda/images/CUDA_VisualProfiler-webGraphic.jpg"> </a> <p>Visual Profiler</p> </div> <div class="col-sm-6 padding-md-bottom"> <a class="tools-block-link" target="_blank" href="/cuda-gdb"> <img style="padding:0 15%;" alt="CUDA GDB debugging tool" class="img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/cuda/images/CUDA_GDB-webGraphic.jpg"> </a> <p> CUDA GDB</p> </div> <div class="col-sm-6 padding-md-bottom"> <a class="tools-block-link" target="_blank" href="/CUDA-MEMCHECK"> <img style="padding:0 15%;" alt="CUDA MemCheck tool" class="img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/cuda/images/CUDA_MemCheck-webGraphic.jpg"> </a> <p>CUDA MemCheck</p> </div> <div class="col-sm-6 padding-md-bottom"> <a class="tools-block-link" target="_blank" href="/openacc"> <img style="padding:0 15%;" alt="OpenACC directive-based programming model" class="img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/cuda/images/product_logos/OpenACC-logo-notag360x190.jpg"> </a> <p>OpenACC</p> </div> <div class="col-sm-6 padding-md-bottom"> <a class="tools-block-link" target="_blank" href="/cuda-profiling-tools-interface"> <img style="padding:0 15%;" alt="CUDA Profiling Tools Interface" class="img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/cuda/images/cupti.png"> </a> <p>CUDA Profiling Tools Interface</p> </div> </div> <br> <a class="cta--tert cta--cntr justify-content-center" href="/tools-overview">See More Tools <span class="fas fa-angle-right fa-fw"></span></a> </div> </div> </div> </section> <hr> <section class="sct--xs"> <div class="cntnr--narrow txt-cntr"> <h2 class="h--medium">Domains with CUDA-Accelerated Applications</h2> <p>CUDA accelerates applications across a wide range of domains from image processing, to deep learning, numerical analytics and computational science.</p> <br> <div class="row applications-block"> <div class="col-sm-4 padding-md-bottom"> <a target="_blank" href="http://www.nvidia.com/object/computational_chemistry.html"> <img alt="Computational Chemistry domain" class="text-center img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/computeworks/images/md2.png"> </a> </div> <div class="col-sm-4 padding-md-bottom"> <a target="_blank" href="http://www.nvidia.com/object/machine-learning.html"> <img alt="Machine Learning domain" class="text-center img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/computeworks/images/ml.png"> </a> </div> <div class="col-sm-4 padding-md-bottom"> <a target="_blank" href="http://www.nvidia.com/object/data-science-analytics-database.html"> <img alt="Data Science domain" class="text-center img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/computeworks/images/data.png"> </a> </div> </div> <div class="row applications-block"> <div class="col-sm-4 padding-md-bottom"> <a target="_blank" href="http://www.nvidia.com/object/bio_info_life_sciences.html"> <img alt="Bioinformatics domain" class="text-center img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/computeworks/images/bioinfo.png"> </a> </div> <div class="col-sm-4 padding-md-bottom"> <a target="_blank" href="http://www.nvidia.com/object/computational_fluid_dynamics.html"> <img alt="Computational Fluid Dynamics domain" class="text-center img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/computeworks/images/cfd.png"> </a> </div> <div class="col-sm-4 padding-md-bottom"> <a target="_blank" href="http://www.nvidia.com/object/weather.html"> <img alt="Weather and Climate domain" class="text-center img-responsive" src="https://d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/computeworks/images/weather.png"> </a> </div> </div> <a class="cta--tert cta--cntr justify-content-center" href="http://www.nvidia.com/object/gpu-applications-domain.html">More Applications <span class="fas fa-angle-right fa-fw"></span></a> </div> </section> <hr> <section class="sct--xs"> <div class="cntnr--narrow txt-cntr"> <h2 class="h--medium">Get Started with CUDA</h2> <p>Get started with CUDA by downloading the CUDA Toolkit and exploring introductory resources including videos, code samples, hands-on labs and webinars.</p> <br> <a target="_blank" class="cta--prim" href="/how-to-cuda-c-cpp">Get Started with CUDA </a> <a class="cta--prim" href="/cuda-downloads"> Download Now </a> </div> </section> <hr> <section class="sct--xs"> <div class="cntnr--narrow"> <h3 class="h--small">Tutorials</h3> <div class="row"> <feed-aggregator categories='all' tags='all' per-page='4' excluded-tags='1958' locale='en'></feed-aggregator> <br> <p class="nvidia-lg-absolute-bottom cta--right"><b><a href="https://devblogs.nvidia.com/">See More</a></b></p> </div> <h3 class="h--small">News</h3> <div class="row"> <feed-aggregator categories='all' tags='1958' per-page='4' excluded-tags='null' locale='en'></feed-aggregator> <br> <p class="nvidia-lg-absolute-bottom cta--right"><b><a href="https://news.developer.nvidia.com/">See More</a></b></p> </div> </div> </section> <style> .view-tagged-news .view-content .views-row .views-field-nothing .title { font-size: 16px; font-weight: bold; } .view-tagged-news .view-content .views-row .views-field-nothing .created { display: none; } </style> <script> document.addEventListener('DOMContentLoaded', () => { const allLinks = document.querySelectorAll('.dz3-main-section.dz-new-theme a'); allLinks.forEach((link) => { let hasIcon = link.querySelector('span.fas'); if(hasIcon) { link.classList.add('has-cta-icon'); } }); }); </script> </main> <div id='footer' class='mt-auto'></div> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/devzone3/new/popper.min-a9eb3f3101919a18965114cfdcd0138652ec03b2b58cfb26806f9a256564c858.js"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/feed-aggregator/feed-aggregator-7f147443abc2d1300a239c29e4ba3ca0d0d2eb0dc66b608765e2b3be50e18e10.js"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/devzone3/new/dist/dz3-new-bundle-11f473650a558402a2733b7bb4d6133e28814892ec0527381c9144f3499b8d60.js"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/twentytwenty/js/jquery.event.move-16041d2e384b513c1b202af51fc404a0643b8c38ff823bb4326520ad5a82b761.js"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/twentytwenty/js/jquery.twentytwenty-835622257095d5bd0719a5484d68213ccc8708a321dd3deded777d1e6623b499.js"></script> <script> const template = document.createElement('template'); template.innerHTML = ` <style> @import "https://dirms4qsy6412.cloudfront.net/assets/feed-aggregator/feed-aggregator-9ace7521871242143cb35fa86d5be702c4dacb409600041fa6a5b14fa2a71dde.css"; .feed-aggregator-component .card { box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px -1px rgba(0,0,0,0.3) !important; } .feed-aggregator-component .card:hover { box-shadow: 0 0 8px 0 rgba(0,0,0,0.13), 0 14px 32px 5px rgba(0,0,0,0.13) !important; } </style> <div class="feed-aggregator-component"></div> `; const hosts = { 'en': 'https://developer.nvidia.com/blog', 'cn': 'https://developer.nvidia.com/zh-cn/blog', } class FeedAggregatorElement extends HTMLElement { constructor() { super(); this._shadowRoot = this.attachShadow({ 'mode': 'open' }); this._shadowRoot.appendChild(template.content.cloneNode(true)); } connectedCallback() { const categories = this.getAttribute('categories'); const tags = this.getAttribute('tags'); const perPage = this.getAttribute('per-page'); const excludedTags = this.getAttribute('excluded-tags'); let locale = this.getAttribute('locale'); if (!locale) { locale = 'en'; } let targetElement = this._shadowRoot.querySelector(".feed-aggregator-component"); let feed = { id: 'blog', host: hosts[locale], type: 'json', minCount: 2, }; if (categories && categories !== 'all') { feed['category_ids'] = categories.split(','); } if (tags && tags !== 'all') { feed['tag_ids'] = tags.split(','); } if(excludedTags && excludedTags !== 'null'){ feed['excluded_tag_ids'] = excludedTags.split(','); } document.addEventListener("DOMContentLoaded", function () { new FeedAggregator({ target: targetElement, props: { count: perPage, openInNewTab: true, showExcerpts: true, feeds: [feed] } }); }) } } window.customElements.define('feed-aggregator', FeedAggregatorElement); </script> <template id='application-button-template'> <style> @import "https://dirms4qsy6412.cloudfront.net/assets/application-button/application-button-68ca7e1e3aa49ec79169d49226e34ee0c341d27a15a38b28ce975cb2467e123e.css"; </style> <a href='' class='nvidia-application-button'>Join now</a> </template> <script> async function fetchMembershipState () { const userInfo = await fetch('/api/user'); const {status} = userInfo; if (status === 401) { let error = new Error('Unauthorized'); error.statusCode = status; throw error; } // TODO: Figure out how to get DZ4 program // Fetch page info. const {pathname} = location; const pageInfo = await fetch(`${pathname}.json`); const pageData = await pageInfo.json(); // Fetch membership info return pageData; } const initApplicationButton = (element) => { const linkElement = element.querySelector('a'); fetchMembershipState() .then(data => { console.log(data); }) .catch(error => { switch (error.statusCode) { default: linkElement.innerHTML = 'Login'; linkElement.href = '/login'; } }); }; class NvidiaApplicationButton extends HTMLElement { constructor() { const template = document.getElementById('application-button-template'); super(); this._shadowRoot = this.attachShadow({ 'mode': 'open' }); this._shadowRoot.appendChild(template.content.cloneNode(true)); } connectedCallback() { const element = this._shadowRoot; document.addEventListener('DOMContentLoaded', () => { initApplicationButton(element); }); } } window.customElements.define('nv-application-button', NvidiaApplicationButton); </script> <template id='application-text-template'> <p></p> </template> <script> class NvidiaApplicationText extends HTMLElement { constructor() { const template = document.getElementById('application-text-template'); super(); this._shadowRoot = this.attachShadow({ 'mode': 'open' }); this._shadowRoot.appendChild(template.content.cloneNode(true)); } connectedCallback() { } } window.customElements.define('nv-application-text', NvidiaApplicationText); </script> <template id='nv-sf-form-validator-template'> <script src="https://dirms4qsy6412.cloudfront.net/assets/sf-validation/moment-620a5949fff0ad37198f07464b91d7b7c110ecdb6f94ca90ca7d2e1b471f1da8.js"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/sf-validation/validate.min-2160a65c1b5d4a5966544ad25af8fe99f11c636a99c516fee6c7afd3b1f21409.js"></script> <p></p> </template> <script> class NvidiaSalesforceValidator extends HTMLElement { constructor() { const template = document.getElementById('nv-sf-form-validator-template'); super(); this._shadowRoot = this.attachShadow({'mode': 'open'}); this._shadowRoot.appendChild(template.content.cloneNode(true)); } initComponent() { if (!window.sfv) { return; } validate.extend(validate.validators.datetime, { parse: function (value, options) { if (moment(value, options.format, true).isValid()) { return +moment.utc(value); } }, format: function (value, options) { var format = options.dateOnly ? "MM/DD/YYYY" : "MM/DD/YYYY hh:mm"; return moment.utc(value).format(format); } }); function showErrors(errors) { $.each(errors, function (index, element) { $('input[name="' + errors[index]['attribute'] + '"]').each(function (i, e) { var errorMessage = errors[index]['options']['message']; $('<div class="js-validation-errors">' + errorMessage + '</div>').insertAfter(e); }).focus(); }); } function isValidForm(form, constraints) { var errors = validate(form, constraints, {format: "detailed"}); if (errors) { showErrors(errors); return false; } return true; } $.each(window.sfv, function (index, element) { $(element.target).on('click', function (event) { $('.js-validation-errors').remove(); if (!isValidForm(element.form, element.constraints)) { event.preventDefault(); } }); }); } connectedCallback() { document.addEventListener('DOMContentLoaded', () => { this.initComponent(); }); } } window.customElements.define('nv-sf-form-validator', NvidiaSalesforceValidator); </script> <script src="https://dirms4qsy6412.cloudfront.net/assets/horizontal-chart/d3.v4.min-41cfecdf7c41476e805de7afacf4aacdd1a4be6947fbecf95217e947ebc2faf5.js"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/horizontal-chart/visualize-d-06443fdef48364af6635f0d1d3535da26910671f6f6a680c531eff0e54ed595f.js"></script> <template id="chart-template"> <style> @import "https://dirms4qsy6412.cloudfront.net/assets/devzone3/modules/nvidia_tokens/nvidia-charts-a459e90d273ab4f8b282e0f5fef607074b5fc7cbb5f8d0f0e378281320e6b9c8.css"; </style> <div class="horizontal-chart-component"> <div class="chart-container"> <h4 class="chart-title"></h4> <p class="chart-subtitle"></p> <div class="legend"></div> <svg data-nvidia-chart="true" data-chart-legend=""></svg> <p class="chart-footnote"></p> </div> </div> </template> <script> function chartInit(element) { const chart = element.querySelector('svg[data-nvidia-chart]'); const isRendered = chart.getAttribute("data-rendered"); if (isRendered) { return; } const svgChart = d3.select(chart); const bars = JSON.parse(chart.dataset['chartBars']); const ticks = JSON.parse(chart.dataset['chartTicks']); const xAxisLabel = chart.dataset['xAxisLabel']; const barPadding = chart.dataset['barPadding']; const milestone = null; const isGrouped = chart.dataset['isGrouped'] === 'true'; if (isGrouped) { const legend = JSON.parse(chart.dataset['chartLegend']); createGroupedHorizontalBarChart(svgChart, bars, barPadding, legend, ticks, milestone, xAxisLabel, false); } else { createHorizontalBarChart(svgChart, bars, barPadding, ticks, xAxisLabel, "", false); } chart.dataset['rendered'] = 'true'; } $('a[data-toggle="tab"]').on("click", function (event) { setTimeout(() => { // Triggering 'resize' event to redraw charts. window.dispatchEvent(new Event('resize')); const target = jQuery(event.target).parents('.nav.nav-tabs').siblings('.tab-content').find('.tab-pane.active'); if (target.length > 0) { const svg = jQuery(target).find('horizontal-chart'); if (svg.length) { svg.each((idx, el) => { setTimeout(function () { const chartContainer = el._shadowRoot.querySelector('.chart-container'); chartInit(chartContainer); }, 300); }); } } }, 50); }); async function loadFileSource(url) { try{ const response = await fetch(url); return response.json(); }catch (e) { console.warn(`Failed to load chart data. URL: ${url}`); } return {}; } class HorizontalChartElement extends HTMLElement { constructor() { const horizontalCharTemplate = document.getElementById('chart-template'); super(); this._shadowRoot = this.attachShadow({ 'mode': 'open' }); this._shadowRoot.appendChild(horizontalCharTemplate.content.cloneNode(true)); } connectedCallback() { const url = this.getAttribute('source'); const element = this._shadowRoot; document.addEventListener("DOMContentLoaded", function () { loadFileSource(url).then(data => { const { chartTitle: title, chartSubtitle: subTitle, chartFootnote: footNote, chartId: id, isGrouped: isGrouped, legendData, barPadding, xAxisLabel, bars, ticks } = data; element.querySelector('.chart-title').innerHTML = title; // Subtitle if (subTitle) { element.querySelector('.chart-subtitle').innerHTML = subTitle; } else { element.querySelector('.chart-subtitle').remove(); } // Chart const svgElement = element.querySelector('.chart-container svg'); svgElement.id = id; const dataAttributes = [ ['isGrouped', isGrouped ? 'true' : 'false', ''], ['chartLegend', JSON.stringify(legendData), ''], ['xAxisLabel', xAxisLabel, ''], ['barPadding', barPadding, 5], ['chartBars', bars, ''], ['chartTicks', ticks, ''], ]; dataAttributes.forEach(dataAttribute => { if (dataAttribute[0] === 'chartBars' && dataAttribute[1]) { dataAttribute[1] = JSON.stringify(dataAttribute[1]); } if (dataAttribute[0] === 'chartTicks' && dataAttribute[1]) { dataAttribute[1] = JSON.stringify(dataAttribute[1]); } svgElement.dataset[dataAttribute[0]] = dataAttribute[1] ? dataAttribute[1] : dataAttribute[2]; }); // Caption if (footNote) { element.querySelector('.chart-footnote').innerHTML = footNote; } else { element.querySelector('.chart-footnote').remove(); } // Init chart const chartContainer = element.querySelector('.chart-container'); setTimeout(function () { if (jQuery(chartContainer).is(':visible')) { chartInit(chartContainer); } }, 300); }); }) } } window.customElements.define('horizontal-chart', HorizontalChartElement); </script> <script src="https://dirms4qsy6412.cloudfront.net/assets/nv-developer-menu-09b6a95e79b8d8d44b0f1ac794e39d5adac82391d128f6d4d39715826a860020.js"></script> <script> let menuLocale = 'en'; if (menuLocale == 'en') { menuLocale = 'en-US'; } function mountHeader(data = false) { let options = { baseURL: window.location.origin, signedIn: false, locale: menuLocale }; if (data) { options.secondaryMenu = data; } options.showMembershipCardLink = true; new NVDeveloperHeader({ target: document.getElementById('header'), props: options }); } function mountFooter(data = false) { let options = { menu: data, locale: menuLocale }; new NVDeveloperFooter({ target: document.getElementById('footer'), props: options }); } let url = 'd29g4g2dyqv443.cloudfront.net'; let headerMenuURL = "https://d29g4g2dyqv443.cloudfront.net/menu/en-US/header-secondary.json"; fetch(headerMenuURL) .then(response => response.json()) .then(data => { mountHeader(data); }) .catch((error) => { mountHeader(); window.nv.tracing.addError('menu', error); }); fetch(`https://${url}/menu/${menuLocale}/footer.json`) .then(response => response.json()) .then(data => { mountFooter(data); }) .catch((error) => { mountFooter(); window.nv.tracing.addError('menu', error); }); </script> <script src="https://www.datadoghq-browser-agent.com/us1/v5/datadog-rum.js"></script> <script> let silentAuthHost = 'www.nvidia.com'; let crossOriginPageUrl = `https://${silentAuthHost}/auth/hints/`; function readHint() { return new Promise((resolve) => { const { origin: targetOrigin } = new URL(crossOriginPageUrl); const iframe = document.createElement('iframe'); iframe.hidden = true; iframe.src = crossOriginPageUrl; function responseHandler(event) { if (event.origin === targetOrigin) { iframe.parentNode.removeChild(iframe); return resolve(event.data); } } window.addEventListener('message', responseHandler, { once: true }); iframe.onload = () => { iframe.contentWindow.postMessage({ type: 'read' }, targetOrigin); } document.body.appendChild(iframe); }); } function writeHint(login_hint, idp_id, timestamp, sub) { const { origin: targetOrigin } = new URL(crossOriginPageUrl); const iframe = document.createElement('iframe'); iframe.hidden = true; iframe.src = crossOriginPageUrl; iframe.onload = () => { const message = { type: 'write', login_hint, idp_id, timestamp, sub }; iframe.contentWindow.postMessage(message, targetOrigin); } document.body.appendChild(iframe); } function deleteHint() { const { origin: targetOrigin } = new URL(crossOriginPageUrl); const iframe = document.createElement('iframe'); iframe.hidden = true; iframe.src = crossOriginPageUrl; iframe.onload = () => { iframe.contentWindow.postMessage({ type: 'delete' }, targetOrigin); } document.body.appendChild(iframe); } </script> <script>_satellite.pageBottom();</script> <script src="https://dirms4qsy6412.cloudfront.net/packs/js/runtime-503119e3bfeec75056bc.js" defer="defer"></script> <script src="https://dirms4qsy6412.cloudfront.net/packs/js/692-70104789368a40f2d231.js" defer="defer"></script> <script src="https://dirms4qsy6412.cloudfront.net/packs/js/341-3761d2892158034dde54.js" defer="defer"></script> <script src="https://dirms4qsy6412.cloudfront.net/packs/js/171-72c84e9bea55d778d36a.js" defer="defer"></script> <script src="https://dirms4qsy6412.cloudfront.net/packs/js/866-f9c34b19d1b60b883caf.js" defer="defer"></script> <script src="https://dirms4qsy6412.cloudfront.net/packs/js/311-033b6299b51897e65419.js" defer="defer"></script> <script src="https://dirms4qsy6412.cloudfront.net/packs/js/252-f83b27d9f72fef366bc7.js" defer="defer"></script> <script src="https://dirms4qsy6412.cloudfront.net/packs/js/582-d6d587645f7c87937f15.js" defer="defer"></script> <script src="https://dirms4qsy6412.cloudfront.net/packs/js/900-df684e5d2e49c0841d7f.js" defer="defer"></script> <script src="https://dirms4qsy6412.cloudfront.net/packs/js/application-34e06828c108fa024662.js" defer="defer"></script> <script src="https://dirms4qsy6412.cloudfront.net/packs/js/ls_track-4ba11c63b23b3f4ff0d5.js" defer="defer"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10