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