我在Mac OSX 10.6上使用cmake 2.8.1和CUDA 3.0。cmake:特定於目標的CUDA目標預處理器定義似乎不起作用
所以我加了一個需要BLOCK_SIZE設置爲某個數字才能編譯的CUDA目標。
cuda_add_executable(SimpleTestsCUDA
SimpleTests.cu
BlockMatrix.cpp
Matrix.cpp
)
set_target_properties(SimpleTestsCUDA PROPERTIES COMPILE_FLAGS -DBLOCK_SIZE=3)
當運行make VERBOSE=1
我注意到nvcc
被調用的w/o -DBLOCK_SIZE=3
,這導致錯誤,因爲BLOCK_SIZE
在代碼中所使用的,但遠不限定。現在我對CPU目標使用了相同的定義(使用add_executable(...)
)並且在那裏工作。
所以,現在的問題:如果指向一個CUDA目標,我如何計算cmake
與set_target_properties
行之間的差異?谷歌搜索並沒有幫助到目前爲止,一個解決方法將很酷..
任何人都可以在Linux或Windows上嘗試這個嗎?我只是有我的MB pro這裏atm .. – Nils 2010-05-16 09:09:29
也無法在Windows上工作。 – 2010-05-16 09:39:03