2014-02-18 74 views
7

我想知道是否有一些簡單的方法可以爲不同的體系結構提供不同版本的內核。他們是一個簡單的方法嗎?或者唯一的可能性是在獨立文件中定義獨立的內核,並要求nvcc將每個文件編譯爲不同的體系結構?針對不同體系結構的不同內核

回答

8

你可以通過編譯器指令來做到這一點。喜歡的東西

__global__ void kernel(...) { 

# if __CUDA_ARCH__ >= 350 

    do something 

# else 

    do something else 

# endif 

}  
+0

非常感謝!我喜歡這個答案 – Daniel