Giả sử tôi có tệp, hãy gọi nó là foo.cpp
, mục tiêu của tôi là biên dịch tệp này bằng nvcc ở chế độ cuda. Từ dòng lệnh này có thể dễ dàng thực hiện bằng cách gọi:CMake + Cuda: biên dịch tệp cpp ở chế độ Cuda (--x = cu)
nvcc --x=cu foo.cpp
Những gì tôi đang phải vật lộn với, là để có được CMake để làm điều tương tự chính xác này. Nó chỉ ra rằng lệnh CMake cuda_add_executable(foo foo.cpp)
sẽ lọc các tệp * .cpp và sử dụng trình biên dịch C++ - (thay vì nvcc).
Lưu ý rằng việc đổi tên tất cả các tệp thành * .cu không phải là tùy chọn vì codebase cũng phải hỗ trợ các bản dựng không phải cuda.
Bạn có thể thử đặt trình biên dịch CMAKE g ++ và đặt cờ không? – xhg