我们一直在linux中开发代码,但是想编译一个windows可执行文件.旧的非gpu版本与windows中的mingw编译得很好,所以我希望我能够用CUDA版本做同样的事情.
策略是在visual studio中使用nvcc编译内核代码,其余部分在mingw中使用gcc编译.
到目前为止,我们在visual studio中轻松编译了.cu文件(内核和内核启动).但是,我们仍然无法在mingw中编译c代码.c代码包含cuda api调用,例如cudaMalloccuda类型cudaEvent_t,因此我们必须包括cuda.h和cuda_runtime.h.但是,gcc会为这些标头提供警告和错误,例如:
../include/host_defines.h:57:0: warning: "__cdecl" redefined
Run Code Online (Sandbox Code Playgroud)
和
../include/vector_functions.h:127:14: error: 'short_4' has no member named 'x'
Run Code Online (Sandbox Code Playgroud)
关于如何包含这些头文件并编译代码的c部分的任何想法?
据我所知,没有MSVC是不可能使用CUDA的。因此,您需要 MSVC 来使 nvcc 工作,并且您可以使用 mingw 编译 CPU 代码并将所有内容链接在一起。
根据http://forums.nvidia.com/index.php?showtopic=30743
“目前没有计划支持 mingw。”
| 归档时间: |
|
| 查看次数: |
7921 次 |
| 最近记录: |