Có thể biên dịch chương trình CUDA mà không cần thiết bị có khả năng CUDA trên cùng một nút, chỉ sử dụng bộ công cụ NVIDIA CUDA ...?Tôi có thể biên dịch chương trình cuda không có thiết bị cuda
Trả lời
Câu trả lời cho câu hỏi của bạn là CÓ.
Trình điều khiển biên dịch nvcc
không liên quan đến sự hiện diện vật lý của thiết bị, do đó bạn có thể biên dịch mã CUDA ngay cả khi không có GPU có khả năng CUDA. Tuy nhiên, hãy cảnh báo rằng, theo Robert Crovella, thư viện điều khiển CUDA libcuda.so
(cuda.lib
dành cho Windows) đi kèm với trình điều khiển NVIDIA và không có trình cài đặt bộ công cụ CUDA. Điều này có nghĩa là các mã yêu cầu API trình điều khiển (có các điểm vào có tiền tố là cu
, xem Phụ lục H của Hướng dẫn lập trình CUDA) sẽ cần cài đặt trình điều khiển "gần đây" mà không có sự hiện diện của GPU NVIDIA, chạy trình cài đặt trình điều khiển riêng biệt với công tắc dòng lệnh --help
.
Theo cùng lý do, bạn có thể biên dịch mã CUDA cho kiến trúc khi nút của bạn lưu trữ GPU của một kiến trúc khác. Ví dụ, bạn có thể biên dịch mã cho GeForce GT 540M (khả năng tính toán 2.1) trên máy lưu trữ GT 210 (khả năng tính toán 1.2).
Tất nhiên, trong cả hai trường hợp (không có GPU hoặc GPU có kiến trúc khác nhau), bạn sẽ không thể chạy thành công mã.
Đối với các phiên bản đầu của CUDA, có thể biên dịch mã theo phương thức mô phỏng và chạy mã được biên dịch trên CPU, nhưng mô phỏng thiết bị là do thời gian không được chấp nhận. Nếu bạn không có một thiết bị có khả năng CUDA, nhưng muốn chạy mã CUDA, bạn có thể thử sử dụng gpuocelot (nhưng tôi không có bất kỳ kinh nghiệm nào với điều đó).
- 1. Có thể các trán python biên dịch mã CUDA không?
- 2. Macro trình biên dịch CUDA (nvcc)
- 3. Phần cứng CUDA có cần thiết vào thời gian biên dịch không?
- 4. Lỗi biên dịch CUDA từ Command Prompt
- 5. chương trình cuda trên VMware
- 6. CUDA 7.0 Lỗi khi biên dịch mẫu
- 7. Tôi có thể lấy số Lõi trong thiết bị cuda như thế nào?
- 8. Cài đặt trình biên dịch CUDA nvcc Ubuntu 12.04
- 9. CMake + Cuda: biên dịch tệp cpp ở chế độ Cuda (--x = cu)
- 10. Biên dịch CUDA mà không cần Visual Studio - "Không thể tìm thấy trình biên dịch cl.exe trong đường dẫn"
- 11. Tôi có thể gọi hàm thời gian chạy CUDA từ mã C++ không được biên dịch bởi nvcc không?
- 12. Cách chọn thiết bị khi chạy tệp thực thi CUDA?
- 13. Tôi có thể nhận được khả năng tính toán CUDA (phiên bản) trong thời gian biên dịch trướC#define không?
- 14. Chức năng CUDA có thể gọi bằng thiết bị hoặc máy chủ
- 15. Làm thế nào tôi có thể biên dịch mã CUDA sau đó liên kết nó với một dự án C++?
- 16. không phát hiện thấy thiết bị có khả năng CUDA (sử dụng máy chủ ubuntu 12.04.4)
- 17. Hạt nhân CUDA có thể gọi hàm cublas không?
- 18. Truy cập root cần thiết cho CUDA?
- 19. CUDA có hỗ trợ đệ quy không?
- 20. Sử dụng std :: vector trong mã thiết bị CUDA
- 21. ID thiết bị NVAPI liên quan đến ID thiết bị CUDA như thế nào?
- 22. Sao chép một cấu trúc có chứa con trỏ đến thiết bị CUDA
- 23. phần chênh lệch giữa Toolkit CUDA và sdk CUDA
- 24. Lỗi Opencv: không hỗ trợ GPU (thư viện được biên dịch không hỗ trợ CUDA)
- 25. in từ hạt nhân cuda
- 26. NVIDIA NVCC và CUDA: Cubin vs PTX
- 27. Nsight Eclipse Cuda + opencv
- 28. Bạn có thể lập trình/kiểm tra CUDA trong máy ảo không?
- 29. Có thể sử dụng tăng tốc GPU khi biên dịch nhiều chương trình trên trình biên dịch gcc không?
- 30. Bạn có thể tìm ra trình biên dịch nào được sử dụng để biên dịch chương trình không?
Có. Trình điều khiển trình biên dịch 'nvcc' không liên quan đến sự hiện diện vật lý của một thiết bị, do đó bạn có thể biên dịch ngay cả khi không có GPU có khả năng của CUDA. Theo cùng một lý do, bạn có thể biên dịch mã CUDA cho một kiến trúc khi nút của bạn lưu trữ một GPU có kiến trúc khác nhau. Tất nhiên, trong cả hai trường hợp, bạn sẽ không thể chạy mã thành công. Hãy nhớ rằng mô phỏng thiết bị là do một số thời gian không được chấp nhận, vì vậy nếu bạn không có một thiết bị có khả năng CUDA, bạn có thể thử gpuocelot (nhưng tôi không có bất kỳ kinh nghiệm với điều đó). – JackOLantern
@RobertCrovella Cảm ơn bạn đã làm rõ. Tôi đã chuyển đổi nhận xét thành câu trả lời đầy đủ. Xin vui lòng, cảm thấy tự do để chỉnh sửa nó hoặc thêm ý kiến nếu tôi đang thiếu một cái gì đó. – JackOLantern