CINXE.COM
Merlin HugeCTR :深入研究性能优化 | GTC China 2020 | NVIDIA On-Demand
<!DOCTYPE HTML> <!--[if lt IE 7]><html class="html-page no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if IE 7]><html class="html-page no-js lt-ie9 lt-ie8"> <![endif]--> <!--[if IE 8]><html class="html-page no-js lt-ie9"> <![endif]--> <!--[if gt IE 8]><!--> <html class="html-page no-js" xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="zh-cn" xml:lang="zh-cn" ><!--<![endif]--> <head> <!-- Added for weibo metatags to gtc page template --> <!-- End of weibo metatags to gtc page template --> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="robots" content="NOODP,NOYDIR"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="keywords" content="Session details"> <meta name="description" content="NVIDIA Merlin 是一个开放的 beta 应用程序框架和生态系统,可在 NVIDIA GPU 上进行端到端的推荐系统开发。 在本次演讲中,我们从性能优化的角度深入研究了 HugeCTR,它是 Merlin 的培训组件。 如果您有兴趣了解现代推荐系统面临的性能瓶颈以及我们如何使用 HugeCTR 解决"> <meta property="og:site_name" content="NVIDIA"> <meta property="og:type" content="website"> <meta property="og:url" content="https://www.nvidia.cn/on-demand/session/gtccn2020-cns20516/"> <meta property="og:title" content="Merlin HugeCTR :深入研究性能优化 | GTC China 2020 | NVIDIA On-Demand"> <meta property="og:description" content="NVIDIA Merlin 是一个开放的 beta 应用程序框架和生态系统,可在 NVIDIA GPU 上进行端到端的推荐系统开发。 在本次演讲中,我们从性能优化的角度深入研究了 HugeCTR,它是 Merlin 的培训组件。 如果您有兴趣了解现代推荐系统面临的性能瓶颈以及我们如何使用 HugeCTR 解决"> <meta name="nv-pub-date" content="2020-12-17T00:00:00Z"> <meta property="og:image" content="https://cdnsecakmi.kaltura.com/p/2935771/thumbnail/entry_id/1_ff4id8d9/width/1200"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="”@NVIDIA”"> <meta name="twitter:creator" content="”@NVIDIA”"> <meta name="twitter:title" content="Merlin HugeCTR :深入研究性能优化 | GTC China 2020 | NVIDIA On-Demand"> <meta name="twitter:url" content="https://www.nvidia.cn/on-demand/session/gtccn2020-cns20516/"> <meta name="twitter:description" content="NVIDIA Merlin 是一个开放的 beta 应用程序框架和生态系统,可在 NVIDIA GPU 上进行端到端的推荐系统开发。 在本次演讲中,我们从性能优化的角度深入研究了 HugeCTR,它是 Merlin 的培训组件。 如果您有兴趣了解现代推荐系统面临的性能瓶颈以及我们如何使用 HugeCTR 解决"> <meta name="twitter:image" content="https://cdnsecakmi.kaltura.com/p/2935771/thumbnail/entry_id/1_ff4id8d9/width/1200"> <meta property="fb:app_id" content="1679326302390196"/> <meta property="products" content="On Demand"> <meta property="industry" content="HPC / Scientific Computing"> <meta name="ps-key" content="1781-57d9f03d015405367a598032"> <meta name="ps-country" content="CN" /> <meta name="ps-language" content="zh" /> <link rel="canonical" href="https://www.nvidia.cn/on-demand/session/gtccn2020-cns20516/"> <meta property="event_id" content="gtccn2020"> <meta property="event_name" content="GTC China"> <meta property="event_year" content="2020"> <meta property="event_sessionId" content="gtccn2020-cns20516"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "VideoObject", "name": "Merlin HugeCTR :深入研究性能优化 | GTC China 2020 | NVIDIA On-Demand", "description": "NVIDIA Merlin 是一个开放的 beta 应用程序框架和生态系统,可在 NVIDIA GPU 上进行端到端的推荐系统开发。 在本次演讲中,我们从性能优化的角度深入研究了 HugeCTR,它是 Merlin 的培训组件。 如果您有兴趣了解现代推荐系统面临的性能瓶颈以及我们如何使用 HugeCTR 解决", "thumbnailUrl": "https://cdnsecakmi.kaltura.com/p/2935771/thumbnail/entry_id/1_ff4id8d9/width/1200", "contentUrl": "https://www.nvidia.cn/on-demand/session/gtccn2020-cns20516/", "uploadDate": "2020-12-17T00:00:00Z", "duration": "PT2616S" } </script> <meta property="event_sessionPrimaryTopic" content="Performance Optimization & Profiling"> <meta property="event_sessionIndustry" content="Supercomputing"> <meta property="event_sessionAudienceLevel" content="Advanced Technical"> <meta property="search_roles" content="developer"> <script src="/etc.clientlibs/clientlibs/granite/jquery.min.cee8557e8779d371fe722bbcdd3b3eb7.js"></script> <script src="/etc.clientlibs/clientlibs/granite/utils.min.4a192b590a2c2926fb000264370c0588.js"></script> <script src="/etc.clientlibs/foundation/clientlibs/shared.min.e9d9a3990d7779c2e8e3361187f3d36b.js"></script> <script src="/etc/designs/nvidiaGDC/clientlibs_foundation.min.026a51fcf3ffe653efd9f26b54a56ad6.js"></script> <script type="text/javascript" src="https://www.nvidia.cn/assets/cn/onetrust/scripttemplates/otSDKStub.js" charset="UTF-8" data-domain-script="1984719c-04aa-48de-8c22-5174bdf5c0ed" data-document-language="true"> </script> <script> function OptanonWrapper() { var event = new Event('bannerLoaded'); window.dispatchEvent(event); } </script> <script type="text/javascript" src="https://www.nvidia.cn/assets/cn/onetrust/scripttemplates/nv-ot-custom.js"></script> <script src="https://images.nvidia.cn/aem-dam/zh_cn/adobe-launch/5d4962a43b79/e5580b866f79/launch-6292db5ae64c.min.js"></script> <!-- condition test for the old breakpoints to load defaulted to new breakpoints --> <link rel="stylesheet" href="/etc/designs/nvidiaGDC/clientlibs_cn_v2.min.bda578aadd2bbea36442568530780bc6.css" type="text/css"> <!-- End of condition for the old breakpoints --> <link rel="stylesheet" href="/etc/designs/nvidiaGDC/clientlibs-deep-learning.min.1c9e4f354a94f48c150e253bc98adfbf.css" type="text/css"> <link rel="stylesheet" href="/etc/designs/nvidiaGDC/clientlibs-locales.min.49234a64896bf33a5fa37485d66f0bb4.css" type="text/css"> <!-- Condition for whether clientlibs v3 is included --> <!-- Added for weibo metatags to driver gtc page template --> <!-- End of weibo metatags to gtc page template --> <script type="text/javascript"> var NVIDIAGDC = NVIDIAGDC || {}; ;(function ( nvidiaGDC ){ nvidiaGDC.addProperty = function(obj, name, val){ if (!obj && !name){ return; } nvidiaGDC[obj] = nvidiaGDC[obj] || {}; if(typeof val != "undefined" && val != null){ if(!nvidiaGDC[obj].hasOwnProperty(name) || !nvidiaGDC[obj][name]){ nvidiaGDC[obj][name] = val; } } }; nvidiaGDC.addProperty('nod', 'gattedMsg', 'Login and join the free NVIDIA Developer Program to view this content.'); nvidiaGDC.addProperty('nod', 'gattedfileMsg', 'Login and join the free NVIDIA Developer Program to read this PDF.'); nvidiaGDC.addProperty('nod', 'usergattedMsg', 'Join the free NVIDIA Developer Program to view this content.'); nvidiaGDC.addProperty('nod', 'usergattedfileMsg', 'Join the free NVIDIA Developer Program to read this PDF.'); nvidiaGDC.addProperty('nod', 'starfleetRedirect', 'https://www.nvidia.com/auth/?client_id=VjclBI-aX9TkJYWklBkyDI-gXTFrjY6yHz8I-OdQlP4'); nvidiaGDC.addProperty('nod', 'SearchLandigPage', 'https://www.nvidia.cn/on-demand/search/'); nvidiaGDC.addProperty('nod', 'SessionDetailsPage', 'https://www.nvidia.cn/on-demand/session/'); nvidiaGDC.addProperty('nod', 'srvcendpoint', 'https://api-prod.nvidia.cn'); nvidiaGDC.addProperty('nod', 'PlaylistDetailsPage', 'https://www.nvidia.cn/on-demand/playlist/'); nvidiaGDC.addProperty('nod', 'MyProfilePage', 'https://www.nvidia.cn/on-demand/my-profile/'); nvidiaGDC.addProperty('nod', 'search', 'https://images.nvidia.cn/eup/nvidia-search-library.js'); nvidiaGDC.addProperty('nod', 'searchsrvc', 'https://api-prod.nvidia.cn/search/graphql'); nvidiaGDC.addProperty('nod', 'roles', 'developer'); nvidiaGDC.addProperty('Accounts', 'LoginGatePage', 'https://www.nvidia.cn/account/login-gate/'); nvidiaGDC.addProperty('Accounts', 'LoginPage', 'https://www.nvidia.cn/account/'); nvidiaGDC.addProperty('Accounts', 'accountsJarvisSrvcBase', 'https://accounts.nvgs.nvidia.com'); nvidiaGDC.addProperty('Accounts', 'accountsJarvisHeaderMagicValue', ''); nvidiaGDC.addProperty('Accounts', 'accountsJarvisHeaderCFGRefereID', 'Account Mini-Site'); nvidiaGDC.addProperty('apps', 'endpoint', 'https://api-prod.nvidia.cn'); nvidiaGDC.addProperty('web', 'env', 'p-prod'); nvidiaGDC.addProperty('apps', 'searchjs', 'https://api-prod.nvidia.cn/search/nvidia-search-page-widget.js'); nvidiaGDC.addProperty('apps', 'searchsrvc', 'https://api-prod.nvidia.cn/search/graphql'); nvidiaGDC.addProperty('web', 'q1', 'gtccn2020-cns20516'); nvidiaGDC.addProperty('web', 'q2', ''); nvidiaGDC.addProperty('web', 'q3', ''); nvidiaGDC.addProperty('nod', 'promoimg', ''); nvidiaGDC.addProperty('nod', 'promourl', ''); })(NVIDIAGDC); </script> <!-- condition test for the old breakpoints to load defaulted to new breakpoints --> <script src="/etc/designs/nvidiaGDC/clientlibs_preload_v2.min.8fb663f505750705dc86f847f14ae5d4.js"></script> <!-- End of condition for the old breakpoints --> <!--[if (gte IE 6)&(lte IE 8)]> <![endif]--> <!-- <noscript><link rel="stylesheet" href="[fallback css]" /></noscript> --> <script type="text/javascript"> var nvidiaGDClogqueue = []; var nvidiaGDClog = function() { nvidiaGDClogqueue.push(arguments) }; ;(function ( nvidiaGDC ){ nvidiaGDC.SC = nvidiaGDC.SC || {}; nvidiaGDC.SC.vars = nvidiaGDC.SC.vars || {}; nvidiaGDC.SC.vars.pageTemplate = "/apps/nvidiaGDC/templates/nodPage".toLowerCase(); var nvidiaGDCFunctionQueue = function(){ this.queue = []; }; nvidiaGDCFunctionQueue.prototype.addToQueue = function(funcItem){ nvidiaGDClog("funcqueue/add"); nvidiaGDClog(funcItem); this.queue.push(funcItem); }; nvidiaGDCFunctionQueue.prototype.clearQueue = function(){ this.queue.length = 0; }; nvidiaGDCFunctionQueue.prototype.executeQueue = function(){ var nQueueLength = this.queue.length; var sTargetID, sMethodName, aParams, $targetElement, fMethod; for (var i = 0; i < this.queue.length; i++) { try { var funcItem = this.queue[i]; if (typeof funcItem === 'object') { nvidiaGDClog("funcqueue/object: " + funcItem['method']); sTargetID = funcItem['id']; sMethodName = funcItem['method']; aParams = funcItem['params']; $targetElement = $(document.getElementById(sTargetID)); fMethod = $targetElement[sMethodName]; fMethod.apply($targetElement, aParams); } else if (typeof funcItem === 'string' && nvidiaGDC.Func) { nvidiaGDClog("funcqueue/string: " + funcItem); console.log("funcqueue/string: " + funcItem); if (typeof nvidiaGDC.Func[funcItem] === 'function') { nvidiaGDC.Func[funcItem].call(); } } } catch(err) { if (typeof console == "object") { nvidiaGDClog("Error running script - " + err + " (Has plugin been included?)"); nvidiaGDClog({ "sTargetID" : sTargetID, "sMethodName" : sMethodName, "aParams" : aParams, "$targetElement" : $targetElement, "fMethod" : fMethod }); } } } this.clearQueue(); }; nvidiaGDC.funcQueue = nvidiaGDC.funcQueue || new nvidiaGDCFunctionQueue(); })(NVIDIAGDC); </script> <style> .rawHtml li { list-style: none; } .tabcomp .tabs>li { list-style: none; } ul { padding-left: 12px; } @media screen and (min-width: 690px){ .cleanslate .gallery-wrapper .prev { margin: 0px 0px 0px -35px; } .cleanslate .gallery-wrapper .next { margin: 0px -35px 0px 0px; } } .heroBanner .slider-container .search-input-wrapper input{ display: block; } #myprofile,#myprofile-mob{ display: none; } .theme-nodpage .heroBanner .slider-container #slides1 .overflow { overflow-x: visible; } .heroBanner .cleanslate .nvidia-on-demand .search-form-container { margin: 7.5px 7.5px 7.5px 0px; } </style> <title>Merlin HugeCTR :深入研究性能优化 | GTC China 2020 | NVIDIA On-Demand</title> <style> body #page-content { overflow-x: initial; } body.base_v4.v4_design .rawHtml .vjs-icon-picture-in-picture-enter,body.base_v4.v4_design .rawHtml .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder, body.base_v4.v4_design .rawHtml span:lang(zh-cn).vjs-icon-cog, body.base_v4.v4_design .rawHtml .vjs-icon-subtitles,body.base_v4.v4_design .rawHtml .video-js .vjs-subs-caps-button .vjs-icon-placeholder,body.base_v4.v4_design .rawHtml .video-js .vjs-subtitles-button .vjs-icon-placeholder, body.base_v4.v4_design .rawHtml .vjs-icon-fullscreen-enter,body.base_v4.v4_design .rawHtml .video-js .vjs-fullscreen-control .vjs-icon-placeholder, body.base_v4.v4_design .rawHtml .vjs-icon-volume-high, body.base_v4.v4_design .rawHtml .video-js .vjs-mute-control .vjs-icon-placeholder, body.base_v4.v4_design .rawHtml .vjs-icon-play, body.base_v4.v4_design .rawHtml .video-js .vjs-play-control .vjs-icon-placeholder, body.base_v4.v4_design .rawHtml .video-js .vjs-big-play-button .vjs-icon-placeholder:before { font-family: VideoJS !important; } .navigation .global-nav .nav-header-container .nav-tools-container .nav-header-list .nav-header-item #nod-login, .navigation .global-nav .nav-header-container .nav-tools-container .nav-header-list .nav-header-item #nod-logout { background-color: #76b900; color: #fff; } .Spinner { height: 70px; width: 70px; animation: 0.7s linear 0s infinite normal none running spin; border-color: transparent rgb(118, 185, 0) rgb(118, 185, 0); border-width: 5px; border-style: solid; border-radius: 50%; } </style> <script> NVIDIAGDC.nod.gattedMsg = "登录或加入免费的 NVIDIA 开发者计划以查看精彩内容。" NVIDIAGDC.nod.gattedfileMsg = "登录或加入免费的 NVIDIA 开发者计划以阅读此 PDF。" NVIDIAGDC.nod.usergattedMsg = "加入免费的 NVIDIA 开发者计划以查看精彩内容。" NVIDIAGDC.nod.usergattedfileMsg = "加入免费的 NVIDIA 开发者计划以阅读此 PDF。" </script> </head> <body class="body-page theme-zh-cn theme-nodpage v4_design base_v4" data-edit-mode> <header id="main-header"> <div class="navigation"> <nav class="global-nav" id="navigation7c958213_5d3c_4994_8d14_07e61956a5e1"> <div class="nav-header"> <div class="nav-header-container"> <div class="brand-container"> <a class="brand-link pull-left" href="https://www.nvidia.cn/" title='NVIDIA 引领人工智能计算' alt='NVIDIA 引领人工智能计算'> <svg enable-background="new 0 0 974.7 179.7" version="1.1" viewBox="0 0 974.7 179.7" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" width="110" height="44"> <title>NVIDIA 引领人工智能计算</title> <path d="m962.1 144.1v-2.7h1.7c0.9 0 2.2 0.1 2.2 1.2s-0.7 1.5-1.8 1.5h-2.1m0 1.9h1.2l2.7 4.7h2.9l-3-4.9c1.5 0.1 2.7-1 2.8-2.5v-0.4c0-2.6-1.8-3.4-4.8-3.4h-4.3v11.2h2.5v-4.7m12.6-0.9c0-6.6-5.1-10.4-10.8-10.4s-10.8 3.8-10.8 10.4 5.1 10.4 10.8 10.4 10.8-3.8 10.8-10.4m-3.2 0c0.2 4.2-3.1 7.8-7.3 8h-0.3c-4.4 0.2-8.1-3.3-8.3-7.7s3.3-8.1 7.7-8.3 8.1 3.3 8.3 7.7c-0.1 0.1-0.1 0.2-0.1 0.3z"/><path d="m578.2 34v118h33.3v-118h-33.3zm-262-0.2v118.1h33.6v-91.7l26.2 0.1c8.6 0 14.6 2.1 18.7 6.5 5.3 5.6 7.4 14.7 7.4 31.2v53.9h32.6v-65.2c0-46.6-29.7-52.9-58.7-52.9h-59.8zm315.7 0.2v118h54c28.8 0 38.2-4.8 48.3-15.5 7.2-7.5 11.8-24.1 11.8-42.2 0-16.6-3.9-31.4-10.8-40.6-12.2-16.5-30-19.7-56.6-19.7h-46.7zm33 25.6h14.3c20.8 0 34.2 9.3 34.2 33.5s-13.4 33.6-34.2 33.6h-14.3v-67.1zm-134.7-25.6l-27.8 93.5-26.6-93.5h-36l38 118h48l38.4-118h-34zm231.4 118h33.3v-118h-33.3v118zm93.4-118l-46.5 117.9h32.8l7.4-20.9h55l7 20.8h35.7l-46.9-117.8h-44.5zm21.6 21.5l20.2 55.2h-41l20.8-55.2z"/><path fill="#76B900" d="m101.3 53.6v-16.2c1.6-0.1 3.2-0.2 4.8-0.2 44.4-1.4 73.5 38.2 73.5 38.2s-31.4 43.6-65.1 43.6c-4.5 0-8.9-0.7-13.1-2.1v-49.2c17.3 2.1 20.8 9.7 31.1 27l23.1-19.4s-16.9-22.1-45.3-22.1c-3-0.1-6 0.1-9 0.4m0-53.6v24.2l4.8-0.3c61.7-2.1 102 50.6 102 50.6s-46.2 56.2-94.3 56.2c-4.2 0-8.3-0.4-12.4-1.1v15c3.4 0.4 6.9 0.7 10.3 0.7 44.8 0 77.2-22.9 108.6-49.9 5.2 4.2 26.5 14.3 30.9 18.7-29.8 25-99.3 45.1-138.7 45.1-3.8 0-7.4-0.2-11-0.6v21.1h170.2v-179.7h-170.4zm0 116.9v12.8c-41.4-7.4-52.9-50.5-52.9-50.5s19.9-22 52.9-25.6v14h-0.1c-17.3-2.1-30.9 14.1-30.9 14.1s7.7 27.3 31 35.2m-73.5-39.5s24.5-36.2 73.6-40v-13.2c-54.4 4.4-101.4 50.4-101.4 50.4s26.6 77 101.3 84v-14c-54.8-6.8-73.5-67.2-73.5-67.2z"/></svg> </a> </div> <div class="nav-tools-container"> <ul class="nav-header-list"> <div class="searchoverlay"></div> <li class="nav-header-item hide"> <div class="search-abort-container hide"> <a href="#" class="search-abort"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><defs><style>.cls-search {fill: #bdbdbd;fill-rule: evenodd;}</style></defs><path id="Close.svg_copy" data-name="Close.svg copy" class="cls-search" d="M1769,15.819L1767.18,14,1760,21.18,1752.82,14,1751,15.819,1758.18,23,1751,30.181,1752.82,32l7.18-7.181L1767.18,32l1.82-1.819L1761.82,23Z" transform="translate(-1751 -14)"></path></svg> </a> </div> </li> <li class="nav-header-item hide"> <a class="" href="#"> <svg class="nav-search-icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg> </a> <div class="search-main-section"> <div class="search-section"> <div class="search_white"> <div class="search-outter-container hide-wid-0"> <div class="search-inner-container"> <!-- Updated code for forming cx value to search input hidden parameter --> <form id="searchform" action="https://www.nvidia.cn/search/" class="search-form "> <input data-search-box-input="" class="search-box-input placeholder" type="text" id="search-terms" name="q" value="" placeholder="搜索 NVIDIA" autocomplete="off"> <input type="hidden" name="searchPath" id="search-path"> </form> <div class="search-icon-container"> <!-- <span class="search-icon"> </span> --> <svg class="nav-search-form-icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg> </div> </div> </div> </div> </div> </div> </li> <li class="nav-header-item hide"> <a id="nv-login" class="nav-profile-link" href="https://www.nvidia.cn/account/"> <svg class="nvprofileicon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><title>我的帐户</title><path fill="none" d="M0 0h24v24H0V0z"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM7.07 18.28c.43-.9 3.05-1.78 4.93-1.78s4.51.88 4.93 1.78C15.57 19.36 13.86 20 12 20s-3.57-.64-4.93-1.72zm11.29-1.45c-1.43-1.74-4.9-2.33-6.36-2.33s-4.93.59-6.36 2.33C4.62 15.49 4 13.82 4 12c0-4.41 3.59-8 8-8s8 3.59 8 8c0 1.82-.62 3.49-1.64 4.83zM12 6c-1.94 0-3.5 1.56-3.5 3.5S10.06 13 12 13s3.5-1.56 3.5-3.5S13.94 6 12 6zm0 5c-.83 0-1.5-.67-1.5-1.5S11.17 8 12 8s1.5.67 1.5 1.5S12.83 11 12 11z"/></svg> <!-- <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="20" height="20" viewBox="0 0 510 510" style="enable-background:new 0 0 510 510;" xml:space="preserve"><title>我的帐户</title><path fill="#ccc" d="M255,0C114.75,0,0,114.75,0,255s114.75,255,255,255s255-114.75,255-255S395.25,0,255,0z M255,76.5 c43.35,0,76.5,33.15,76.5,76.5s-33.15,76.5-76.5,76.5c-43.35,0-76.5-33.15-76.5-76.5S211.65,76.5,255,76.5z M255,438.6 c-63.75,0-119.85-33.149-153-81.6c0-51,102-79.05,153-79.05S408,306,408,357C374.85,405.45,318.75,438.6,255,438.6z"/></svg> --> </a> </li> <li class="nav-header-item login-button"> <a id="nod-login" style="display:none" href="#"><span>登录</span></a> <a id="nod-logout" style="display:none" href="#"><span>登出</span></a> </li> <div class="floatright"> <div class="navglobicon"> <ul> <li> <a id="nv-language" class="nav-langglobe-icon"> <svg class="nvlanguageicon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><defs><style>.a{fill:none;}.b{fill:#666;}</style></defs><path class="a" d="M0,0H24V24H0Z"/><path class="b" d="M11.99,2A10,10,0,1,0,22,12,10,10,0,0,0,11.99,2Zm6.93,6H15.97a15.649,15.649,0,0,0-1.38-3.56A8.03,8.03,0,0,1,18.92,8ZM12,4.04A14.087,14.087,0,0,1,13.91,8H10.09A14.087,14.087,0,0,1,12,4.04ZM4.26,14a7.822,7.822,0,0,1,0-4H7.64a16.515,16.515,0,0,0-.14,2,16.515,16.515,0,0,0,.14,2Zm.82,2H8.03a15.649,15.649,0,0,0,1.38,3.56A7.987,7.987,0,0,1,5.08,16ZM8.03,8H5.08A7.987,7.987,0,0,1,9.41,4.44,15.649,15.649,0,0,0,8.03,8ZM12,19.96A14.087,14.087,0,0,1,10.09,16h3.82A14.087,14.087,0,0,1,12,19.96ZM14.34,14H9.66a14.713,14.713,0,0,1-.16-2,14.585,14.585,0,0,1,.16-2h4.68a14.585,14.585,0,0,1,.16,2A14.713,14.713,0,0,1,14.34,14Zm.25,5.56A15.649,15.649,0,0,0,15.97,16h2.95A8.03,8.03,0,0,1,14.59,19.56ZM16.36,14a16.515,16.515,0,0,0,.14-2,16.515,16.515,0,0,0-.14-2h3.38a7.822,7.822,0,0,1,0,4Z"/></svg> <span>简中</span> </a> <ul> <li><a href="https://www.nvidia.cn/on-demand/">简中</a></li> <li><a href="https://www.nvidia.com/en-us/on-demand/">EN</a></li> <li><a href="https://www.nvidia.com/ja-jp/on-demand/">日本語</a></li> <li><a href="https://www.nvidia.com/zh-tw/on-demand/">繁中</a></li> <li><a href="https://www.nvidia.com/ko-kr/on-demand/">한국어</a></li> </ul> </li> </ul> </div> </div> </ul> </div> </div> <div id="unibrow-container" class="hide-unibrow"></div> </div> <div class="sub-brand-nav"> <div class="sub-brand-nav-container"> <div class="brand-nav-left fade "> <div id="sub-brand"> <a class="sub-brand-name " href="https://www.nvidia.cn/on-demand/"> <span class="sub-brand-label ">NVIDIA On-Demand</span> </a> </div> <div class="sub-brand-item" > <a href="https://www.nvidia.cn/on-demand/featured-playlist/" target="_self" class="sub-brand-link">精选播放列表</a> </div> <div class="sub-brand-item" id="myprofile" > <a href="https://www.nvidia.cn/on-demand/my-profile/" target="_self" class="sub-brand-link">我的频道</a> </div> <div class="sub-brand-item" id="faq" > <a href="https://www.nvidia.cn/on-demand/faq/" target="_self" class="sub-brand-link">常见问题解答</a> </div> <div class="sub-brand-item" id="advancesearch" > <a href="https://www.nvidia.cn/on-demand/search/?q=-&sort=date&headerText=All%20Sessions&expandFilter=true" target="_self" class="sub-brand-link">高级搜索</a> </div> <div class="sub-brand-item hide"> <span class="sub-brand-link"> <div class="more-dropdown"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21.4 5"><path d="M12613.6,1800.5a2.654,2.654,0,1,0-2.6,2.5A2.575,2.575,0,0,0,12613.6,1800.5Zm2.7,0a2.708,2.708,0,1,0,2.7-2.5A2.6,2.6,0,0,0,12616.3,1800.5Zm8.1,0a2.654,2.654,0,1,0,2.6-2.5A2.575,2.575,0,0,0,12624.4,1800.5Z" transform="translate(-12608.3 -1798)"/></svg></div> </span> <ul class="dropdown-menu bullet "> <li class="more-element hide"> <a href="https://www.nvidia.cn/on-demand/featured-playlist/">精选播放列表</a> </li> <li class="more-element hide"> <a href="https://www.nvidia.cn/on-demand/my-profile/">我的频道</a> </li> <li class="more-element hide"> <a href="https://www.nvidia.cn/on-demand/faq/">常见问题解答</a> </li> <li class="more-element hide"> <a href="https://www.nvidia.cn/on-demand/search/?q=-&sort=date&headerText=All%20Sessions&expandFilter=true">高级搜索</a> </li> <span class="nvArrow"></span> </ul> </div> </div> <div class="brand-nav-right bn-hide-mobile "> <!-- <a href="#" class="ic-menu" ></a> --> <a class="ic-menu unsubset" title="Menu"> <svg id="menu-icon" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24"> <line id="menu-line-top" class="menu-line" x1="1" y1="6" x2="23" y2="6" stroke-width="2.4" vector-effect="non-scaling-stroke" /> <line id="menu-line-mid" class="menu-line" x1="1" y1="12" x2="23" y2="12" stroke-width="2.4" vector-effect="non-scaling-stroke" /> <line id="menu-line-bot" class="menu-line" x1="1" y1="18" x2="23" y2="18" stroke-width="2.4" vector-effect="non-scaling-stroke" /> </svg> </a> </div> <div class="brand-nav-right bn-show-mobile "> <!-- <a href="#" class="ic-menu" ></a> --> <a class="ic-menu unsubset" title="Menu"> <svg id="menu-icon" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24"> <line id="menu-line-top" class="menu-line" x1="1" y1="6" x2="23" y2="6" stroke-width="2.4" vector-effect="non-scaling-stroke" /> <line id="menu-line-mid" class="menu-line" x1="1" y1="12" x2="23" y2="12" stroke-width="2.4" vector-effect="non-scaling-stroke" /> <line id="menu-line-bot" class="menu-line" x1="1" y1="18" x2="23" y2="18" stroke-width="2.4" vector-effect="non-scaling-stroke" /> </svg> </a> </div> </div> <div style="opacity: 0; " class="lightbox-background tablet-only hide"></div> <div class="mobile-menu-container background-color-black fade" style="display: none; opacity: 1; overflow: hidden; transition: all 0.1s;"> <div id="screen-bg" class="screen-background" style="display: block; opacity: 1;"></div> <ul class="mobile-menu"> <li><a href="https://www.nvidia.cn/on-demand/featured-playlist/" target="_self" class="brand-nav-link">精选播放列表</a></li> <li><a id="myprofile-mob" href="https://www.nvidia.cn/on-demand/my-profile/" target="_self" class="brand-nav-link">我的频道</a></li> <li><a id="faq-mob" href="https://www.nvidia.cn/on-demand/faq/" target="_self" class="brand-nav-link">常见问题解答</a></li> <li><a id="advancesearch-mob" href="https://www.nvidia.cn/on-demand/search/?q=-&sort=date&headerText=All%20Sessions&expandFilter=true" target="_self" class="brand-nav-link">高级搜索</a></li> </ul> </div> </div> <script> var searchPath = document.getElementById("search-path"); searchPath.value = window.location.pathname; NVIDIAGDC.funcQueue.addToQueue({ id : "navigation7c958213_5d3c_4994_8d14_07e61956a5e1", method : "navigation", params : [{ globalSite:false, breadCrumbAdded: false, enableSearchLibrary: false, searchOptions: { destination: "https://www.nvidia.cn/search/", apiUrl: "https://api-prod.nvidia.com/search/graphql", triggerId: 'nvidia-search-box-link', referenceId: 'nvidia-search-box-link' } }] }); NVIDIAGDC.isBrandPage = true NVIDIAGDC.isBrandPage2 = false; </script> </nav> </div> </header> <!--[if lt IE 9]> <div id="ie_compat_warning" class="site-warning"><span class="message">You are viewing this site using an out of date version of Internet Explorer. Some functionality may not work as required.</span><span class="remove"></span></div> <![endif]--> <noscript> <div class="no-js-warning">This site requires Javascript in order to view all its content. Please enable Javascript in order to access all the functionality of this web site. Here are the <a href="http://www.enable-javascript.com/" target="_blank">instructions how to enable JavaScript in your web browser.</a></div> </noscript> <script src="/assets/nvod/nvod-login.js"></script> <script src="https://images.nvidia.cn/eup/nvidia-search-library.js"></script> <div id="page-content" > <div class="content_par parsys"><div class="sectionenhanced parbase section"> <section class=" background- p-t-60 p-b-0 lap-p-t-60 lap-p-b-0 tab-p-t-30 tab-p-b-0 mob-p-t-0 mob-p-b-0 "> <div id="sectionenhancedaa2c764e_8272_48d9_8609_99ebc0282d17" class="general-container "> <div class="large-12 large-12 medium-12 small-12 center"> <div class="container"> <div class="page-section-par parsys"><div class="rawHtml section"> <div class=' p-t-0 p-b-0 lap-p-t-0 lap-p-b-0 mob-p-t-0 mob-p-b-0 tab-p-t-0 tab-p-b-0' > <div id="nvidia-event-details-widget"> <div class="Spinner"></div> </div> <script> var destinationSite = window.location.origin; var site = destinationSite; var language = $('html').attr('lang'); var voltronApiUrl = 'https://api-prod.nvidia.cn/nod/api/v1/'; var apiUrl = NVIDIAGDC.nod.searchsrvc; Granite.I18n.setLocale(language); var modalOptions = { inline: true, maxWidth: "1250", closeButton: true, href: '#dev-program', onComplete: function () { $.colorbox.resize(); }, }; var roles = ''; var jwtToken = ''; var searchJWTToken = ''; var logintextMsg = NVIDIAGDC.nod.gattedMsg; var lockedfileMsg = NVIDIAGDC.nod.gattedfileMsg; var anonToken=''; var emailToken=''; var addInfo={}; if (typeof NVIDIAGDC.nod.promoimg!== "undefined" && NVIDIAGDC.nod.promoimg!=='') { addInfo ={ imageUrl: NVIDIAGDC.nod.promoimg, redirectUrl :NVIDIAGDC.nod.promourl }; } function loadSessionwidget(){ if (typeof Cookies !== "undefined") { if ( typeof Cookies.get("nvweb_A") !== "undefined") { anonToken=Cookies.get("nvweb_A") ; } if ( typeof Cookies.get("nvweb_E") !== "undefined") { emailToken=Cookies.get("nvweb_E") ; } } if (typeof NVIDIAGDC.NOD!== "undefined" && NVIDIAGDC.NOD.getSession() && NVIDIAGDC.NOD.getSession().message!=='NO_SESSION') { //logged in console.log("logged in"); if (NVIDIAGDC.NOD.getSession().message==='EXPIRED_SESSION'){ console.log(" extend session"); // window.NVIDIAGDC.NOD.extendSession(); window.NVIDIAGDC.NOD.logout(); return; }else { jwtToken= NVIDIAGDC.NOD.getSession().id_token; } if (typeof Cookies !== "undefined" && typeof Cookies.get("nv.profile") !== "undefined") { roles = JSON.parse(decodeURI($.base64.decode(Cookies.get("nv.profile"))))["nv.program"]; logintextMsg = NVIDIAGDC.nod.usergattedMsg; lockedfileMsg = NVIDIAGDC.nod.usergattedfileMsg; searchJWTToken = JSON.parse(decodeURI($.base64.decode(Cookies.get("nv.profile"))))["jwtToken"]; updateSessionWidget(false,true,logintextMsg,lockedfileMsg,roles,jwtToken,searchJWTToken); } else if (typeof Cookies !== "undefined" && typeof Cookies.get("nv.profile") === "undefined") { var tokenAPI = "https://api-prod.nvidia.cn/nod/api/v1/kaltura/session/create"; logintextMsg = NVIDIAGDC.nod.usergattedMsg; lockedfileMsg = NVIDIAGDC.nod.usergattedfileMsg; $.ajax({ url: tokenAPI, headers: { Authorization: 'Bearer ' + jwtToken, }, xhrFields: { withCredentials: true }, success: function (data) { roles = JSON.parse(decodeURI($.base64.decode(Cookies.get("nv.profile"))))["nv.program"]; searchJWTToken = JSON.parse(decodeURI($.base64.decode(Cookies.get("nv.profile"))))["jwtToken"]; updateSessionWidget(false,true,logintextMsg,lockedfileMsg,roles,jwtToken,searchJWTToken); } }); }else{ roles="enterprise"; updateSessionWidget(false,true,logintextMsg,lockedfileMsg,roles,'',''); } } else { //not logged in logintextMsg = NVIDIAGDC.nod.gattedMsg; lockedfileMsg = NVIDIAGDC.nod.gattedfileMsg; updateSessionWidget(false,false,logintextMsg,lockedfileMsg,'','',''); } } function updateSessionWidget(remount,activeSession,videoMsg,filemsg,userRole,jwtTvalue,searchTvalue) { console.log(" remount"+remount); if(remount){ NvidiaSearchLibrary.EventSessionDetailsWidget.unmount(); } NvidiaSearchLibrary.EventSessionDetailsWidget.mount({ site: site, language: language, voltronApiUrl: voltronApiUrl, apiUrl: apiUrl, sessionId: NVIDIAGDC.web.q1, jwtToken: jwtTvalue, onLogin: () => { if (activeSession) { $.colorbox(modalOptions); } else { NVIDIAGDC.NOD.login() } }, onLogout: () => { }, accessRoles: userRole, loginText: videoMsg, lockedFileText: filemsg, onSeeAllSessions: (speakerName) => { window.location.href = NVIDIAGDC.nod.SearchLandigPage + "?q=" + speakerName; }, searchApiUrl: apiUrl, searchToken: searchTvalue, uiConfId: '50468382', showSessionRating: true, hideFacebookTwitter: true, useVideoJsPlayer: true, forChina: true, anonToken: anonToken, adInfo: addInfo }); } NVIDIAGDC.Browser.reMountAll = function () { if (typeof NVIDIAGDC.NOD!== "undefined" && NVIDIAGDC.NOD.getSession()) { }else { NvidiaSearchLibrary.EventSessionDetailsWidget.unmount(); loadSessionwidget(); } if (NVIDIAGDC.web.q1.split("-")[0] === 'omniverse2020') { NvidiaSearchLibrary.GalleryWidget.unmount(); updatePromoWidget(); } } loadSessionwidget(); </script> </div> </div> </div> </div> </div> </div> </section> <script type="text/javascript"> NVIDIAGDC.funcQueue.addToQueue({ id : "sectionenhancedaa2c764e_8272_48d9_8609_99ebc0282d17", method : "sectionEnhancedComponent", params : [{ imageDesktopUrl:' ', imageLaptopUrl:' ', imageTabletUrl:' ', imageMobileUrl:' ', secpageobpvalue: 'false', sectionurl: '', sectionurltarget: '_self', secCustBgColor:'#f1f1f1' }] }); </script> <!-- Horizontal divider Line Starts here --> <!-- Horizontal divider Line Ends here --> </div> <div class="sectionenhanced parbase section"> <section id="searchLink" class=" background- p-t-0 p-b-0 lap-p-t-0 lap-p-b-0 tab-p-t-0 tab-p-b-0 mob-p-t-0 mob-p-b-0 "> <div id="sectionenhanced_copy69472dcd_0347_4dfb_b6df_8659e8e75505" class="general-container "> <div class="large-12 large-12 medium-12 small-12 center"> <div class="container"> <div class="page-section-par parsys"><div class="rawHtml section"> <div class=' p-t-0 p-b-30 lap-p-t-0 lap-p-b-30 mob-p-t-0 mob-p-b-15 tab-p-t-0 tab-p-b-30' > <div id="nvidia-gallery-widget1" class="widget"></div> <script> (function() { var destinationSite = window.location.origin; var site = destinationSite; var language = $('html').attr('lang'); var voltronApiUrl = 'https://api-prod.nvidia.com/services/nod/api/v1/'; var apiUrl = NVIDIAGDC.nod.searchsrvc; var jwtToken = ''; var searchJWTToken = ''; var roles = ''; var searchInput1 = { query: '-', maxResults: '12', sortType: 'date', }; function updatePromoWidget() { if (typeof NVIDIAGDC.NOD !== "undefined" && NVIDIAGDC.NOD.getSession()) { jwtToken = NVIDIAGDC.NOD.getSession().id_token; if (typeof Cookies !== "undefined" && typeof Cookies.get("nv.profile") !== "undefined") { searchJWTToken = JSON.parse(decodeURI($.base64.decode(Cookies.get("nv.profile"))))["jwtToken"]; roles = JSON.parse(decodeURI($.base64.decode(Cookies.get("nv.profile"))))["nv.program"]; } ; } NvidiaSearchLibrary.GalleryWidget.mount({ elementId: 'nvidia-gallery-widget1', searchInput: searchInput1, site: site, language: language, voltronApiUrl: voltronApiUrl, apiUrl: apiUrl, forChina: true, facetFilters: { event_name: ['Omniverse'], event_sessionType: ['Tutorial'] }, header: '观看更多 Omniverse 教程', destinationSite: destinationSite, destination: destinationSite + '/on-demand/search/?facet.event_name[]=Omniverse&facet.event_sessionType[]=Tutorial&headerText=Omniverse Sessions&layout=list&q=-&sort=date', jwtToken: jwtToken, onLogin: () => { NVIDIAGDC.NOD.login() }, onLogout: () => { }, searchToken: searchJWTToken, widgetPlacementId: 'nvod-sessiondetails-omniverse-1' }); } function mountPlaylistGallery() { if (typeof NVIDIAGDC.NOD !== "undefined" && NVIDIAGDC.NOD.getSession()) { jwtToken = NVIDIAGDC.NOD.getSession().id_token; if (typeof Cookies !== "undefined" && typeof Cookies.get("nv.profile") !== "undefined") { searchJWTToken = JSON.parse(decodeURI($.base64.decode(Cookies.get("nv.profile"))))["jwtToken"]; roles = JSON.parse(decodeURI($.base64.decode(Cookies.get("nv.profile"))))["nv.program"]; } ; } NvidiaSearchLibrary.GalleryWidget.mount({ elementId: 'nvidia-gallery-widget1', searchInput: searchInput1, site: site, language: language, voltronApiUrl: voltronApiUrl, apiUrl: apiUrl, forChina: true, playlistId: NVIDIAGDC.Browser.getUrlParameter('playlistId'), header: '来自播放列表的更多内容', destinationSite: destinationSite, destination: destinationSite + '/on-demand/playlist/' + NVIDIAGDC.Browser.getUrlParameter('playlistId') + '/', jwtToken: jwtToken, onLogin: () => { NVIDIAGDC.NOD.login() }, onLogout: () => { }, searchToken: searchJWTToken, accessRoles: roles, widgetPlacementId: 'nvod-sessiondetails-playlist-1', }); } if ($("#nvidia-playlist-details-widget").children().length > 0 && index == 0) { NvidiaSearchLibrary.PlaylistDetailsWidget.unmount(); } if (NVIDIAGDC.web.q1.split("-")[0] === 'omniverse2020' && $("#nvidia-gallery-widget1").children().length == 0) { updatePromoWidget(); } else if (typeof NVIDIAGDC.Browser.getUrlParameter('playlistId') !== "undefined" && $("#nvidia-gallery-widget1").children().length == 0) { mountPlaylistGallery(); } })() </script> </div> </div> </div> </div> </div> </div> </section> <script type="text/javascript"> NVIDIAGDC.funcQueue.addToQueue({ id : "sectionenhanced_copy69472dcd_0347_4dfb_b6df_8659e8e75505", method : "sectionEnhancedComponent", params : [{ imageDesktopUrl:' ', imageLaptopUrl:' ', imageTabletUrl:' ', imageMobileUrl:' ', secpageobpvalue: 'false', sectionurl: '', sectionurltarget: '_self', secCustBgColor:'#f1f1f1' }] }); </script> <!-- Horizontal divider Line Starts here --> <!-- Horizontal divider Line Ends here --> </div> <div class="rawHtml section"> <div class='hide-mob hide-tablet hide-laptop hide-desktop p-t-0 p-b-0 lap-p-t-0 lap-p-b-0 mob-p-t-0 mob-p-b-0 tab-p-t-0 tab-p-b-0' > <style> .details .promotion .ondemand-ad { max-width: 300px; } .vjs-modal-dialog .vjs-modal-dialog-content, .video-js .vjs-modal-dialog, .vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before { text-align: center; } @font-face { font-family: VideoJS; src: url(data:application/font-woff;charset=utf-8;base64,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) format("woff"); font-weight: normal; font-style: normal; } .vjs-icon-play, .video-js .vjs-play-control .vjs-icon-placeholder, .video-js .vjs-big-play-button .vjs-icon-placeholder:before { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before { content: "\f101"; } .vjs-icon-play-circle { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-play-circle:before { content: "\f102"; } .vjs-icon-pause, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-pause:before, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before { content: "\f103"; } .vjs-icon-volume-mute, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-volume-mute:before, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before { content: "\f104"; } .vjs-icon-volume-low, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-volume-low:before, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before { content: "\f105"; } .vjs-icon-volume-mid, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-volume-mid:before, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before { content: "\f106"; } .vjs-icon-volume-high, .video-js .vjs-mute-control .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-volume-high:before, .video-js .vjs-mute-control .vjs-icon-placeholder:before { content: "\f107"; } .vjs-icon-fullscreen-enter, .video-js .vjs-fullscreen-control .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-fullscreen-enter:before, .video-js .vjs-fullscreen-control .vjs-icon-placeholder:before { content: "\f108"; } .vjs-icon-fullscreen-exit, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-fullscreen-exit:before, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before { content: "\f109"; } .vjs-icon-square { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-square:before { content: "\f10a"; } .vjs-icon-spinner { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-spinner:before { content: "\f10b"; } .vjs-icon-subtitles, .video-js .vjs-subs-caps-button .vjs-icon-placeholder, .video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-subtitles-button .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-subtitles:before, .video-js .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-subtitles-button .vjs-icon-placeholder:before { content: "\f10c"; } .vjs-icon-captions, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-captions-button .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-captions:before, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-captions-button .vjs-icon-placeholder:before { content: "\f10d"; } .vjs-icon-chapters, .video-js .vjs-chapters-button .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-chapters:before, .video-js .vjs-chapters-button .vjs-icon-placeholder:before { content: "\f10e"; } .vjs-icon-share { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-share:before { content: "\f10f"; } .vjs-icon-cog { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-cog:before { content: "\f110"; } .vjs-icon-circle, .vjs-seek-to-live-control .vjs-icon-placeholder, .video-js .vjs-volume-level, .video-js .vjs-play-progress { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-circle:before, .vjs-seek-to-live-control .vjs-icon-placeholder:before, .video-js .vjs-volume-level:before, .video-js .vjs-play-progress:before { content: "\f111"; } .vjs-icon-circle-outline { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-circle-outline:before { content: "\f112"; } .vjs-icon-circle-inner-circle { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-circle-inner-circle:before { content: "\f113"; } .vjs-icon-hd { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-hd:before { content: "\f114"; } .vjs-icon-cancel, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-cancel:before, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before { content: "\f115"; } .vjs-icon-replay, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before { content: "\f116"; } .vjs-icon-facebook { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-facebook:before { content: "\f117"; } .vjs-icon-gplus { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-gplus:before { content: "\f118"; } .vjs-icon-linkedin { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-linkedin:before { content: "\f119"; } .vjs-icon-twitter { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-twitter:before { content: "\f11a"; } .vjs-icon-tumblr { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-tumblr:before { content: "\f11b"; } .vjs-icon-pinterest { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-pinterest:before { content: "\f11c"; } .vjs-icon-audio-description, .video-js .vjs-descriptions-button .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-audio-description:before, .video-js .vjs-descriptions-button .vjs-icon-placeholder:before { content: "\f11d"; } .vjs-icon-audio, .video-js .vjs-audio-button .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-audio:before, .video-js .vjs-audio-button .vjs-icon-placeholder:before { content: "\f11e"; } .vjs-icon-next-item { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-next-item:before { content: "\f11f"; } .vjs-icon-previous-item { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-previous-item:before { content: "\f120"; } .vjs-icon-picture-in-picture-enter, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-picture-in-picture-enter:before, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before { content: "\f121"; } .vjs-icon-picture-in-picture-exit, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder { font-family: VideoJS; font-weight: normal; font-style: normal; } .vjs-icon-picture-in-picture-exit:before, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before { content: "\f122"; } .video-js { display: inline-block; vertical-align: top; box-sizing: border-box; color: #fff; background-color: #000; position: relative; padding: 0; font-size: 10px; line-height: 1; font-weight: normal; font-style: normal; font-family: Arial, Helvetica, sans-serif; word-break: initial; } .video-js:-moz-full-screen { position: absolute; } .video-js:-webkit-full-screen { width: 100% !important; height: 100% !important; } .video-js[tabindex="-1"] { outline: none; } .video-js *, .video-js *:before, .video-js *:after { box-sizing: inherit; } .video-js ul { font-family: inherit; font-size: inherit; line-height: inherit; list-style-position: outside; margin-left: 0; margin-right: 0; margin-top: 0; margin-bottom: 0; } .video-js.vjs-fluid, .video-js.vjs-16-9, .video-js.vjs-4-3, .video-js.vjs-9-16, .video-js.vjs-1-1 { width: 100%; max-width: 100%; } .video-js.vjs-fluid:not(.vjs-audio-only-mode), .video-js.vjs-16-9:not(.vjs-audio-only-mode), .video-js.vjs-4-3:not(.vjs-audio-only-mode), .video-js.vjs-9-16:not(.vjs-audio-only-mode), .video-js.vjs-1-1:not(.vjs-audio-only-mode) { height: 0; } .video-js.vjs-16-9:not(.vjs-audio-only-mode) { padding-top: 56.25%; } .video-js.vjs-4-3:not(.vjs-audio-only-mode) { padding-top: 75%; } .video-js.vjs-9-16:not(.vjs-audio-only-mode) { padding-top: 177.7777777778%; } .video-js.vjs-1-1:not(.vjs-audio-only-mode) { padding-top: 100%; } .video-js.vjs-fill:not(.vjs-audio-only-mode) { width: 100%; height: 100%; } .video-js .vjs-tech { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .video-js.vjs-audio-only-mode .vjs-tech { display: none; } body.vjs-full-window { padding: 0; margin: 0; height: 100%; } .vjs-full-window .video-js.vjs-fullscreen { position: fixed; overflow: hidden; z-index: 1000; left: 0; top: 0; bottom: 0; right: 0; } .video-js.vjs-fullscreen:not(.vjs-ios-native-fs) { width: 100% !important; height: 100% !important; padding-top: 0 !important; } .video-js.vjs-fullscreen.vjs-user-inactive { cursor: none; } .vjs-hidden { display: none !important; } .vjs-disabled { opacity: 0.5; cursor: default; } .video-js .vjs-offscreen { height: 1px; left: -9999px; position: absolute; top: 0; width: 1px; } .vjs-lock-showing { display: block !important; opacity: 1 !important; visibility: visible !important; } .vjs-no-js { padding: 20px; color: #fff; background-color: #000; font-size: 18px; font-family: Arial, Helvetica, sans-serif; text-align: center; width: 300px; height: 150px; margin: 0px auto; } .vjs-no-js a, .vjs-no-js a:visited { color: #66A8CC; } .video-js .vjs-big-play-button { font-size: 3em; line-height: 1.5em; height: 1.63332em; width: 3em; display: block; position: absolute; top: 50%; left: 50%; padding: 0; margin-top: -0.81666em; margin-left: -1.5em; cursor: pointer; opacity: 1; border: 0.06666em solid #fff; background-color: #2B333F; background-color: rgba(43, 51, 63, 0.7); border-radius: 0.3em; transition: all 0.4s; } .video-js:hover .vjs-big-play-button, .video-js .vjs-big-play-button:focus { border-color: #fff; background-color: #73859f; background-color: rgba(115, 133, 159, 0.5); transition: all 0s; } .vjs-controls-disabled .vjs-big-play-button, .vjs-has-started .vjs-big-play-button, .vjs-using-native-controls .vjs-big-play-button, .vjs-error .vjs-big-play-button { display: none; } .vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button { display: block; } .video-js button { background: none; border: none; color: inherit; display: inline-block; font-size: inherit; line-height: inherit; text-transform: none; text-decoration: none; transition: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; } .vjs-control .vjs-button { width: 100%; height: 100%; } .video-js .vjs-control.vjs-close-button { cursor: pointer; height: 3em; position: absolute; right: 0; top: 0.5em; z-index: 2; } .video-js .vjs-modal-dialog { background: rgba(0, 0, 0, 0.8); background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0)); overflow: auto; } .video-js .vjs-modal-dialog > * { box-sizing: border-box; } .vjs-modal-dialog .vjs-modal-dialog-content { font-size: 1.2em; line-height: 1.5; padding: 20px 24px; z-index: 1; } .vjs-menu-button { cursor: pointer; } .vjs-menu-button.vjs-disabled { cursor: default; } .vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu { display: none; } .vjs-menu .vjs-menu-content { display: block; padding: 0; margin: 0; font-family: Arial, Helvetica, sans-serif; overflow: auto; } .vjs-menu .vjs-menu-content > * { box-sizing: border-box; } .vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu { display: none; } .vjs-menu li { list-style: none; margin: 0; padding: 0.2em 0; line-height: 1.4em; font-size: 1.2em; text-align: center; text-transform: lowercase; } .vjs-menu li.vjs-menu-item:focus, .vjs-menu li.vjs-menu-item:hover, .js-focus-visible .vjs-menu li.vjs-menu-item:hover { background-color: #73859f; background-color: rgba(115, 133, 159, 0.5); } .vjs-menu li.vjs-selected, .vjs-menu li.vjs-selected:focus, .vjs-menu li.vjs-selected:hover, .js-focus-visible .vjs-menu li.vjs-selected:hover { background-color: #fff; color: #2B333F; } .video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible), .js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible) { background: none; } .vjs-menu li.vjs-menu-title { text-align: center; text-transform: uppercase; font-size: 1em; line-height: 2em; padding: 0; margin: 0 0 0.3em 0; font-weight: bold; cursor: default; } .vjs-menu-button-popup .vjs-menu { display: none; position: absolute; bottom: 0; width: 10em; left: -3em; height: 0em; margin-bottom: 1.5em; border-top-color: rgba(43, 51, 63, 0.7); } .vjs-menu-button-popup .vjs-menu .vjs-menu-content { background-color: #2B333F; background-color: rgba(43, 51, 63, 0.7); position: absolute; width: 100%; bottom: 1.5em; max-height: 15em; } .vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content, .vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content { max-height: 5em; } .vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content { max-height: 10em; } .vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content { max-height: 14em; } .vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content, .vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content, .vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content { max-height: 25em; } .vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu, .vjs-menu-button-popup .vjs-menu.vjs-lock-showing { display: block; } .video-js .vjs-menu-button-inline { transition: all 0.4s; overflow: hidden; } .video-js .vjs-menu-button-inline:before { width: 2.222222222em; } .video-js .vjs-menu-button-inline:hover, .video-js .vjs-menu-button-inline:focus, .video-js .vjs-menu-button-inline.vjs-slider-active { width: 12em; } .vjs-menu-button-inline .vjs-menu { opacity: 0; height: 100%; width: auto; position: absolute; left: 4em; top: 0; padding: 0; margin: 0; transition: all 0.4s; } .vjs-menu-button-inline:hover .vjs-menu, .vjs-menu-button-inline:focus .vjs-menu, .vjs-menu-button-inline.vjs-slider-active .vjs-menu { display: block; opacity: 1; } .vjs-menu-button-inline .vjs-menu-content { width: auto; height: 100%; margin: 0; overflow: hidden; } .video-js .vjs-control-bar { display: none; width: 100%; position: absolute; bottom: 0; left: 0; right: 0; height: 3em; background-color: #2B333F; background-color: rgba(43, 51, 63, 0.7); } .vjs-has-started .vjs-control-bar, .vjs-audio-only-mode .vjs-control-bar { display: flex; visibility: visible; opacity: 1; transition: visibility 0.1s, opacity 0.1s; } .vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar { visibility: visible; opacity: 0; pointer-events: none; transition: visibility 1s, opacity 1s; } .vjs-controls-disabled .vjs-control-bar, .vjs-using-native-controls .vjs-control-bar, .vjs-error .vjs-control-bar { display: none !important; } .vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar, .vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar { opacity: 1; visibility: visible; pointer-events: auto; } .video-js .vjs-control { position: relative; text-align: center; margin: 0; padding: 0; height: 100%; width: 4em; flex: none; } .video-js .vjs-control.vjs-visible-text { width: auto; padding-left: 1em; padding-right: 1em; } .vjs-button > .vjs-icon-placeholder:before { font-size: 1.8em; line-height: 1.67; } .vjs-button > .vjs-icon-placeholder { display: block; } .video-js .vjs-control:focus:before, .video-js .vjs-control:hover:before, .video-js .vjs-control:focus { text-shadow: 0em 0em 1em white; } .video-js *:not(.vjs-visible-text) > .vjs-control-text { border: 0; clip: rect(0 0 0 0); height: 1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .video-js .vjs-custom-control-spacer { display: none; } .video-js .vjs-progress-control { cursor: pointer; flex: auto; display: flex; align-items: center; min-width: 4em; touch-action: none; } .video-js .vjs-progress-control.disabled { cursor: default; } .vjs-live .vjs-progress-control { display: none; } .vjs-liveui .vjs-progress-control { display: flex; align-items: center; } .video-js .vjs-progress-holder { flex: auto; transition: all 0.2s; height: 0.3em; } .video-js .vjs-progress-control .vjs-progress-holder { margin: 0 10px; } .video-js .vjs-progress-control:hover .vjs-progress-holder { font-size: 1.6666666667em; } .video-js .vjs-progress-control:hover .vjs-progress-holder.disabled { font-size: 1em; } .video-js .vjs-progress-holder .vjs-play-progress, .video-js .vjs-progress-holder .vjs-load-progress, .video-js .vjs-progress-holder .vjs-load-progress div { position: absolute; display: block; height: 100%; margin: 0; padding: 0; width: 0; } .video-js .vjs-play-progress { background-color: #fff; } .video-js .vjs-play-progress:before { font-size: 0.9em; position: absolute; right: -0.5em; line-height: 0.35em; z-index: 1; } .video-js .vjs-load-progress { background: rgba(115, 133, 159, 0.5); } .video-js .vjs-load-progress div { background: rgba(115, 133, 159, 0.75); } .video-js .vjs-time-tooltip { background-color: #fff; background-color: rgba(255, 255, 255, 0.8); border-radius: 0.3em; color: #000; float: right; font-family: Arial, Helvetica, sans-serif; font-size: 1em; padding: 6px 8px 8px 8px; pointer-events: none; position: absolute; top: -3.4em; visibility: hidden; z-index: 1; } .video-js .vjs-progress-holder:focus .vjs-time-tooltip { display: none; } .video-js .vjs-progress-control:hover .vjs-time-tooltip, .video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip { display: block; font-size: 0.6em; visibility: visible; } .video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip { font-size: 1em; } .video-js .vjs-progress-control .vjs-mouse-display { display: none; position: absolute; width: 1px; height: 100%; background-color: #000; z-index: 1; } .video-js .vjs-progress-control:hover .vjs-mouse-display { display: block; } .video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display { visibility: hidden; opacity: 0; transition: visibility 1s, opacity 1s; } .vjs-mouse-display .vjs-time-tooltip { color: #fff; background-color: #000; background-color: rgba(0, 0, 0, 0.8); } .video-js .vjs-slider { position: relative; cursor: pointer; padding: 0; margin: 0 0.45em 0 0.45em; /* iOS Safari */ -webkit-touch-callout: none; /* Safari */ -webkit-user-select: none; /* Konqueror HTML */ /* Firefox */ -moz-user-select: none; /* Internet Explorer/Edge */ /* Non-prefixed version, currently supported by Chrome and Opera */ user-select: none; background-color: #73859f; background-color: rgba(115, 133, 159, 0.5); } .video-js .vjs-slider.disabled { cursor: default; } .video-js .vjs-slider:focus { text-shadow: 0em 0em 1em white; box-shadow: 0 0 1em #fff; } .video-js .vjs-mute-control { cursor: pointer; flex: none; } .video-js .vjs-volume-control { cursor: pointer; margin-right: 1em; display: flex; } .video-js .vjs-volume-control.vjs-volume-horizontal { width: 5em; } .video-js .vjs-volume-panel .vjs-volume-control { visibility: visible; opacity: 0; width: 1px; height: 1px; margin-left: -1px; } .video-js .vjs-volume-panel { transition: width 1s; } .video-js .vjs-volume-panel.vjs-hover .vjs-volume-control, .video-js .vjs-volume-panel:active .vjs-volume-control, .video-js .vjs-volume-panel:focus .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control:active, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active { visibility: visible; opacity: 1; position: relative; transition: visibility 0.1s, opacity 0.1s, height 0.1s, width 0.1s, left 0s, top 0s; } .video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal { width: 5em; height: 3em; margin-right: 0; } .video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical { left: -3.5em; transition: left 0s; } .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active { width: 10em; transition: width 0.1s; } .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only { width: 4em; } .video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical { height: 8em; width: 3em; left: -3000em; transition: visibility 1s, opacity 1s, height 1s 1s, width 1s 1s, left 1s 1s, top 1s 1s; } .video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal { transition: visibility 1s, opacity 1s, height 1s 1s, width 1s, left 1s 1s, top 1s 1s; } .video-js .vjs-volume-panel { display: flex; } .video-js .vjs-volume-bar { margin: 1.35em 0.45em; } .vjs-volume-bar.vjs-slider-horizontal { width: 5em; height: 0.3em; } .vjs-volume-bar.vjs-slider-vertical { width: 0.3em; height: 5em; margin: 1.35em auto; } .video-js .vjs-volume-level { position: absolute; bottom: 0; left: 0; background-color: #fff; } .video-js .vjs-volume-level:before { position: absolute; font-size: 0.9em; z-index: 1; } .vjs-slider-vertical .vjs-volume-level { width: 0.3em; } .vjs-slider-vertical .vjs-volume-level:before { top: -0.5em; left: -0.3em; z-index: 1; } .vjs-slider-horizontal .vjs-volume-level { height: 0.3em; } .vjs-slider-horizontal .vjs-volume-level:before { line-height: 0.35em; right: -0.5em; } .video-js .vjs-volume-panel.vjs-volume-panel-vertical { width: 4em; } .vjs-volume-bar.vjs-slider-vertical .vjs-volume-level { height: 100%; } .vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level { width: 100%; } .video-js .vjs-volume-vertical { width: 3em; height: 8em; bottom: 8em; background-color: #2B333F; background-color: rgba(43, 51, 63, 0.7); } .video-js .vjs-volume-horizontal .vjs-menu { left: -2em; } .video-js .vjs-volume-tooltip { background-color: #fff; background-color: rgba(255, 255, 255, 0.8); border-radius: 0.3em; color: #000; float: right; font-family: Arial, Helvetica, sans-serif; font-size: 1em; padding: 6px 8px 8px 8px; pointer-events: none; position: absolute; top: -3.4em; visibility: hidden; z-index: 1; } .video-js .vjs-volume-control:hover .vjs-volume-tooltip, .video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip { display: block; font-size: 1em; visibility: visible; } .video-js .vjs-volume-vertical:hover .vjs-volume-tooltip, .video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip { left: 1em; top: -12px; } .video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip { font-size: 1em; } .video-js .vjs-volume-control .vjs-mouse-display { display: none; position: absolute; width: 100%; height: 1px; background-color: #000; z-index: 1; } .video-js .vjs-volume-horizontal .vjs-mouse-display { width: 1px; height: 100%; } .video-js .vjs-volume-control:hover .vjs-mouse-display { display: block; } .video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display { visibility: hidden; opacity: 0; transition: visibility 1s, opacity 1s; } .vjs-mouse-display .vjs-volume-tooltip { color: #fff; background-color: #000; background-color: rgba(0, 0, 0, 0.8); } .vjs-poster { display: inline-block; vertical-align: middle; cursor: pointer; margin: 0; padding: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; height: 100%; } .vjs-has-started .vjs-poster, .vjs-using-native-controls .vjs-poster { display: none; } .vjs-audio.vjs-has-started .vjs-poster, .vjs-has-started.vjs-audio-poster-mode .vjs-poster { display: block; } .vjs-poster img { width: 100%; height: 100%; -o-object-fit: contain; object-fit: contain; } .video-js .vjs-live-control { display: flex; align-items: flex-start; flex: auto; font-size: 1em; line-height: 3em; } .video-js:not(.vjs-live) .vjs-live-control, .video-js.vjs-liveui .vjs-live-control { display: none; } .video-js .vjs-seek-to-live-control { align-items: center; cursor: pointer; flex: none; display: inline-flex; height: 100%; padding-left: 0.5em; padding-right: 0.5em; font-size: 1em; line-height: 3em; width: auto; min-width: 4em; } .video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control, .video-js:not(.vjs-live) .vjs-seek-to-live-control { display: none; } .vjs-seek-to-live-control.vjs-control.vjs-at-live-edge { cursor: auto; } .vjs-seek-to-live-control .vjs-icon-placeholder { margin-right: 0.5em; color: #888; } .vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder { color: red; } .video-js .vjs-time-control { flex: none; font-size: 1em; line-height: 3em; min-width: 2em; width: auto; padding-left: 1em; padding-right: 1em; } .vjs-live .vjs-time-control, .vjs-live .vjs-time-divider, .video-js .vjs-current-time, .video-js .vjs-duration { display: none; } .vjs-time-divider { display: none; line-height: 3em; } .video-js .vjs-play-control { cursor: pointer; } .video-js .vjs-play-control .vjs-icon-placeholder { flex: none; } .vjs-text-track-display { position: absolute; bottom: 3em; left: 0; right: 0; top: 0; pointer-events: none; } .video-js.vjs-controls-disabled .vjs-text-track-display, .video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display { bottom: 1em; } .video-js .vjs-text-track { font-size: 1.4em; text-align: center; margin-bottom: 0.1em; } .vjs-subtitles { color: #fff; } .vjs-captions { color: #fc6; } .vjs-tt-cue { display: block; } video::-webkit-media-text-track-display { transform: translateY(-3em); } .video-js.vjs-controls-disabled video::-webkit-media-text-track-display, .video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display { transform: translateY(-1.5em); } .video-js .vjs-picture-in-picture-control { cursor: pointer; flex: none; } .video-js.vjs-audio-only-mode .vjs-picture-in-picture-control { display: none; } .video-js .vjs-fullscreen-control { cursor: pointer; flex: none; } .video-js.vjs-audio-only-mode .vjs-fullscreen-control { display: none; } .vjs-playback-rate > .vjs-menu-button, .vjs-playback-rate .vjs-playback-rate-value { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .vjs-playback-rate .vjs-playback-rate-value { pointer-events: none; font-size: 1.5em; line-height: 2; text-align: center; } .vjs-playback-rate .vjs-menu { width: 4em; left: 0em; } .vjs-error .vjs-error-display .vjs-modal-dialog-content { font-size: 1.4em; text-align: center; } .vjs-error .vjs-error-display:before { color: #fff; content: "X"; font-family: Arial, Helvetica, sans-serif; font-size: 4em; left: 0; line-height: 1; margin-top: -0.5em; position: absolute; text-shadow: 0.05em 0.05em 0.1em #000; text-align: center; top: 50%; vertical-align: middle; width: 100%; } .vjs-loading-spinner { display: none; position: absolute; top: 50%; left: 50%; margin: -25px 0 0 -25px; opacity: 0.85; text-align: left; border: 6px solid rgba(43, 51, 63, 0.7); box-sizing: border-box; background-clip: padding-box; width: 50px; height: 50px; border-radius: 25px; visibility: hidden; } .vjs-seeking .vjs-loading-spinner, .vjs-waiting .vjs-loading-spinner { display: block; animation: vjs-spinner-show 0s linear 0.3s forwards; } .vjs-loading-spinner:before, .vjs-loading-spinner:after { content: ""; position: absolute; margin: -6px; box-sizing: inherit; width: inherit; height: inherit; border-radius: inherit; opacity: 1; border: inherit; border-color: transparent; border-top-color: white; } .vjs-seeking .vjs-loading-spinner:before, .vjs-seeking .vjs-loading-spinner:after, .vjs-waiting .vjs-loading-spinner:before, .vjs-waiting .vjs-loading-spinner:after { animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite; } .vjs-seeking .vjs-loading-spinner:before, .vjs-waiting .vjs-loading-spinner:before { border-top-color: rgb(255, 255, 255); } .vjs-seeking .vjs-loading-spinner:after, .vjs-waiting .vjs-loading-spinner:after { border-top-color: rgb(255, 255, 255); animation-delay: 0.44s; } @keyframes vjs-spinner-show { to { visibility: visible; } } @keyframes vjs-spinner-spin { 100% { transform: rotate(360deg); } } @keyframes vjs-spinner-fade { 0% { border-top-color: #73859f; } 20% { border-top-color: #73859f; } 35% { border-top-color: white; } 60% { border-top-color: #73859f; } 100% { border-top-color: #73859f; } } .video-js.vjs-audio-only-mode .vjs-captions-button { display: none; } .vjs-chapters-button .vjs-menu ul { width: 24em; } .video-js.vjs-audio-only-mode .vjs-descriptions-button { display: none; } .video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder { vertical-align: middle; display: inline-block; margin-bottom: -0.1em; } .video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before { font-family: VideoJS; content: "\f10d"; font-size: 1.5em; line-height: inherit; } .video-js.vjs-audio-only-mode .vjs-subs-caps-button { display: none; } .video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder { vertical-align: middle; display: inline-block; margin-bottom: -0.1em; } .video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before { font-family: VideoJS; content: " \f11d"; font-size: 1.5em; line-height: inherit; } .video-js.vjs-layout-small .vjs-current-time, .video-js.vjs-layout-small .vjs-time-divider, .video-js.vjs-layout-small .vjs-duration, .video-js.vjs-layout-small .vjs-remaining-time, .video-js.vjs-layout-small .vjs-playback-rate, .video-js.vjs-layout-small .vjs-volume-control, .video-js.vjs-layout-x-small .vjs-current-time, .video-js.vjs-layout-x-small .vjs-time-divider, .video-js.vjs-layout-x-small .vjs-duration, .video-js.vjs-layout-x-small .vjs-remaining-time, .video-js.vjs-layout-x-small .vjs-playback-rate, .video-js.vjs-layout-x-small .vjs-volume-control, .video-js.vjs-layout-tiny .vjs-current-time, .video-js.vjs-layout-tiny .vjs-time-divider, .video-js.vjs-layout-tiny .vjs-duration, .video-js.vjs-layout-tiny .vjs-remaining-time, .video-js.vjs-layout-tiny .vjs-playback-rate, .video-js.vjs-layout-tiny .vjs-volume-control { display: none; } .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover { width: auto; width: initial; } .video-js.vjs-layout-x-small .vjs-progress-control, .video-js.vjs-layout-tiny .vjs-progress-control { display: none; } .video-js.vjs-layout-x-small .vjs-custom-control-spacer { flex: auto; display: block; } .vjs-modal-dialog.vjs-text-track-settings { background-color: #2B333F; background-color: rgba(43, 51, 63, 0.75); color: #fff; height: 70%; } .vjs-text-track-settings .vjs-modal-dialog-content { display: table; } .vjs-text-track-settings .vjs-track-settings-colors, .vjs-text-track-settings .vjs-track-settings-font, .vjs-text-track-settings .vjs-track-settings-controls { display: table-cell; } .vjs-text-track-settings .vjs-track-settings-controls { text-align: right; vertical-align: bottom; } @supports (display: grid) { .vjs-text-track-settings .vjs-modal-dialog-content { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; padding: 20px 24px 0px 24px; } .vjs-track-settings-controls .vjs-default-button { margin-bottom: 20px; } .vjs-text-track-settings .vjs-track-settings-controls { grid-column: 1/-1; } .vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content, .vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content, .vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content { grid-template-columns: 1fr; } } .vjs-track-setting > select { margin-right: 1em; margin-bottom: 0.5em; } .vjs-text-track-settings fieldset { margin: 5px; padding: 3px; border: none; } .vjs-text-track-settings fieldset span { display: inline-block; } .vjs-text-track-settings fieldset span > select { max-width: 7.3em; } .vjs-text-track-settings legend { color: #fff; margin: 0 0 5px 0; } .vjs-text-track-settings .vjs-label { position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px); display: block; margin: 0 0 5px 0; padding: 0; border: 0; height: 1px; width: 1px; overflow: hidden; } .vjs-track-settings-controls button:focus, .vjs-track-settings-controls button:active { outline-style: solid; outline-width: medium; background-image: linear-gradient(0deg, #fff 88%, #73859f 100%); } .vjs-track-settings-controls button:hover { color: rgba(43, 51, 63, 0.75); } .vjs-track-settings-controls button { background-color: #fff; background-image: linear-gradient(-180deg, #fff 88%, #73859f 100%); color: #2B333F; cursor: pointer; border-radius: 2px; } .vjs-track-settings-controls .vjs-default-button { margin-right: 1em; } .vjs-title-bar { background: rgba(0, 0, 0, 0.9); background: linear-gradient(180deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.7) 60%, rgba(0, 0, 0, 0) 100%); font-size: 1.2em; line-height: 1.5; transition: opacity 0.1s; padding: 0.666em 1.333em 4em; pointer-events: none; position: absolute; top: 0; width: 100%; } .vjs-title-bar-title, .vjs-title-bar-description { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .vjs-title-bar-title { font-weight: bold; margin-bottom: 0.333em; } .vjs-playing.vjs-user-inactive .vjs-title-bar { opacity: 0; transition: opacity 1s; } @media print { .video-js > *:not(.vjs-tech):not(.vjs-poster) { visibility: hidden; } } .vjs-resize-manager { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; z-index: -1000; } .js-focus-visible .video-js *:focus:not(.focus-visible) { outline: none; } .video-js *:focus:not(:focus-visible) { outline: none; } </style> <style> .vjs-subs-caps-button .vjs-menu { width: 160px; } .vjs-subs-caps-button .vjs-menu li.vjs-menu-item { text-transform: capitalize; } </style> <script> jQuery(function($) { var count = 0; var timerHandle = null; var defaultSimplifiedChineseSubtitle = function () { console.log('looping') $(".vjs-subs-caps-button .vjs-menu-item").map(function(index, menuItem) { var $textItem = $(menuItem).find(".vjs-menu-item-text"); var text = $.trim($textItem.text()); // default to Simplified Chinese if (text === '简体中文' || text === 'Simplified Chinese') { if (!$(menuItem).hasClass('vjs-selected')) { console.log('click'); menuItem.click(); timerHandle && clearInterval(timerHandle); console.log('end interval'); } } // update the label if (text === 'subtitles settings') { $textItem.text('字幕选项'); } if (text === 'subtitles off') { $textItem.text('关闭字幕'); } if (text === 'Simplified Chinese') { $textItem.text('简体中文'); } if (text === 'Traditional Chinese') { $textItem.text('繁体中文'); } }); }; timerHandle = setInterval(function () { console.log('internal'); if (count++ > 4) { clearInterval(timerHandle); console.log('end internal'); } defaultSimplifiedChineseSubtitle(); }, 5 * 1000); }); </script> <script> // Session Localization Hotfixes !function(){"use strict";var e,o;e=function(e){window.jQuery&&window.jQuery((function(o){var t=setInterval((function(){console.log("checking for key element"),o("h1").text().trim()===e.title[0].trim()&&(console.log("key element found"),clearInterval(t),setTimeout((function(){console.log("begin localization overriding"),console.log(e),o("h1").text().trim()===e.title[0].trim()&&o("h1").text(e.title[1]),o(".speakers > div").each((function(){var t=o(this).text().replace(/ /g," ").trim();console.log(t);for(var n=o(this).find("> *"),i=0;i<e.speakers.length;i++)t===e.speakers[i][0].trim()&&(console.log("Found",e.speakers[i][0].trim()),n.eq(0).text(e.speakers[i][1].trim()),n.eq(1).text(","+e.speakers[i][2].trim()),n.eq(2).remove())})),o(".details .info .summary").text().replace(/\s+/g," ").trim()===e.description[0].replace(/\n+/g," ").replace(/\s+/g," ").trim()&&o(".details .info .summary").html(e.description[1].trim()),o(".event-data > div").each((function(t,n){for(var i=o(n).find(".label"),s=o(n).find(".label")[0].nextSibling.nextSibling,a=0;a<e.meta.length;a++){var l=e.meta[a];if(i.text()===l[0]&&s.nodeValue===l[1]){i.text(l[2]),s.nodeValue=l[3];break}}})),e.poster&&o("video").attr("poster",e.poster)}),1500))}),1e3)}))},(o=function(){var e=location.href,o="https://www.nvidia.cn/on-demand/session/";if(0!==e.indexOf(o))return!1;var t=e.replace(o,"").replace(/\/.*$/,"");return t||!1}().toLowerCase())&&(console.log("Session ID:",o),"undefined"!=typeof allLocalizationData?allLocalizationData.sessions[o]&&(console.log("In-Page Session Localization Data Matched, begin localization overrides"),e(allLocalizationData.sessions[o])):(console.log("Remote fetching localization data"),console.log("Session ID:",o),window.jQuery.get({url:"https://live.nvidia.cn/nvod/session-localization.json?_="+Math.round((new Date).getTime()/1e3/60),success:function(t){console.log("Localization data fetched"),console.log("Session ID:",o),t.sessions[o]?(console.log("Session Matched, begin localization overrides"),e(t.sessions[o])):(console.log("Localization data not found for this session",o),console.log(t))}})))}(); </script> </div> </div> </div> </div> <div class="footer"> <!-- Footer --> <div class="page-footer-wrapper" id="brandFooter"> <div class="page-footer"> <!-- Links --> <div class="page-footer__links"> <div class="page-footer-link-set set-4"> <div class="page-footer-link-set__title">Platforms</div> <ul class="page-footer-link-set__links"> <li> <a href="https://www.nvidia.cn/technologies/cuda-x/" target="_self">CUDA-X</a> </li> <li> <a href="https://www.nvidia.cn/autonomous-machines/" target="_self">Autonomous Machines</a> </li> <li> <a href="https://www.nvidia.cn/data-center/" target="_self">Cloud & Data Center</a> </li> <li> <a href="https://www.nvidia.cn/deep-learning-ai/" target="_self">Deep Learning & AI</a> </li> <li> <a href="https://www.nvidia.cn/design-visualization/" target="_self">Design & Visualization</a> </li> <li> <a href="https://www.nvidia.cn/clara/" target="_self">Healthcare & Life Sciences</a> </li> <li> <a href="https://www.nvidia.cn/high-performance-computing/" target="_self">High Performance Computing</a> </li> <li> <a href="https://www.nvidia.cn/self-driving-cars/" target="_self">Self-Driving Cars</a> </li> <li> <a href="https://www.nvidia.cn/geforce/" target="_self">Gaming & Entertainment</a> </li> <li> <a href="https://www.nvidia.cn/gpu-cloud/" target="_self">NGC</a> </li> </ul> </div> <div class="page-footer-link-set set-4"> <div class="page-footer-link-set__title">Products</div> <ul class="page-footer-link-set__links"> <li> <a href="https://www.nvidia.cn/data-center/dgx-systems/" target="_self">DGX Systems</a> </li> <li> <a href="https://www.nvidia.cn/self-driving-cars/drive-platform/hardware/" target="_self">DRIVE AGX</a> </li> <li> <a href="https://www.nvidia.cn/geforce/graphics-cards/30-series/" target="_self">GeForce RTX 30 Series</a> </li> <li> <a href="https://www.nvidia.cn/data-center/virtualization/" target="_self">NVIDIA Virtual GPU</a> </li> <li> <a href="https://www.nvidia.cn/autonomous-machines/embedded-systems/" target="_self">Jetson</a> </li> <li> <a href="https://www.nvidia.cn/design-visualization/quadro/" target="_self">Quadro</a> </li> <li> <a href="https://www.nvidia.cn/shield/shieldtv/" target="_self">SHIELD TV</a> </li> <li> <a href="https://www.nvidia.cn/data-center/data-center-gpus/" target="_self">Data Center GPUs</a> </li> </ul> </div> <div class="page-footer-link-set set-4"> <div class="page-footer-link-set__title">Developers</div> <ul class="page-footer-link-set__links"> <li> <a href="https://developer.nvidia.com/" target="_blank" rel="noopener noreferrer">NVIDIA Developer</a> </li> <li> <a href="https://news.developer.nvidia.com/" target="_blank" rel="noopener noreferrer">Developer News</a> </li> <li> <a href="https://developer.nvidia.com/blog" target="_blank" rel="noopener noreferrer">Developer Blog</a> </li> <li> <a href="https://forums.developer.nvidia.com/" target="_blank" rel="noopener noreferrer">Developer Forums</a> </li> <li> <a href="https://developer.nvidia.com/open-source/" target="_blank" rel="noopener noreferrer">Open Source Portal</a> </li> <li> <a href="https://www.nvidia.com/en-us/deep-learning-ai/education/" target="_self">Training</a> </li> <li> <a href="https://www.nvidia.com/en-us/gtc/" target="_self">GPU Tech Conference</a> </li> <li> <a href="https://developer.nvidia.com/cuda-zone/" target="_blank" rel="noopener noreferrer">CUDA</a> </li> </ul> </div> <div class="page-footer-link-set set-4"> <div class="page-footer-link-set__title">Corporate</div> <ul class="page-footer-link-set__links"> <li> <a href="https://www.nvidia.cn/about-nvidia/partners/" target="_self">NVIDIA Partner Network</a> </li> <li> <a href="https://www.nvidia.cn/about-nvidia/careers/" target="_self">Careers</a> </li> <li> <a href="https://www.nvidia.cn/contact/" target="_self">Contact Us</a> </li> <li> <a href="https://www.nvidia.cn/product-security/" target="_self">Security</a> </li> <li> <a href="https://www.nvidia.cn/about-nvidia/communities/" target="_self">Communities</a> </li> <li> <a href="https://blogs.nvidia.com/" target="_self">NVIDIA Blog</a> </li> <li> <a href="https://www.nvidia.cn/preference-center/email-signup/" target="_self">Email Signup</a> </li> <li> <a href="https://www.nvidia.cn/privacy-center/" target="_self">Privacy Center</a> </li> </ul> </div> </div> <!-- /Links --> <div class="page-footer__subscribe"> <div class="par-common-content reference parbase"><div class="cq-dd-paragraph"><div class="content_par parsys"><div class="modalContent parbase section"> <div id="modalcontentae570223_174b_45b0_8705_2616ec7fa772" class="hide-modal-content"> <div id="dev-program" class="general-container" data-width="" data-height=""> <div class="modal-content parsys"><div class="sectionenhanced parbase section"> <section id="section-dev-forms" class=" background- p-t-0 p-b-0 lap-p-t-0 lap-p-b-0 tab-p-t-0 tab-p-b-0 mob-p-t-0 mob-p-b-0 "> <div id="sectionenhanced17db4798_881e_4417_831a_c66c9f4deeca" class="general-container "> <div class="large-12 large-12 medium-12 small-12 center"> <div class="container"> <div class="page-section-par parsys"><div class="textcomponentenhanced section"> <div id="textcomponentenhance17580bd0_6a14_4b7d_8527_97fa5e83bbfa"> <div class="general-container-text small-12 mob-p-content medium-12 tab-p-content large-12 lap-p-content large-12 d-p-content p-t-0 p-b-0 lap-p-t-0 lap-p-b-0 tab-p-t-0 tab-p-b-0 mob-p-t-0 mob-p-b-0 "> <div class="text-left lap-text-left tab-text-left mob-text-left"> <div class="text-button"> <div class="textCmpEnhancedButton-par parsys"> </div> </div> </div> </div> </div> </div> <div class="rawHtml section"> <div class=' p-t-0 p-b-0 lap-p-t-0 lap-p-b-0 mob-p-t-0 mob-p-b-0 tab-p-t-0 tab-p-b-0' > <script src="//images.nvidia.cn/eup/nv_shared_profile_widget-01182023.js" data-turbolinks-track="reload"></script><div id="root"></div> <script> const getToken = () => { var token = ""; try { if (NVIDIAGDC.NOD.getSession() && NVIDIAGDC.NOD.getSession().message=='VALID_SESSION') { token = NVIDIAGDC.NOD.getSession().id_token; /*ensure profile is set correct for this user*/ try { if (typeof Cookies !== "undefined" && typeof Cookies.get("nv.profile") === "undefined") { var tokenAPI = "https://api-prod.nvidia.cn/nod/api/v1/kaltura/session/create"; $.ajax({ url: tokenAPI, headers: { Authorization: 'Bearer ' + token, }, xhrFields: { withCredentials: true }, success: function (data) { } }) }; } catch (e) { console.log("failed to create session"); } } } catch (e) { } return token; }; const updatePWidget = () => { var tokenAPI = "https://api-prod.nvidia.cn/nod/api/v1/kaltura/session/delete"; var devzoneAPI = "https://developer.nvidia.com/auth/profile"; let locale = 'en-US'; let site = 'https://api-prod.nvidia.com/services/eupservice'; let apiKind = 'eup'; let host = 'https://developer.nvidia.com'; var data = { created_by: "nod" }; NVSharedProfileWidget.mount({ site: site, apiKind: 'eup', locale: 'en-US', theme: 'light', selector: document.getElementById('root'), showI18NControls: false, showGenderField: false, version: 'v2.4', showDeveloperProgramsPrompt: true, idToken: getToken(), onSuccess: function () { $('#root').html('<div class="cleanslate"><div class="swg-spinner-wrapper"><div class="swg-spinner"></div></div></div>'); $.colorbox.resize(); var ncid = NVIDIAGDC.Browser.getUrlParameter('ncid'); if (typeof ncid !== "undefined" && ncid !== '') { data = { created_by: "nod", ncid: NVIDIAGDC.Browser.getUrlParameter('ncid') } }; $.ajax({ type: "POST", url: devzoneAPI, headers: { Authorization: 'GFNJWT ' + getToken(), }, data: data }).done(function () { /*call to create token*/ $.ajax({ url: tokenAPI, xhrFields: { withCredentials: true } }).done(function () { $('#root').html('<div class="cleanslate"><div class="swg-spinner-wrapper"><h3 class="nvTiles-h3 color-brand-green text-center" data-section="shop">SUCCESS</h3></div></div>'); $.colorbox.resize(); }).fail(function () { $('#root').html('<div class="cleanslate"><div class="swg-spinner-wrapper"><h3 class="nvTiles-h3 color-brand-green text-center" data-section="shop">ERROR UPDATING. Retry </h3></div></div>'); $.colorbox.resize(); }).always(function () { }); }).fail(function () { $('#root').html('<div class="cleanslate"><div class="swg-spinner-wrapper"><h3 class="nvTiles-h3 color-brand-green text-center" data-section="shop">ERROR UPDATING. Retry </h3></div></div>'); $.colorbox.resize(); }).always(function () { setTimeout(function(){ window.location.reload(); }, 1000); }); }, onError: function () { $('#root').html('<div class="cleanslate"><div class="swg-spinner-wrapper"><h3 class="nvTiles-h3 color-brand-green text-center" data-section="shop">ERROR UPDATING. RETRY </h3></div></div>'); $.colorbox.resize(); } }); }; if (getToken() !== '') { updatePWidget(); } </script> </div> </div> </div> </div> </div> </div> </section> <script type="text/javascript"> NVIDIAGDC.funcQueue.addToQueue({ id : "sectionenhanced17db4798_881e_4417_831a_c66c9f4deeca", method : "sectionEnhancedComponent", params : [{ imageDesktopUrl:' ', imageLaptopUrl:' ', imageTabletUrl:' ', imageMobileUrl:' ', secpageobpvalue: 'false', sectionurl: '', sectionurltarget: '_self', secCustBgColor:'#f1f1f1' }] }); </script> <!-- Horizontal divider Line Starts here --> <!-- Horizontal divider Line Ends here --> </div> </div> </div> </div> </div> <div class="modalContent parbase section"> <div id="modalcontent_13798741856bcb915b_922f_488a_a221_adcb4f2efe2f" class="hide-modal-content"> <div id="enterprise-program" class="general-container" data-width="1060" data-height=""> <div class="modal-content parsys"><div class="sectionenhanced parbase section"> <section class=" background-none p-t-60 p-b-60 lap-p-t-60 lap-p-b-60 tab-p-t-45 tab-p-b-45 mob-p-t-30 mob-p-b-30 "> <div id="sectionenhanced79b4aeec_4c23_4c58_9533_98d55189a5d4" class="general-container "> <div class="large-12 large-12 medium-12 small-12 center"> <div class="container"> <div class="page-section-par parsys"> </div> </div> </div> </div> </section> <script type="text/javascript"> NVIDIAGDC.funcQueue.addToQueue({ id : "sectionenhanced79b4aeec_4c23_4c58_9533_98d55189a5d4", method : "sectionEnhancedComponent", params : [{ imageDesktopUrl:' ', imageLaptopUrl:' ', imageTabletUrl:' ', imageMobileUrl:' ', secpageobpvalue: 'false', sectionurl: '', sectionurltarget: '_self', secCustBgColor:'' }] }); </script> <!-- Horizontal divider Line Starts here --> <!-- Horizontal divider Line Ends here --> </div> </div> </div> </div> </div> </div> </div> </div> </div> <!-- /Subscribe --> <!-- Social --> <div class="page-footer__social"> <div class="page-footer__social__label">Follow Nvidia</div> <a href="https://www.facebook.com/gputechnologyconference" class="page-footer__social__link facebook" target="_blank" rel="noopener noreferrer" alt='Follow GeForce on Facebook' title='Follow GeForce on Facebook'> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="46" viewBox="0 0 22 46"><title>Facebook</title><path d="M28.638,16.072V12.109a8.484,8.484,0,0,1,.085-1.381,2.648,2.648,0,0,1,.387-0.963,1.579,1.579,0,0,1,.974-0.656,7.1,7.1,0,0,1,1.791-.182h4.066V1h-6.5Q23.8,1,21.335,3.609T18.872,11.3v4.773H14V24h4.869V47h9.766V24h6.5L36,16.072h-7.36Z" transform="translate(-14 -1)"/></svg> </a> <a href="https://www.linkedin.com/showcase/gpu-technology-conference/" class="page-footer__social__link" target="_blank" rel="noopener noreferrer"> <svg xmlns="http://www.w3.org/2000/svg" width="46" height="44" viewBox="0 0 46 44"><title>LinkedIn</title><path d="M1.569,16.3h9.883V45.985H1.569V16.3Zm42.317,2.711a10.635,10.635,0,0,0-8.235-3.4,11.875,11.875,0,0,0-3.43.464,7.783,7.783,0,0,0-2.605,1.3,11.16,11.16,0,0,0-2.86,3.142V16.3H16.9l0.03,1.438q0.03,1.438.03,8.866T16.9,45.985h9.853V29.421a7.242,7.242,0,0,1,.329-2.426,6.365,6.365,0,0,1,1.9-2.561,4.849,4.849,0,0,1,3.16-1.034,4.26,4.26,0,0,1,3.789,1.782,8.667,8.667,0,0,1,1.213,4.927V45.984H47V28.972Q47,22.412,43.886,19.014ZM6.57,2.015A5.637,5.637,0,0,0,2.542,3.468,4.823,4.823,0,0,0,1,7.137a4.909,4.909,0,0,0,1.5,3.654A5.4,5.4,0,0,0,6.45,12.258H6.51a5.642,5.642,0,0,0,4.058-1.468,4.742,4.742,0,0,0,1.512-3.654,5,5,0,0,0-1.527-3.669A5.475,5.475,0,0,0,6.57,2.015Z" transform="translate(-1 -2)"/></svg> </a> <a href="https://twitter.com/nvidia" class="page-footer__social__link" target="_blank" rel="noopener noreferrer" alt='Follow GeForce on Twitter' title='Follow GeForce on Twitter'> <svg xmlns="http://www.w3.org/2000/svg" width="1200" height="1227" viewBox="0 0 1200 1227"><title>Twitter</title><path d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z"/></svg> </a> </div> <!-- /Social --> </div> </div> <!-- /Footer --> <!-- Global footer --> <div class="global-footer-container"> <div class="global-footer" id="globalFooter"> <svg class="global-footer__logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 407.8 1000 184.4" enable-background="new 0 407.8 1000 184.4" xml:space="preserve"> <title>NVIDIA</title> <g id="nvidia-logo"> <path d="M987.1 555.7v-2.8h1.7c0.9 0 2.3 0.1 2.3 1.2 0 1.2-0.7 1.5-1.8 1.5H987.1M987.1 557.6h1.2l2.8 4.8h3l-3.1-5c1.5-0.1 2.9-0.8 2.9-3 0-2.7-1.8-3.5-4.9-3.5h-4.4v11.5h2.6L987.1 557.6M1000 556.7c0-6.8-5.2-10.7-11.1-10.7 -5.8 0-11.1 3.9-11.1 10.7 0 6.8 5.2 10.7 11.1 10.7S1000 563.5 1000 556.7M996.8 556.7c0 4.9-3.6 8.2-7.9 8.2l0 0c-4.4 0-7.9-3.3-7.9-8.2 0-4.9 3.6-8.2 7.9-8.2C993.2 548.6 996.8 551.9 996.8 556.7z"></path> <path d="M593.2 442.7v121.1h34.2V442.7H593.2zM324.4 442.5v121.2h34.5v-94.1l26.9 0.1c8.8 0 15 2.2 19.2 6.7 5.4 5.7 7.6 15.1 7.6 32v55.3H446v-66.9c0-47.8-30.5-54.3-60.2-54.3C385.8 442.5 324.4 442.5 324.4 442.5zM648.3 442.7v121.1h55.4c29.5 0 39.2-4.9 49.6-15.9 7.4-7.7 12.1-24.7 12.1-43.3 0-17-4-32.2-11.1-41.7 -12.5-16.9-30.8-20.2-58.1-20.2H648.3zM682.2 469h14.7c21.3 0 35.1 9.5 35.1 34.4 0 24.8-13.7 34.4-35.1 34.4h-14.7V469zM544 442.7l-28.5 95.9 -27.3-95.9h-36.9l39 121.1h49.2l39.3-121.1H544zM781.4 563.7h34.2v-121h-34.2V563.7zM877.2 442.7l-47.7 121h33.7l7.6-21.3h56.5l7.2 21.3h36.6l-48.2-121H877.2zM899.4 464.8l20.7 56.6H878L899.4 464.8z"></path> <path d="M103.9 462.8v-16.6c1.6-0.1 3.3-0.2 4.9-0.2 45.6-1.4 75.4 39.1 75.4 39.1s-32.2 44.8-66.8 44.8c-5 0-9.4-0.8-13.4-2.2v-50.5c17.7 2.2 21.3 10 32 27.7l23.7-20c0 0-17.3-22.7-46.5-22.7C110 462.3 106.9 462.5 103.9 462.8M103.9 407.8v24.8c1.6-0.1 3.3-0.2 4.9-0.3 63.3-2.2 104.6 51.9 104.6 51.9s-47.4 57.7-96.7 57.7c-4.5 0-8.7-0.4-12.7-1.1v15.4c3.4 0.4 7 0.7 10.6 0.7 46 0 79.2-23.5 111.4-51.2 5.3 4.3 27.2 14.7 31.7 19.2 -30.6 25.6-101.9 46.3-142.3 46.3 -3.9 0-7.6-0.2-11.3-0.6v21.6h174.7V407.8H103.9zM103.9 527.8v13.1c-42.5-7.6-54.3-51.8-54.3-51.8s20.4-22.6 54.3-26.3v14.4c0 0 0 0-0.1 0 -17.7-2.2-31.7 14.5-31.7 14.5S80 519.6 103.9 527.8M28.4 487.2c0 0 25.2-37.1 75.5-41v-13.5C48.2 437.2 0 484.4 0 484.4s27.3 79 103.9 86.3v-14.4C47.7 549.2 28.4 487.2 28.4 487.2z"></path> </g> </svg> <div class="global-footer__region"> <a href="https://www.nvidia.cn/on-demand/location-selector/" target="_self"> <!--<img class="global-footer__region__icon" src="/etc/designs/nvidiaGDC/clientlibs_base/images/country-selector/cn.png" />--> <span class="global-footer__region__label"> CHN - 中国 </span> </a> </div> <ul class="global-footer__links"> <li> <a href="https://www.nvidia.cn/about-nvidia/privacy-policy/" target="_self">隐私声明 </a> </li> <li> <a href="https://www.nvidia.cn/about-nvidia/privacy-center/" target="_self">管理我的隐私</a> </li> <li> <a href="https://www.nvidia.cn/about-nvidia/legal-info/" target="_self">法律事宜</a> </li> <li> <a href="https://www.nvidia.cn/about-nvidia/accessibility/" target="_self">无障碍访问</a> </li> <li> <a href="https://www.nvidia.cn/security/" target="_self">产品安全性</a> </li> <li> <a href="https://www.nvidia.cn/contact/asia/" target="_self">联系我们</a> </li> </ul> <div class="global-footer__copyright">Copyright © 2025 NVIDIA Corporation</div> <style>#brandFooter{display: none;}</style> <script> $(function() { $("#nod-login span").text("登录") }); $(function() { $("#nod-logout span").text("退出") }); </script> <script src="/content/dam/en-zz/Solutions/unibrow/unibrow-script.js"></script> </div> </div> <!-- /Global footer --> <!-- Locale level script injection for pages --> <div class="hide" style="display: none;"> <!-- DO NOT REMOVE BELOW SCRIPT --> <script src="https://www.nvidia.cn/content/dam/en-zz/zh_cn/Solutions/assets/js/china-pipl-popup-trigger.min.js"></script> <!-- ABOVE SCRIPT BY MD --> <style> .imgwidth{ position:relative; } .image-credit { color: #ccc; font-size: 11px; line-height: 1.4em; position:absolute; } .image-credit.credit--dark{ color: #333; } .image-credit.position--top-left{ top:12px; left:15px; } .image-credit.position--top-right{ top:12px; right:15px; } .image-credit.position--bottom-left{ bottom:12px; left:15px; } .image-credit.position--bottom-right{ bottom:12px; right:15px; } </style> <script> $(document).ready(function(){ $('.image-credit').each(function(){ var imageOuter = $(this).parent().parent().prev().children('.image-container').children().append(this); }) }) </script> <script> //Haiman Zheng: WeChat SDK, do not remove, added on April 25 (function() { var userAgent = navigator.userAgent || navigator.vendor || window.opera; var isWeixin = /MicroMessenger/.test(userAgent); if (isWeixin) { var script = document.createElement('script'); var weChatSDK = document.createElement('script'); script.src = '//res2.wx.qq.com/open/js/jweixin-1.6.0.js'; weChatSDK.src = '/content/dam/en-zz/zh_cn/Solutions/assets/js/wechat-js-sdk-v02.js'; document.body.appendChild(script); document.body.appendChild(weChatSDK); } })(); </script> </div> <!-- End of Locale level script injection for pages --> </div> <script src="/etc/designs/nvidiaGDC/clientlibs_base.min.1636c5282c77b207f6ec21834a3d3f73.js"></script> <script src="/etc/designs/nvidiaGDC/clientlibs-all.min.96f60a29dc4b7c9d74f38ff969cb8986.js"></script> <script type="text/javascript"> NVIDIAGDC.funcQueue.executeQueue(); //DTM code Execution if(typeof _satellite !== "undefined"){ _satellite.pageBottom(); } /*Logic to handle window resize , All window resize should be handled here at global Level*/ var windowResizeID, screenWidth, pixelSize = window.devicePixelRatio; var preResizeViewPort=NVIDIAGDC.Browser.getViewport(); $(window).resize(function() { clearTimeout(windowResizeID); windowResizeID = setTimeout(handleWindowResizing, 500); }); function handleWindowResizing(){ var viewPort = NVIDIAGDC.Browser.getViewport(); if(viewPort!==preResizeViewPort) { preResizeViewPort=viewPort; var heroBannerarticles=$(".heroBanner").find("article.lazyloaded"); heroBannerarticles.each(function(index,element) { var bcgImagePath = ''; var bg = $(this).css('background-image'); var currentBGimage=bg.replace('url(','').replace(')',''); if(viewPort === "mobile"){ bcgImagePath = $(this).attr('data-bcgimagemobile'); } else if(viewPort === "tablet"){ bcgImagePath = $(this).attr('data-bcgimagetablet'); } else if(viewPort === "desktop"){ bcgImagePath = $(this).attr('data-bcgimagepc'); }else if(viewPort === "laptop"){ bcgImagePath = $(this).attr('data-bcgimagelaptop'); } if(bcgImagePath !== "undefined" && bcgImagePath !== "" && currentBGimage!==bcgImagePath){ $(this).css("background-image" , "url('" + bcgImagePath +"')"); } }); var lazylodedimages=$(".image").find("img.lazyloaded"); var loadedimages=lazylodedimages.length; lazylodedimages.each(function(index,element) { var imagescr="" var currentscr=$(this).attr("src"); if(pixelSize >= 1.5) { if(viewPort === "mobile"){ imagescr = $(this).attr('data-src-mobile-retina'); } else if(viewPort === "tablet"){ imagescr = $(this).attr('data-src-tablet-retina'); } else if(viewPort === "laptop"){ imagescr = $(this).attr('data-src-laptop-retina'); } else { imagescr = $(this).attr('data-src-desktop-retina'); } }else { if(viewPort === "mobile"){ imagescr = $(this).attr('data-bcgimagemobile'); } else if(viewPort === "tablet"){ imagescr = $(this).attr('data-src-tablet'); } else if(viewPort === "laptop"){ imagescr = $(this).attr('data-src-laptop'); } else { imagescr = $(this).attr('data-src-desktop'); } } if(imagescr !== "undefined" && imagescr !== "" && currentscr!==imagescr){ $(this).attr("src" , imagescr); } }); } } /*load model images post page load*/ $(window).load(function() { if(typeof(lazySizes) != "undefined"){ $(".modalContent").find(".lazyload").each(function(){ lazySizes.loader.unveil(this); }); } }); </script> </body> </html>