CUDA и C ++ для кода хоста и устройства - PullRequest
3 голосов
/ 12 марта 2011

Я начал интегрировать CUDA в свои приложения C ++ несколько недель назад. Я проводил собственное исследование по интеграции CUDA и C ++. Тем не менее, я все еще чувствую себя неловко из-за этой темы.

Может кто-нибудь помочь мне прояснить некоторые вопросы, основанные на последней версии Toolkit 3.2 или 4.0 RC?

  1. В нем говорится, что Fermi полностью поддерживает C ++ в официальном документе Fermi. Означает ли это, что он поддерживает C ++ в коде хоста и устройства или только в коде хоста?

  2. Какие функции C ++ я могу использовать в коде ядра? Я знаю, что шаблоны поддерживаются. А как насчет классов или структур?

  3. Могу ли я передать определенный пользователем экземпляр класса (который содержит некоторые указатели на память устройства) в ядро ​​и вызвать его функцию-член в коде ядра? Есть ли какие-то различия в классах и структурах?

Любая помощь приветствуется! Спасибо!

1 Ответ

6 голосов
/ 12 марта 2011
  1. Ваш хост уже поддерживает C ++, не так ли?Но теперь GeForce 400 Series (кодовое имя Fermi) поддерживает код C ++ на устройстве.

  2. Классы тоже с некоторыми ограничениями.Подробнее см. приложение D руководства по программированию .

  3. Вы можете передать ссылку на класс.Проверьте раздел D.6.2 руководства по программированию.

В общем, в приложении D показаны поддерживаемые конструкции C ++ и фрагменты кода.Это стоит прочитать.

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