Tôi đang tìm kiếm trợ giúp để bắt đầu với một dự án liên quan đến CUDA. Mục tiêu của tôi là có một dự án mà tôi có thể biên dịch trong trình biên dịch g ++ bản địa nhưng sử dụng mã CUDA. Tôi hiểu rằng tôi có để biên dịch mã CUDA của tôi trong trình biên dịch nvcc, nhưng từ sự hiểu biết của tôi bằng cách nào đó tôi có thể biên dịch mã CUDA thành một tập tin cubin hoặc một tập tin ptx.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++?
Dưới đây là những câu hỏi của tôi:
- Làm thế nào để sử dụng nvcc để biên dịch thành một file cubin hoặc một tập tin PTX? Tôi không cần một cái gì đó?
- Tôi muốn sử dụng loại tệp nào?
- Các lệnh g ++ để biên dịch chính xác và liên kết dự án với nhau là gì?
Giả như sau:
- Tôi có một tập tin gọi là "main.cpp" mà có một chức năng chính trong đó và bao gồm cuda.h.
- Tôi có một tệp khác có tên "cudaFunc.cu" có mã CUDA trong đó. Ví dụ, giả sử rằng tôi muốn thêm hai mảng số nguyên tồn tại trong main.cpp.
Bạn cũng có thể cung cấp tệp '.cu' và' .cpp' tối thiểu mà bạn đã thử nghiệm không? Tò mò về việc sử dụng, cpp, đặc biệt là làm thế nào để xem các hàm '__global__' của nhân từ' .cu'. –
Cẩn thận ở đó, mục tiêu sạch sẽ của bạn sẽ xóa tất cả các tệp kết thúc bằng 'o'. Bạn có thể muốn 'clean: rm -rf * .o program' – gerowam
Cảm ơn bạn [Matthew] (https://stackoverflow.com/users/1226843/matthew), điều này rất hữu ích. – SRG