ошибка компиляции, сочетающая специальные функции CUDA и Boost - PullRequest
2 голосов
/ 25 ноября 2011

Это, кажется, повторяющаяся проблема.

Я использую комбинацию библиотек CUDA и Boost.Работает нормально, например, для некоторых библиотек Boost.Если я пытаюсь включить boost/math/special_functions.hpp, я получаю ошибки, такие как:

аргумент типа "_ v1di" несовместим с параметром типа " _attribute ((vector_size (8))) long "

Любой совет будет полезен

Ответы [ 2 ]

4 голосов
/ 25 ноября 2011

Поддержка NVCC в boost все еще нестабильна. Наиболее тяжелый код, основанный на TMP, подвержен ошибкам. Как сопровождающий поддержку NVCC в boost, я призываю вас сообщить об ошибке в Boost SVN Trac, чтобы мы могли ее обработать

2 голосов
/ 25 ноября 2011

Это не прямой ответ для решения этой конкретной проблемы, а более общий. Я предполагаю, что здесь вы используете NVCC для компиляции кода, который включает в себя заголовок Boost. Передача сильно шаблонного кода через NVCC иногда вызывает проблемы. Убедитесь, что вы используете самую последнюю версию NVCC. Поддержка шаблонов постоянно улучшается, и вам может повезти с обновлением.

В противном случае, вы можете разработать способ разделения вашего кода на части с помощью Boost, который не должен проходить через специфический код NVCC и CUDA, что и делает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...