Собственные тривиально-копируемые и CUDA - PullRequest
0 голосов
/ 18 марта 2019

У меня есть структура, которая содержит некоторые значения Eigen :: Vector3d.У меня есть вектор этой структуры, и я хочу загрузить его в графический процессор, используя тягу.

Когда я это сделал, я получил сообщение о том, что копия не определена.Я пытался понять, почему он не может использовать cudaMemcpy по умолчанию, и похоже, что Eigen :: Vector3d не является trivially_copyable.

Я пытаюсь понять, почему это не так, но я не могу найти причину.AFAIK, Eigen :: Vector3d - это всего лишь 3 непрерывных двойных значения.Почему это не так просто?Каковы возможные ошибки я могу найти, если я cudaMemcpy, что вектор вручную непосредственно

1006 * Edit: Этот вопрос был отмечен как дубликат упорного устройство для размещения неопределенной cross_system_copy .Я не думаю, что это точная копия, хотя это связано.В этом вопросе я спрашиваю, должен ли я сделать что-то особенное, чтобы заставить тягу работать с Эйгеном.В этом вопросе я спрашиваю, почему Eigen :: Vector3d не является тривиально_копируемым, и спрашиваю, что может произойти, если я решу вручную cudaMemcpy с содержимым std :: vector.Я думаю, что это достаточно разные вопросы, поэтому я решил задать его как отдельный вопрос.
...