2011-11-25 96 views
2

這似乎是一個反覆出現的問題。結合CUDA和Boost特殊功能的編譯錯誤

我使用了CUDA和Boost庫的組合。作品很好,例如對於一些Boost庫。如果我嘗試包括boost/math/special_functions.hpp,我得到這樣的錯誤:

型 「_ v1di」 的說法是有 「 _attribute((vector_size(8)))長」

類型的參數不兼容

任何意見將有幫助

回答

4

增強NVCC支持仍然不穩定。大多數基於TMP的代碼容易出錯。作爲提升NVCC支持的維護者,我懇請您將錯誤報告給Boost SVN Trac,以便我們能夠處理它。

+0

好的,我會報告errot – Michael

+1

+1我沒有意識到Boost方面的任何努力。有趣。 – Bart

2

這不是一個直接的答案來解決這個具體問題,而是一個更一般的問題。我假設你在這裏使用NVCC來編譯你的包含Boost頭文件的代碼。通過NVCC傳遞沉重的模板代碼有時會導致問題。確保你使用的是最新版本的NVCC。模板支持不斷改進,你可能會更新幸運。

否則,您可能想要設計一種方法,使用Boost將代碼拆分爲一部分,而不需要通過NVCC和CUDA特定的代碼。

+0

是的我使用的是nvcc,代碼是模板化的。 – Michael