这似乎是一个反复出现的问题。
我使用CUDA和Boost库的组合。工作正常,例如对于一些Boost库。如果我尝试加入boost/math/special_functions.hpp
,我会收到如下错误:
类型“_ v1di”的参数与类型参数不兼容 “ _attribute((vector_size(8)))long”
任何建议都会有所帮助
答案 0 :(得分:4)
NVCC对提升的支持仍然不稳定。大多数基于TMP的重型代码容易出现故障。作为NVCC对boost的支持的维护者,我建议你向Boost SVN Trac报告错误,以便我们处理它
答案 1 :(得分:2)
这不是解决这个具体问题的直接答案,而是更普遍的问题。我假设您使用NVCC来编译包含Boost标头的代码。通过NVCC传递严重模板化的代码有时会导致问题。确保您使用的是最新版本的NVCC。模板支持不断改进,您可能会因为更新而感到幸运。
否则,您可能想要设法使用Boost将代码拆分为一个部分,而不需要通过NVCC和CUDA特定的代码。