僅使用NVIDIA CUDA Toolkit,是否可以在同一節點上編譯CUDA程序而無需具備支持CUDA的設備?我可以在沒有cuda設備的情況下編譯cuda程序嗎
11
A
回答
13
您的問題的答案是YES。
nvcc
編譯器驅動程序與設備的物理存在無關,所以即使沒有支持CUDA的GPU,您也可以編譯CUDA代碼。不過要注意的是,正如Robert Crovella所說,CUDA驅動程序庫libcuda.so
(適用於Windows的cuda.lib
)附帶了NVIDIA驅動程序,而不是CUDA工具包安裝程序。這意味着需要驅動程序API(其入口點前綴爲cu
,參見CUDA C編程指南附錄H)的代碼需要強制安裝「最近」驅動程序,而不需要NVIDIA GPU,單獨運行驅動程序安裝程序與--help
命令行切換。
遵循相同的基本原理,當節點託管不同體系結構的GPU時,可以爲體系結構編譯CUDA代碼。例如,您可以在託管GT 210(計算能力1.2)的計算機上編譯GeForce GT 540M(計算能力2.1)的代碼。
當然,在這兩種情況下(沒有GPU或不同架構的GPU),您將無法成功運行代碼。
對於CUDA的早期版本,可以在仿真模式下編譯代碼,並在CPU上運行編譯後的代碼,但設備仿真自一段時間以來不推薦使用。如果您沒有支持CUDA的設備,但想要運行CUDA代碼,則可以嘗試使用gpuocelot(但我對此沒有任何經驗)。
相關問題
- 1. 使用CUDA支持編譯的OpenCV可以在沒有CUDA的情況下使用嗎?
- 2. CUDA-GDB:沒有CUDA設備
- 3. 是否可以在沒有安裝CUDA驅動程序的情況下運行CUDA程序或庫?
- 4. 我可以在沒有該設備的情況下發布應用程序嗎?
- 5. python distutils可以編譯CUDA代碼嗎?
- 6. 我可以在沒有設備的情況下進行構建
- 7. VS2008沒有編譯cuda
- 8. 編譯器可以在沒有擴展的情況下編譯代碼嗎?
- 9. 如何在沒有證書的情況下編譯設備?
- 10. CUDA:編譯我的第一個cuda程序時出錯
- 11. 我可以在沒有ADFS的情況下設置SAML IDP嗎?
- 12. 我可以在沒有Google Closure庫的情況下編譯ClojureScript嗎?
- 13. 我可以在真實設備(iPod)上沒有證書的情況下啓動我的應用程序嗎?
- 14. 是否可以在沒有lib的情況下編譯C++?
- 15. 我可以在沒有iOS設備的情況下在iTunes Remote上發佈應用程序嗎?
- 16. CUDA編程:編譯錯誤
- 17. 我可以在沒有簽名的情況下將應用程序部署到Blackberry設備嗎?
- 18. 我可以在沒有設備的情況下從iTunes測試應用程序嗎?
- 19. 可以在沒有setter的情況下設置BeanUtils.setProperty()的值嗎?
- 20. 我可以在沒有Google Glass的情況下測試Google Glass的程序嗎?
- 21. 在沒有gnustep的情況下編譯目標c程序
- 22. 來自Ubuntu PPA的CUDA:編譯首個CUDA程序
- 23. spidermonkey可以在沒有數學支持的情況下編譯嗎?
- 24. 我可以在沒有對話框的情況下卸載應用程序嗎?
- 25. 我可以在沒有HttpPlatformHandler的情況下託管ASP.Net 5應用程序嗎?
- 26. 我可以在沒有編譯的情況下在我自己的文本編輯器中使用Less嗎?
- 27. 我可以在沒有編譯器的情況下將.c文件編譯爲.exe文件嗎?
- 28. 可以在不編譯xaml的情況下部署wpf應用程序嗎?
- 29. 我可以在沒有鍵盤的情況下訪問stdin嗎?
- 30. 我可以在沒有IIS的情況下安裝SharePoint Foundation嗎?
是的。 'nvcc'編譯器驅動程序與設備的物理存在無關,所以即使沒有支持CUDA的GPU,也可以進行編譯。遵循相同的基本原理,當節點託管不同體系結構的GPU時,可以爲體系結構編譯CUDA代碼。當然,在這兩種情況下,您將無法成功運行代碼。請記住,設備仿真已經有一段時間了,所以如果你沒有支持CUDA的設備,你可以嘗試gpuocelot(但我沒有任何經驗)。 – JackOLantern
@RobertCrovella感謝您的澄清。我已將該評論轉換爲完整答案。請隨時編輯它或添加評論,如果我失去了一些東西。 – JackOLantern