CINXE.COM
Aerial CUDA-Accelerated RAN | 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="40MQ_s0O7wG21VKHCduw_RhnYsxpq6PnHcBuywOV7Qfm_Mb6LaQDmdVQcivYH-nddgIRG7iKONC2WZv1O9WedA" /> <meta name="csp-nonce" /> <title>Aerial CUDA-Accelerated RAN | NVIDIA Developer</title> <meta name="description" content="An application framework for building commercial-grade, software-defined, GPU-accelerated, cloud-native 5G/6G networks."> <meta name="keywords" content="aerial, virtualized ran, virtual radio access networks, vran, ran software, 5g, 6g, nvidia"> <link rel="canonical" href="https://developer.nvidia.com/aerial-cuda-accelerated-ran"> <link rel="alternate" href="https://developer.nvidia.com/aerial-cuda-accelerated-ran" hreflang="x-default"> <link rel="alternate" href="https://developer.nvidia.com/aerial-cuda-accelerated-ran" hreflang="en-us"> <meta property="og:site_name" content="NVIDIA Developer"> <meta property="og:title" content="Aerial CUDA-Accelerated RAN"> <meta property="og:description" content="Build commercial-grade, software-defined, GPU-accelerated, cloud-native 5G/6G networks."> <meta property="og:type" content="website"> <meta property="og:image" content="https://developer.download.nvidia.com/images/aerial/nvidia-kv-og-100%.jpg"> <meta property="og:url" content="https://developer.nvidia.com/aerial-cuda-accelerated-ran"> <meta name="twitter:title" content="NVIDIA Aerial CUDA-Accelerated RAN"> <meta name="twitter:description" content="An application framework for building commercial-grade, software-defined, GPU-accelerated, cloud-native 5G/6G networks."> <meta name="twitter:image" content="https://developer.download.nvidia.com/images/aerial/nvidia-kv-og-100%.jpg"> <meta name="twitter:site" content="@NVIDIA"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:creator" content="@NVIDIAAIDev"> <meta property="industry" content="Telecommunications"> <link rel="stylesheet" href="https://dirms4qsy6412.cloudfront.net/assets/application-1e91adb0e814253f53c7a621169b6daa7cc975f97befa1c8f1a2ffe493719eb1.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 src="https://dirms4qsy6412.cloudfront.net/assets/onetrust-overrides-v2-9d7d1399c432d702a5bf32a31067737e10c123fdbe5ffef8ae83a34cf2d680ee.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> <script> (function() { var didInit = false; function initMunchkin() { if(didInit === false) { didInit = true; Munchkin.init('156-OFN-742'); } } var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//munchkin.marketo.net/munchkin.js'; s.onreadystatechange = function() { if (this.readyState == 'complete' || this.readyState == 'loaded') { initMunchkin(); } }; s.onload = initMunchkin; document.getElementsByTagName('head')[0].appendChild(s); })(); </script> <meta name='typesense-host' content='typesense.svc.nvidia.com'> <meta name='typesense-key' content='uFs9XGl9BWS7af7eAIbKNQ49sJnjEfQk'> <script src="https://developer.download.nvidia.com/scripts/typesense.js"></script> <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://dirms4qsy6412.cloudfront.net/assets/bootstrap/5.1.3/bootstrap.bundle.min-51ad1d8cab4ebd9873a0429f5e67ca717a71fd96daf8025bc04a88848e5b375c.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'> <div id='header'></div> <div id='page-mobile-nav-container'></div> <div class='page'> <div class="product-page"><div class="container breadcrumb-container"><ol class="breadcrumb"><li id="i6nqu5-2" class="breadcrumb-item"><a href="/" id="iv1nls-2">Home</a></li><a id="iwycrc-6" href="/industries/telecommunications" target="" class="breadcrumb-item">Telecommunications <br></a><a href="" target="" id="i743fi-2" class="breadcrumb-item">NVIDIA Aerial CUDA-Accelerated RAN</a></ol><div></div></div><div class="container page"><div class="row"><div class="col-xl-9 col-lg-9 col-md-12 col-sm-10 col-main-content"><main class="page__content"><section class="page__section page__first-section"><div class="separator separator--no-scale separator--60 d-md-block d-lg-none"></div><h1 title="Introduction" class="h--large section__heading toc-item mb-0">NVIDIA Aerial CUDA-Accelerated RAN</h1><div class="separator separator--45"></div><p class="p--large text-color-gray mb-0">NVIDIA Aerial™ CUDA®-Accelerated RAN is an application framework for building commercial-grade, software-defined, GPU-accelerated, cloud-native 5G and 6G networks. The platform supports full-inline GPU acceleration of layers 1 (L1) and 2 (L2) of the 5G stack. The Aerial CUDA-Accelerated RAN platform is the key building block for the accelerated 5G virtualized distributed unit (vDU) and has been deployed in commercial and research networks.<br><br>Join the NVIDIA 6G Developer Program to access Aerial CUDA-Accelerated RAN software code and documentation. </p><div class="separator separator--45"></div><p class="mb-0"><a href="/6g-program/" class="btn btn-cta">Join 6G Developer Program</a></p></section><div class="separator separator--60"><div class="separator separator--60"></div></div><div class="separator separator--60"><div class="separator separator--60"><hr class="separator separator--md"></div></div><h2 id="i56qeh" class="h--medium"><div class="container sct--lt-gry2 p-t-30 p-b-30"><div class="row"><h2 id="section-key-features" title="Key Features" class="h--medium toc-item gjs-selected">Key Features</h2><div class="col-lg-4 col-md-12 col-sm-12 grid-col"><h3 id="i96r16" class="h--smaller"><img src="https://developer.download.nvidia.com/images/aerial/software-define-icon.svg" id="ins0ko" alt="Decorative image of a programmable software" class="mw-6-rem mx-auto d-block"></h3><h1 id="i2sc1s"><span></span></h1><h3 id="i4wjb7" class="h--smaller">100% Software Defined</h3><div id="ig0j2r" class="p--medium">The NVIDIA Aerial CUDA-Accelerated RAN platform is a fully software-defined, scalable, and highly programmable 5G RAN acceleration platform for L1 and L2+ layers.</div></div><div class="col-lg-4 col-md-12 col-sm-12 grid-col"><h3 id="iufwxr" class="h--smaller"><img src="https://developer.download.nvidia.com/images/aerial/performance-and-ai-ready-icon.svg" id="il3qfa" alt="Decorative image of a lighting representing high performance and AI readiness" class="mw-6-rem mx-auto d-block"></h3><div id="i9rtw3"><span id="docs-internal-guid-7c3f39b0-7fff-db9c-8c4f-a68f098dd85f"></span></div><div id="iq71ee"><span></span></div><h1 id="i5d5j6"><span id="docs-internal-guid-7c3f39b0-7fff-db9c-8c4f-a68f098dd85f-2"></span></h1><h3 id="id9qsq" class="h--smaller">High Performance and AI Ready</h3><div id="ixjk6s" class="p--medium">With GPU-accelerated processing, complex computations run faster than on non-GPU solutions. Performance is improved for L1 and L2 functions, and future AI RAN techniques will run more efficiently on the same GPU platform.</div></div><div class="col-lg-4 col-md-12 col-sm-12 grid-col"><h3 class="h--smaller"><img src="https://developer.download.nvidia.com/images/aerial/scalability-icon.svg?test" alt="Decorative image of a lighting representing high performance and AI readiness" id="ihwdm" class="mw-6-rem mx-auto d-block"></h3><h3 class="h--smaller"></h3><div><span></span></div><h1><span></span></h1><h3 class="h--smaller">Scalable and Multi-Tenancy</h3><div class="p--medium">The platform is scalable, based on Kubernetes, and deployable in the same shared infrastructure as generative AI applications. This optimizes resource utilization and enables cost-effective, energy-efficient deployment.</div></div></div></div></h2><div class="separator separator--60"><hr class="separator separator--md"></div><div class="container"><div class="row"><div id="i1ztt"><h2 class="h--medium p-t-45 toc-item">Platform Components</h2><div>The NVIDIA Aerial CUDA-Accelerated RAN platform enables a fully programmable, cloud-native, AI-capable, and high-performance end-to-end RAN solution. It includes CUDA-based cuBB software for GPU-accelerated L1 (cuPHY) and L2 (cuMAC), NVIDIA DOCA™ for optimized input and output (IO) and packet processing, and cloud-native technologies.</div></div></div><div class="row"><div class="mx-auto col-sm-12"><img alt="A diagram of NVIDIA Aerial CUDA-Accelerated RAN showing full-stack vRAN acceleration" src="https://developer.download.nvidia.com/images/aerial/telco-image-stack-aerial-cuda-accelerated-ran@2x.png" class="p-t-30 mx-auto d-block"><div id="i440im" class="text-center p--small">Stack diagram of the NVIDIA Aerial CUDA-Accelerated RAN showing full-stack virtualized RAN (vRAN) acceleration.</div></div></div></div><div class="container"></div><div class="container"><div class="row"><div id="i8h3w" class="mt-sm-3"><h2 class="h--medium p-t-45">CUDA Baseband (cuBB)</h2><p id="i66vhx">cuBB provides a GPU-accelerated baseband L1 and L2. It delivers unprecedented throughput and efficiency by keeping all physical (PHY) layer processing within the high-performance GPU memory. cuBB supports 5G today and will evolve to 6G in the future. cuBB includes two GPU-accelerated libraries:<br><br><b>cuPHY</b> is a 3GPP-compliant, real-time, GPU-accelerated, full-inline implementation of the data and control channels for the RAN PHY L1. It provides an L1 high-PHY library, which offers unparalleled scalability by using the GPU’s massive computing power and high degree of parallelism to process the compute-intensive parts of the L1. It also supports fronthaul extension and multi-user massive input massive output (MU-MIMO) technology.<br><br><b>cuMAC</b> is a CUDA-based platform for offloading scheduler functions from the media access control (MAC) L2 stack in centralized and distributed units (CU/DUs) and accelerating the functions with GPUs. cuMAC provides a C/C++ API to enable implementations of advanced scheduler algorithms that improve overall spectral efficiency for both standard MIMO and massive MIMO RAN deployments. The cuMAC extends GPU-accelerated processing beyond L1 to enable coordinated multicell scheduling (CoMS) in the 5G MAC scheduler.</p></div></div><div class="row"><div class="col-sm-10 mx-auto"><div id="irylek"><img alt="A diagram of how CUDA Baseband (cuBB) is positioned in NVIDIA certified systems" src="https://developer.download.nvidia.com/images/aerial/image-cuda-baseband@2x.png" id="iwa7yx"></div></div></div></div><div class="container"><div class="row"><div id="ider4m"><h2 class="h--medium p-t-45">DOCA GPUNetIO</h2><p id="ipo7sr"><a href="https://docs.nvidia.com/doca/sdk/doca+gpunetio/index.html" id="icoyf5">DOCA GPUNetIO</a> enables GPU-centric solutions that remove the CPU from the critical path. Used in Aerial, it provides optimized IO and packet processing by exchanging packets directly between GPU memory and a GPUDirect®-capable NVIDIA DPU. This enables fast IO processing and direct-memory access (DMA) technology to unleash the full potential of inline acceleration.<br><br>Read Blog: <a href="https://developer.nvidia.com/blog/inline-gpu-packet-processing-with-nvidia-doca-gpunetio/" id="ixrvv4">DOCA GPUNetIO for Aerial Inline Processing</a>.<br></p></div></div><div class="row"><div id="iuamwz"><img alt="NVIDIA DOCA GPUNetIO is a new DOCA library with GPU and CUDA drivers installed on the same platform" src="https://developer.download.nvidia.com/images/aerial/doca-image-gpunetio@2x.png" class="img-fluid"></div></div></div><div class="container"><div class="row"><div id="idxf4y"><h2 class="h--medium p-t-45">Aerial Cloud-Native Technologies</h2><p id="i801p9">The NVIDIA Aerial platform’s cloud-native architecture allows RAN functions to be realized as microservices in containers orchestrated and managed by Kubernetes. <br><br>The <a href="https://catalog.ngc.nvidia.com/orgs/nvidia/containers/gpu-operator" id="iueik7" target="_blank">NVIDIA GPU Operator</a> uses the operator framework within Kubernetes to automate the management of all NVIDIA software components needed to provision a GPU. The <a href="https://catalog.ngc.nvidia.com/orgs/nvidia/teams/cloud-native/containers/network-operator" id="ipk5fh" target="_blank">NVIDIA Network Operator</a> works with the GPU Operator to enable GPUDirect RDMA on compatible systems. The goal of the Network Operator is to manage the networking-related components, while enabling execution of RDMA and GPUDirect RDMA workloads in a Kubernetes cluster. <br><br><a href="/cloud-native" id="ivaez5">Cloud-native</a> vDU and vCU RAN software suites are designed to be fully open and automated for deployment and consolidated operation, supporting 3GPP and O-RAN interfaces on private, public, or hybrid cloud infrastructure. It leverages the benefits of cloud-native architecture, including horizontal and vertical scaling, autohealing, and redundancy.<br></p></div></div><div class="row"><div id="iqqydg"><img alt="A diagram showing how Aerial cloud native technologies facilitate RAN functions" src="https://developer.download.nvidia.com/images/aerial/cloud-native-stack@2x.png" class="img-fluid"></div></div></div><p class="mb-0"></p><hr class="separator separator--md"><section class="page__section page__second-section pb-0 pt-0"><h2 class="h--medium section__heading toc-item p-t-45">Use Cases</h2><div class="row cards-grid--60"><div class="col-sm-10 grid-col col-md-6 col-lg-6"><h3 class="h--smaller mb-0">Public Telco vRAN</h3><div class="separator separator--30"></div><p class="mb-0">Public telco vRAN is a full-stack solution built on NVIDIA Aerial CUDA-Accelerated RAN and running on NVIDIA accelerated computing hardware. This high-performance, software-defined, fully programmable, cloud-native, AI-enabled solution can support multiple O-RAN configurations with the same hardware.</p></div><div class="col-sm-10 grid-col col-lg-6 col-md-6"><h3 class="h--smaller mb-0">Private 5G for Enterprises</h3><div class="separator separator--30"></div><p class="mb-0">Using NVIDIA’s Aerial CUDA-Accelerated RAN platform, enterprises and CSPs can deploy AI on 5G, simplifying deployment of AI applications over private 5G networks. NVIDIA accelerated computing provides a unified platform that brings together developments in AI and 5G at the edge to accelerate the digital transformation of enterprises across all industries.</p></div><div class="col-sm-10 grid-col col-md-6 col-lg-6"><h3 class="h--smaller mb-0">AI and 5G Data Center</h3><div class="separator separator--30"></div><p class="mb-0">The Aerial CUDA-Accelerated RAN platform supports multi-tenant workloads like generative AI and 5G in the same infrastructure. With this solution, telcos and CSPs can improve utilization by running gen AI and RAN on the same data center. This realizes the vision of “<a href="/blog/ran-in-the-cloud-delivering-cloud-economics-to-5g-ran/" id="i6mcpz">RAN-in-the-Cloud</a>,” delivering the best flexibility, total cost of ownership, and return on investment.</p></div><div class="col-sm-10 grid-col col-md-6 col-lg-6"><h3 class="h--smaller mb-0">6G Research</h3><div class="separator separator--30"></div><p class="mb-0">Aerial CUDA-Accelerated RAN is part of the NVIDIA 6G Research Cloud Platform, which provides access to a suite of tools and frameworks for academic and industry-based researchers. A primary focus for the 6G Research Cloud Platform is to facilitate research that brings AI and machine learning to all layers of the telecom stack, enabling research spanning RAN L1, L2, and core nodes.</p></div></div></section><section class="page__section pt-0 pb-0"></section><section class="page__section pt-0"><hr class="separator separator--md"><h2 class="h--medium section__heading toc-item">Resources</h2><div class="row"><div class="col-lg-4 col-md-6 col-sm-10 col-lg-6"><ul id="i2loqq" class="nv-list"><li id="izhao7" data-icon="newspaper"><div><p class="mb-0">Read <a id="ioiy01-2" href="/blog/enhanced-du-performance-and-workload-consolidation-for-5g-6g-with-aerial-cuda-accelerated-ran/" title="Read the latest blog about NVIDIA Aerial CUDA-Accelerated RAN">Enhanced DU Performance and Workload Consolidation for 5G/6G with NVIDIA Aerial CUDA-Accelerated RAN</a></p></div></li><li data-icon="link" id="i5oowt"><div><a href="/aerial/" title="Learn more about NVIDIA Aerial" class="gjs-selected">Learn More About NVIDIA Aerial</a></div></li><li data-icon="lock" id="izfya1"><div><a href="/aerial/" title="Learn more about NVIDIA Aerial" class="gjs-selected"></a><a id="itmirh-2" href="/6g-program/members" title="Join and access 6G Developer Program member are" class="gjs-selected">Visit the 6G Developer Program Member Area</a></div></li></ul></div><div class="col-lg-4 col-md-6 col-sm-10 col-lg-6"><ul class="nv-list"><li data-icon="desktop" id="i2ngdi"><div><p class="mb-0">Watch <a href="https://www.nvidia.com/en-us/on-demand/session/gtc24-s62516/" id="ieyc1t" target="_blank">vRAN Next: Driving Innovation in Wireless Towards 6G</a><br></p></div></li><li data-icon="desktop" id="i0qzul"><p id="iger3j">Watch <a href="https://www.nvidia.com/en-us/on-demand/session/gtc24-s62784/" id="izojzi" target="_blank">Democratizing AI-RAN and 6G Research</a></p></li><li data-icon="newspaper" id="ige7a7"><p id="ikh8nf">View <a href="https://docs.nvidia.com/aerial/cuda-accelerated-ran/index.html" id="iv4wpk" target="_blank">Technical Documentation</a></p></li></ul></div></div></section><section class="page__section pt-0 pb-0"></section><section class="page__section pt-0 pb-0"></section><section class="toc-item"><h1 id="ilgbev" class="text-center h--medium"><span id="docs-internal-guid-edcfc809-7fff-a667-2056-f7652e101786"></span></h1><section title="6G Developer Program" class="page__section page__section--light-gray page__last-section page__cta-section"><h2 id="ikp62f" title="6G Developer Program" class="h--medium toc-item text-center">Join the 6G Developer Program</h2><p class="p--large lead text-center text-color-gray mb-0">Developers and researchers in the 6G Developer Program get access to software, documentation, and resources.</p><div class="separator separator--60"></div><p class="text-center mb-0"><a href="/6g-program" class="btn btn-cta">Join Now</a></p></section></section></main></div><div class="col-xl-1 col-separator"></div><div class="col-xl-2 col-lg-3 col-md-12 col-sm-10 col-sidebar"><aside class="page__sidebar with-sticky-nav"><div class="page-navigation-container"><div class="page-quick-links"><p class="p--small page-quick-links__header">Quick Links</p><ul><li id="itdhmi"><a href="/6g-program/members" class="link-cta page-quick-links__link">6G Developer Program Member Area</a></li></ul></div><hr><div data-react-class="PageNavigation" data-react-props="{"draggable":"true","editable":"true","id":"iljx1n"}" data-react-cache-id="PageNavigation-iljx1n"></div></div></aside></div></div></div><div class="separator separator--90 phone-0"></div></div> </div> <div id='footer' class='mt-auto'></div> <script type="text/javascript"> (() => { const handleQuotesBlock = (quotesBlock, idx) => { const blockquotes = quotesBlock.querySelectorAll('blockquote'); if (blockquotes.length < 1) { return; } const navContainer = document.createElement('ul'); navContainer.classList.add('quotes-list-navigation'); for (let i = 0; i < blockquotes.length; i++) { let navItem = document.createElement('li'); let btn = document.createElement('button'); btn.type = 'button'; btn.dataset['group'] = idx.toString(); btn.dataset['length'] = blockquotes.length.toString(); btn.value = i.toString(); btn.addEventListener('click', (e) => { const group = e.target.dataset['group']; const groupActiveButtons = document.querySelectorAll(`button[data-group="${group}"].active`); groupActiveButtons.forEach((activeButton) => { activeButton.classList.remove('active'); }); e.target.classList.add('active'); const viewPortWidth = quotesBlock.getBoundingClientRect().width; const clickedSlide = parseInt(e.target.value); quotesBlock.querySelector('.quotes-list').style.transform = `translate(-${viewPortWidth * clickedSlide}px)`; }); navItem.appendChild(btn); navContainer.appendChild(navItem); if (i === 0) { btn.click(); } } quotesBlock.appendChild(navContainer); }; const refreshQuotesBlock = () => { document.querySelectorAll('.quotes-list-navigation button.active').forEach((b) => { const currentItem = parseInt(b.value); const maxItem = parseInt(b.dataset['length']); const group = parseInt(b.dataset['group']); const next = currentItem + 1; if (next < maxItem) { document.querySelectorAll(`button[data-group="${group}"]`)[next].click(); } else { document.querySelectorAll(`button[data-group="${group}"]`)[0].click(); } }); }; const refreshInterval = 4000; const quotesBlocks = document.querySelectorAll('.quotes-list-viewport'); if (quotesBlocks.length) { quotesBlocks.forEach(handleQuotesBlock); setInterval(refreshQuotesBlock, refreshInterval); } })(); </script> <script type="text/javascript" charset="utf-8"> (() => { const doInit = (accordionRoot, idx) => { const baseID = `page-accordion-${idx}`; accordionRoot.id = baseID; const headings = accordionRoot.querySelectorAll('.accordion-header'); if (!headings.length) { return; } const collapseElements = accordionRoot.querySelectorAll('.accordion-collapse'); headings.forEach((headingElement, idx) => { const headingID = `${baseID}-heading-${idx}`; const targetID = `${baseID}-target-${idx}`; headingElement.id = headingID; const headingButton = headingElement.querySelector('.accordion-button'); if (!headingButton) { return; } headingButton.type = 'button'; headingButton.dataset['bsToggle'] = 'collapse'; headingButton.dataset['bsTarget'] = `#${targetID}`; headingButton.setAttribute('aria-expanded', true); headingButton.setAttribute('aria-controls', targetID); headingButton.setAttribute('role', 'button'); if (!collapseElements[idx].classList.contains('show')) { headingButton.classList.add('collapsed'); } collapseElements[idx].id = targetID; collapseElements[idx].setAttribute('aria-labelledby', headingID); }); new bootstrap.Collapse(accordionRoot); }; const initAccordions = () => { const accordions = document.querySelectorAll('section.page__section div.accordion'); if (!accordions.length) { return; } let accordionIndex = 0; accordions.forEach((accordion) => { doInit(accordion, accordionIndex); accordionIndex += 1; }); }; document.addEventListener('DOMContentLoaded', initAccordions) })(); </script> <script src="https://dirms4qsy6412.cloudfront.net/assets/grapesjs-tabs-f0b094476ecf56695b765f533e437303138b1e0824d993c50ff672e16dcccd8f.js"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/legacy-chart/d3.v4.min-41cfecdf7c41476e805de7afacf4aacdd1a4be6947fbecf95217e947ebc2faf5.js"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/legacy-chart/visualize-d-06443fdef48364af6635f0d1d3535da26910671f6f6a680c531eff0e54ed595f.js"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/momentjs/moment-b955adb4137f92dd932ff2c3179ce60cb5e1daed5fcc4423f95cf17df02b4d68.js"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/momentjs/moment-timezone-with-data-10-year-range-dd05517070a46fa0052f9e706803d57a4fc38c1a223137ab480369e6308ba8d4.js"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/calendar-256ba38a1da92b24c057388ff6623eddd4cf1498f51d1a389cc4dfac501ab87c.js"></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://api-prod.nvidia.com/search/nvidia-gallery-widget.js"></script> <script src="https://dirms4qsy6412.cloudfront.net/assets/nv-gallery-widget-3773782f8ce6c8c8a941c2b9081c011da255a54832177fb8bd2e6c7967d37182.js"></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/798-8f26177f1189c7399fb3.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/367-0b2e82a8016bebbc82b5.js" defer="defer"></script> <script src="https://dirms4qsy6412.cloudfront.net/packs/js/900-34f3bf570904cbfb5a16.js" defer="defer"></script> <script src="https://dirms4qsy6412.cloudfront.net/packs/js/application-54bf18784eb1ee5cdece.js" defer="defer"></script> <script src="https://dirms4qsy6412.cloudfront.net/packs/js/ls_track-4ba11c63b23b3f4ff0d5.js" defer="defer"></script> </body> </html>