RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

WSL2上CUDA性能的當前狀態(tài)和發(fā)展

星星科技指導員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-04-06 14:12 ? 次閱讀

2020 年 6 月,我們發(fā)布了第一個 NVIDIA 顯示驅(qū)動程序,該驅(qū)動程序為 Windows Insider Program ( WIP )預覽用戶啟用了 Windows Subsystem for Linux ( WSL ) 2 中的 GPU 加速功能。當時,這仍然是一個早期預覽,功能有限。一年后,隨著我們穩(wěn)步增加新功能,我們也一直專注于優(yōu)化 CUDA 驅(qū)動程序,以在 WSL2 上提供最佳性能。

WSL 是 Windows 10 的一項功能,它使您能夠直接在 Windows 上運行本機 Linux 命令行工具,而不需要雙啟動環(huán)境的復雜性。在內(nèi)部, WSL 是一個與 Microsoft Windows 操作系統(tǒng)緊密集成的容器化環(huán)境。 WSL2 使您能夠與傳統(tǒng) Windows 桌面和現(xiàn)代商店應用程序一起運行 Linux 應用程序。有關 WSL 上 CUDA 的更多信息,請參閱 在 Linux 2 的 Windows 子系統(tǒng)上宣布 CUDA 。

在本文中,我們將重點介紹 WSL2 上 CUDA 性能的當前狀態(tài)、已經(jīng)進行的各種以性能為中心的優(yōu)化,以及未來的展望。

WSL 性能的當前狀態(tài)

在過去的幾個月里,我們一直在通過分析和優(yōu)化 NVIDIA 和 Microsoft 方面的多個關鍵驅(qū)動程序路徑來調(diào)整 WSL2 上 CUDA 驅(qū)動程序的性能。在本文中,我們將詳細介紹我們?yōu)檫_到當前性能水平所做的工作。在我們開始之前,這里是 WSL2 在幾個基準上的當前狀態(tài)。

在 WSL2 上,所有 GPU 操作都通過 VMBUS 序列化并發(fā)送到主機內(nèi)核接口。 WSL2 最常見的性能問題之一是上述操作的開銷。我們知道,開發(fā)人員想知道,與直接在本機 Linux 上運行工作負載相比,在 WSL2 中運行工作負載是否有任何開銷。有區(qū)別嗎?這項開銷大嗎?

poYBAGJNL1aAHtwrAABpkOifvWc043.png

圖 1 。 Blender 基準測試結(jié)果( WSL2 與 Native ,結(jié)果以秒為單位,越低越好) 。

對于 Blender 基準測試, WSL2 性能與本機 Linux 相當或接近(在 1% 以內(nèi))。因為 Blender 循環(huán)將長時間運行的內(nèi)核推送到 GPU 上,所以 WSL2 的開銷在這些基準上都是不可見的。

pYYBAGJNL1eAJfqxAABtD-7i0mk590.png

圖 2 。 Rodinia 基準測試套件結(jié)果( WSL2 與本機比較,結(jié)果以秒為單位,越低越好)。

談到 Rodinia 基準測試套件(圖 2 ),我們在第一次啟動對 WSL2 的支持時已經(jīng)取得了很大的成績。

新的驅(qū)動程序可以執(zhí)行得更好,甚至可以達到接近粒子過濾器測試的本機執(zhí)行時間。它也最終縮小了心肌細胞基準的差距。這對于 Myocyte 基準測試尤其重要,與本機 Linux 相比, WSL2 的早期結(jié)果慢了 10 倍。 Myocyte 在 WSL2 上特別難,因為這個基準由許多非常小的順序提交(小于微秒)組成,使其成為順序啟動延遲微基準。這是我們正在調(diào)查的一個領域,以實現(xiàn)完全的性能對等。

poYBAGJNL1iAIhexAAA_bvXCV3E236.png

圖 3 。 GenomeWorks CUDA 對齊器示例執(zhí)行時間( WSL2 與本機比較,結(jié)果以秒為單位,越低越好) 。

對于 GenomeWorks 基準測試(圖 3 ),我們使用 CUDA 對齊器進行 GPU 加速成對對齊。為了顯示性能開銷的最壞情況,這里的基準測試運行是使用由短時間運行的內(nèi)核組成的樣本數(shù)據(jù)集完成的。由于內(nèi)核啟動有多短,您可以觀察 WSL2 上的啟動延遲開銷。但是,即使對于這個最壞的示例,性能也等于或超過本機速度的 90% 。我們的期望是,對于數(shù)據(jù)集大小通常較大的實際用例,性能將接近本機性能。

要探索內(nèi)核大小和 WSL2 性能之間的關鍵權衡,請查看下一個基準測試。

poYBAGJNL1mAbTnhAACEClcf1EE803.png

圖 4 。 PyTorch MNIST 每個歷元的采樣時間,具有不同的批大?。?WSL2 與本機,結(jié)果以秒為單位,越低越好) 。

圖 4 顯示了 PyTorch MNIST 測試,這是一個專門設計的小型玩具機器學習示例,它強調(diào)了讓 GPU 保持忙碌以在 WSL2 上達到令人滿意的性能是多么重要。與本機 Linux 一樣,工作負載越小,啟動 GPU 進程的開銷越可能導致性能下降。這種降級在 WSL2 上更為明顯,與本機 Linux 相比,其擴展性也有所不同。

隨著對 WSL2 驅(qū)動程序的不斷改進,對于非常小的工作負載,這種伸縮性差異應該越來越不明顯。在 WSL2 和本機 Linux 上避免這些陷阱的最佳方法是盡可能使 GPU 保持忙碌。

poYBAGJNL5KASu2FAAA4k_obn8s822.png

表 1 。用于基準測試的系統(tǒng)配置和軟件版本

。

poYBAGJNL5qAaVKAAAA_pb7CGe0859.png

表 2 。使用的基準測試名稱以及每個測試的簡要說明

。

啟動延遲優(yōu)化

啟動延遲是一些本機 Linux 應用程序與 WSL2 之間性能差異的主要原因之一。這里有兩個重要指標:

GPU 內(nèi)核啟動延遲: 通過 CUDA 調(diào)用啟動內(nèi)核并由 GPU 啟動執(zhí)行所需的時間。

端到端開銷 (啟動延遲加上同步開銷):通過 CUDA 調(diào)用啟動內(nèi)核并在 CPU 上等待其完成所需的總時間,不包括內(nèi)核運行時本身。

當推送到 GPU 上的工作負載明顯大于延遲本身時,啟動延遲通??梢院雎圆挥?。多虧了 CUDA 原語(如流和圖),您可以讓 GPU 保持忙碌,并可以利用這些 API 的異步特性來克服任何延遲問題。但是,當發(fā)送到 GPU 的工作負載的執(zhí)行時間接近啟動延遲時,它很快就會成為一個主要的性能瓶頸。啟動延遲將充當啟動速率限制器,這將導致內(nèi)核執(zhí)行性能下降。

本機 Windows 上的啟動延遲

在深入探討在 WSL2 上啟動延遲是一個需要克服的重大障礙之前,我們先解釋一下本機 Windows 上 CUDA 內(nèi)核的啟動路徑。 CUDA Windows 驅(qū)動程序中實現(xiàn)了兩種不同的啟動模型:一種用于數(shù)據(jù)包調(diào)度,另一種用于硬件加速 GPU 調(diào)度。

分組調(diào)度

在數(shù)據(jù)包調(diào)度中,操作系統(tǒng)負責大部分的調(diào)度工作。然而,為了補償提交模型和顯著的啟動開銷, CUDA 驅(qū)動程序總是嘗試基于各種啟發(fā)式方法批處理一定數(shù)量的內(nèi)核啟動。圖 5 顯示,在數(shù)據(jù)包調(diào)度模式下,操作系統(tǒng)調(diào)度提交,并針對給定上下文對提交進行序列化。這意味著一次提交的所有工作必須在下一次提交的任何工作開始之前完成。

為了提高數(shù)據(jù)包調(diào)度模式下的吞吐量, CUDA 驅(qū)動程序嘗試在一次提交中聚合一些啟動,即使它們在內(nèi)部跨多個 GPU 隊列調(diào)度。這種啟發(fā)式方法有助于解決錯誤依賴性和并行性問題,還可以減少提交的數(shù)據(jù)包數(shù)量,減少調(diào)度開銷時間。

pYYBAGJNL1mAMX0YAAB91uejUDg510.png

圖 5 。 WDDM 數(shù)據(jù)包調(diào)度模型概述及其在 CUDA 驅(qū)動程序中的使用 。

在這個提交模型中,當工作負載受啟動延遲限制時,您會看到性能達到極限。您可以通過查詢具有較小掛起工作負載的流的狀態(tài),強制發(fā)布未完成的提交。在這種情況下,除了必須處理潛在的錯誤依賴項外,它還面臨著高調(diào)度開銷。

硬件加速 GPU 調(diào)度

最近,微軟推出了一種稱為硬件加速 GPU 調(diào)度的新模式。使用此模型,可以直接為給定上下文公開硬件隊列,并且用戶模式驅(qū)動程序(在本例中為 CUDA )全權負責管理工作提交和工作項之間的依賴關系。它消除了將多個內(nèi)核啟動批處理到單個提交中的需要,使您能夠采用與本地 Linux 驅(qū)動程序相同的策略,在本地 Linux 驅(qū)動程序中,工作提交幾乎是即時的(圖 6 )。

poYBAGJNL1qAbPIRAACESOfbxw8359.png

圖 6 。 CUDA 驅(qū)動程序中使用的 WDDM 硬件調(diào)度模型概述 。

這種基于硬件調(diào)度的提交模型消除了錯誤的依賴性,避免了緩沖的需要。它還通過將以前在 CPU 上處理的一些操作系統(tǒng)調(diào)度任務卸載到 GPU 來減少開銷。

在 WSL2 上利用硬件加速 GPU 調(diào)度

為什么這些日程安排細節(jié)很重要?傳統(tǒng)上,本機 Windows 應用程序設計為隱藏較高的延遲。然而,對于本機 Linux 應用程序來說,啟動延遲從來不是一個因素,在本機 Linux 應用程序中,延遲影響性能的閾值比 Windows 上的閾值小一個數(shù)量級。

當這些相同的 Linux 應用程序在 WSL2 中運行時,啟動延遲變得更加突出。在這里,硬件加速 GPU 調(diào)度的好處可以抵消延遲導致的性能損失,因為 CUDA 在 WSL2 和本機 Windows 上采用了與本機 Linux 相同的提交策略。我們強烈建議在運行 WSL2 時切換到硬件加速 GPU 調(diào)度模式。

即使使用硬件加速的 GPU 調(diào)度,向 GPU 提交工作仍然是通過調(diào)用操作系統(tǒng)完成的,就像在數(shù)據(jù)包調(diào)度中一樣。不僅提交,而且在某些情況下,同步 MIG ht 還必須進行一些操作系統(tǒng)調(diào)用以進行錯誤檢測。在 WSL2 上對操作系統(tǒng)的每次此類調(diào)用都涉及跨越 WSL2 邊界,通過 VMBUS 到達主機內(nèi)核模式。這可能很快成為驅(qū)動程序的單一瓶頸(圖 7 )。同時進行小批量 GPU 工作的 Linux 應用程序可能仍然不能很好地運行。

pYYBAGJNL1uAQ_O1AAF-MG7hKes618.png

圖 7 。 WSL2 上提交路徑的概述以及額外開銷的各個位置 。

異步提交以減少啟動延遲

我們找到了一個解決方案,通過 Microsoft 更改提交調(diào)用的異步性來減輕 WSL 上額外的啟動延遲。通過利用此調(diào)用,您可以在提交過程中開始重疊其他操作,并以這種方式隱藏額外的 WSL 開銷。由于 submit 調(diào)用的新異步特性,啟動延遲現(xiàn)在可與本機 Windows 媲美。

pYYBAGJNL1-AdGP5AABuYzG6kQ4273.png

圖 8 。 WSL2 和本機 Windows 上啟動延遲的微基準 。

盡管在同步路徑中進行了優(yōu)化,但與本機 Windows 相比,在提交時啟動和同步的總開銷仍然更高。點 1 的 VMBUS 開銷導致了這一點,而不是同步路徑本身(圖 7 )。這種影響可以在圖 8 中看到,在圖 8 中,我們測量了一次發(fā)射的開銷,然后是同步。 VMBUS 引起的額外延遲是顯而易見的。

使提交調(diào)用異步并不一定完全消除啟動延遲成本。相反,它使您能夠通過同時執(zhí)行其他操作來抵消它。例如,一個應用程序可以在一個流上通過管道進行多次啟動,前提是內(nèi)核啟動足夠長,可以覆蓋額外的延遲。在這種情況下,這一成本可以被隱藏起來,并設計成只有在一系列提交的開始時才可見。

簡而言之,我們已經(jīng)并將繼續(xù)改進和優(yōu)化 WSL2 的性能。盡管有到目前為止提到的所有優(yōu)化,但如果應用程序在 GPU 上沒有管道化足夠的工作負載,或者更糟糕的是,如果工作負載太小,那么本機 Linux 和 WSL2 之間的性能差距將開始出現(xiàn)。這也是為什么 WSL2 和本機 Linux 之間的比較具有挑戰(zhàn)性,并且在不同的基準測試中差異很大。

假設應用程序正在進行足夠多的流水線工作,以隱藏延遲開銷,并在應用程序的整個生命周期內(nèi)保持 GPU 忙碌。使用當前的一組優(yōu)化,性能很可能接近甚至與本機 Linux 應用程序相當。

當應用程序提交的 GPU 工作負載不足以克服該延遲時,本機 Linux 和 WSL2 之間的性能差距將開始出現(xiàn)。間隔與總延遲和一次推送的工作大小之間的差異成正比。

這也是為什么,盡管在這方面做了很多改進,我們?nèi)詫⒗^續(xù)關注減少延遲,使其越來越接近本機 Linux 。

新的分配優(yōu)化

我們關注的另一個領域是內(nèi)存分配。與啟動延遲(只要應用程序在 GPU 上啟動工作,啟動延遲就會影響性能)不同,內(nèi)存分配主要影響程序的啟動、加載和卸載階段。

這并不意味著它不重要;遠非如此。即使與僅提交 GPU 上的工作相比,這些操作并不頻繁,但相關的驅(qū)動程序開銷通常要高出一個數(shù)量級。一次分配幾兆字節(jié)最終需要幾毫秒才能完成。

為了優(yōu)化此路徑,我們的主要方法之一是在 CUDA 中啟用異步分頁操作。這種功能在 Windows 顯示驅(qū)動程序模型中已經(jīng)使用了一段時間,但 CUDA 驅(qū)動程序直到現(xiàn)在才使用它。此策略的主要優(yōu)點是,您可以退出分配調(diào)用,并將控制權交還給用戶代碼。您不必等待昂貴的 GPU 操作完成,例如更新頁表。相反,等待被推遲到引用分配的下一個操作。

這不僅可以改善 CPU 和 GPU 工作之間的重疊,而且還可以完全消除等待。如果分頁操作提前完成, CUDA 驅(qū)動程序可以通過監(jiān)聽映射的圍欄值來避免發(fā)出 OS 調(diào)用以等待分頁操作。在 WSL2 上,這一點尤為重要。只要避免調(diào)用主機內(nèi)核模式,就可以避免 VMBUS 開銷。

poYBAGJNL2CATFIWAAB2I_yGafg852.png

圖 9 。在 CUDA 驅(qū)動程序中完成的分配異步映射概述。

我們到了嗎?

在過去的幾個月里,我們在 WSL2 性能方面取得了長足的進步,現(xiàn)在我們看到許多基準測試的結(jié)果與本機 Linux 相當或接近。這并不意味著我們已經(jīng)達到了目標,我們將停止優(yōu)化驅(qū)動程序。一點也不!

首先,微軟目前正在研究硬件調(diào)度的未來優(yōu)化, MIG ht 使我們能夠?qū)娱_銷降至最低。同時,在這些功能完全開發(fā)之前,我們將繼續(xù)優(yōu)化 WSL 上的 CUDA 驅(qū)動程序,并為本機 Windows 提供建議。

其次,我們將關注通過某種特殊形式的內(nèi)存拷貝快速高效地分配內(nèi)存。我們還將很快開始研究 WSL2 上更好的多 GPU 功能和優(yōu)化,以使更密集的工作負載能夠快速運行。

WSL2 是 NVIDIA 完全受支持的平臺,它將獲得 CUDA 為其所有其他受支持平臺所努力提供的相同功能和性能重點。我們的目的是使 WSL2 性能更好并適合開發(fā)。我們還將使其成為一個 CUDA 平臺,它對每個用例都有吸引力,性能盡可能接近任何本機 Linux 系統(tǒng)。

最后,但并非最不重要的一點是,我們衷心感謝開發(fā)人員社區(qū)在過去一年中迅速采用 GPU 加速 WSL2 預覽、報告問題并不斷提供反饋。通過與我們分享我們 MIG ht 在其他方面錯過的性能用例,您幫助我們發(fā)現(xiàn)了潛在的問題,并在性能方面取得了長足的進步。如果沒有您堅定不移的支持, WSL2 上的 GPU 加速將不會達到今天的水平。我們期待著與社區(qū)進一步合作,努力實現(xiàn) CUDA 在 WSL2 上的未來里程碑。

要訪問驅(qū)動程序安裝程序和文檔,請注冊 NVIDIA 開發(fā)人員計劃 和 Microsoft Windows Insider 程序 。

以下資源包含有助于您了解 CUDA 如何使用 WSL2 的寶貴信息,包括如何開始運行應用程序和深入學習容器:

WSL 上的 CUDA 下載頁面

WSL 用戶指南上的 CUDA

在 Linux 2 的 Windows 子系統(tǒng)上宣布 CUDA

GPU 在 Linux 的 Windows 子系統(tǒng)中加速了 ML 培訓

什么是 WSL ?

使用 WSL2 ( Linux 的 Windows 子系統(tǒng))在 Microsoft Windows 10 上運行 RAPIDS

關于作者

Raphael Boissel 領導 Windows 平臺的 CUDA 工程。他擁有法國工程學院 EPITA 計算機科學碩士學位。

Arthy Sundaram 是 CUDA 平臺的技術產(chǎn)品經(jīng)理。她擁有哥倫比亞大學計算機科學碩士學位。她感興趣的領域是操作系統(tǒng)、編譯器和計算機體系結(jié)構。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10854

    瀏覽量

    211574
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4729

    瀏覽量

    128890
  • Linux
    +關注

    關注

    87

    文章

    11292

    瀏覽量

    209323
收藏 人收藏

    評論

    相關推薦

    RHEL即將成為微軟WSL的官方Linux發(fā)行版

    需要在 Windows 系統(tǒng)構建 Linux 應用,然后在 RHEL 環(huán)境中部署的開發(fā)人員來說,能夠通過 WSL 使用與生產(chǎn)環(huán)境相同的 RHEL 可以節(jié)省大量時間和資源。” 微軟稱,雖然用戶可以通過
    的頭像 發(fā)表于 11-26 11:03 ?313次閱讀

    用SecureCRT連接串口卻沒有登錄Ubuntu界面

    用SecureCRT連接串口成功后界面只顯示光標沒有Ubuntu的登陸界面顯示。我用的是WSL2和Ubuntu 18.04,想連接調(diào)試串口,上位機使用CRT登錄(115200-8-N-1)。板子為
    發(fā)表于 11-06 21:16

    在MATLAB中開發(fā)狀態(tài)監(jiān)控算法

    狀態(tài)監(jiān)控是采集和分析設備傳感器數(shù)據(jù)的過程,目的是評估設備在運行期間的健康狀態(tài)。準確識別設備的當前健康狀態(tài)對于開發(fā)預測性維護和基于狀態(tài)的維護計
    的頭像 發(fā)表于 10-24 13:51 ?252次閱讀
    在MATLAB中開發(fā)<b class='flag-5'>狀態(tài)</b>監(jiān)控算法

    【米爾-瑞米派 Remi Pi 創(chuàng)意秀】 01 - 開發(fā)環(huán)境搭建

    使用。 這里wsl2就是我的服務器(沒錢專門搞臺服務器),PC主要是使用 MobaXterm作為工作臺與瑞米派交互,主要是通過串口和網(wǎng)口的形式。 wsl2 端參考米爾的文檔配置好了交叉編譯工具。 瑞米派
    發(fā)表于 09-27 21:29

    怎么在TMDSEVM6678: 6678自帶的FFT接口和CUDA提供CUFFT函數(shù)庫選擇?

    請教一下gpgpu包括4個Riscv cpu和一個DPU, 沒有6678,要替換原來信號處理用的6678,該怎么在6678自帶的FFT接口和CUDA提供CUFFT函數(shù)庫選擇?
    發(fā)表于 09-27 07:20

    打破英偉達CUDA壁壘?AMD顯卡現(xiàn)在也能無縫適配CUDA

    電子發(fā)燒友網(wǎng)報道(文/梁浩斌)一直以來,圍繞CUDA打造的軟件生態(tài),是英偉達在GPU領域最大的護城河,尤其是隨著目前AI領域的發(fā)展加速,市場火爆,英偉達GPU+CUDA的開發(fā)生態(tài)則更加穩(wěn)固,AMD
    的頭像 發(fā)表于 07-19 00:16 ?4661次閱讀

    英國公司實現(xiàn)英偉達CUDA軟件在AMD GPU的無縫運行

    7月18日最新資訊,英國創(chuàng)新科技企業(yè)Spectral Compute震撼發(fā)布了其革命性GPGPU編程工具包——“SCALE”,該工具包實現(xiàn)了英偉達CUDA軟件在AMD GPU的無縫遷移與運行,標志著在GPU計算領域,NVIDIA長期以來的市場壟斷地位或?qū)⒂瓉碇卮筇魬?zhàn)。
    的頭像 發(fā)表于 07-18 14:40 ?634次閱讀

    機動車控制應用中的當前遙感技術

    電子發(fā)燒友網(wǎng)站提供《機動車控制應用中的當前遙感技術.pdf》資料免費下載
    發(fā)表于 07-10 10:13 ?0次下載
    機動車控制應用中<b class='flag-5'>的當前</b>遙感技術

    軟件生態(tài)上超越CUDA,究竟有多難?

    神壇的,還是圍繞CUDA打造的一系列軟件生態(tài)。 ? 英偉達——CUDA的絕對統(tǒng)治 ? 相信對GPU有過一定了解的都知道,英偉達的最大護城河就是CUDACUDA在后端架構
    的頭像 發(fā)表于 06-20 00:09 ?3609次閱讀

    wsl2中安裝的idf,在monitor時會報錯的原因?

    wsl2中安裝的idf,使用vscode 擴展,功能一切正常,但是在 monitor 時會報下列錯誤 xtensa-esp32-elf-addr2line -pfiaC -e build
    發(fā)表于 06-17 07:30

    WSL2下VSCode插件安裝失敗的原因?

    \'re sure you don\'t want the function to raise exceptions. 2. Use an \'int\' return type
    發(fā)表于 06-06 08:07

    Keil使用AC6編譯提示CUDA版本過高怎么解決?

    \' ArmClang: warning: Unknown CUDA version 10.2. Assuming the latest supported version 10.1
    發(fā)表于 04-11 07:56

    讀出STM0.TIM0的當前計數(shù)器值,在讀取計數(shù)器之前我需要禁用所有中斷嗎?

    我正在嘗試讀出STM0.TIM0的當前計數(shù)器值,我的問題是,在讀取計數(shù)器之前我需要禁用所有中斷嗎。 在我看來,讀取計數(shù)器的處理可能會受到其他中斷的影響,這可能會導致我從寄存器讀取錯誤的值。 例如
    發(fā)表于 01-25 08:06

    如何在S7-200 SMART CPU斷電重啟后保持運動控制的當前位置值?

    S7-200 SMART 斷電重啟后由于初始化指令的執(zhí)行,當前位置會復位為0。要使S7-200 SMART運動控制的當前位置值在CPU斷電重啟后依然保持,可以通過以下的編程來實現(xiàn)。
    的頭像 發(fā)表于 01-10 10:28 ?2090次閱讀
    如何在S7-200 SMART CPU斷電重啟后保持運動控制<b class='flag-5'>的當前</b>位置值?

    什么是CUDA?誰能打破CUDA的護城河?

    在最近的一場“AI Everywhere”發(fā)布會上,Intel的CEO Pat Gelsinger炮轟Nvidia的CUDA生態(tài)護城河并不深,而且已經(jīng)成為行業(yè)的眾矢之的。
    的頭像 發(fā)表于 12-28 10:26 ?1.3w次閱讀
    什么是<b class='flag-5'>CUDA</b>?誰能打破<b class='flag-5'>CUDA</b>的護城河?
    RM新时代网站-首页