Можно ли использовать CUDA C для объектно-ориентированного программирования? - PullRequest
2 голосов
/ 10 февраля 2012

Можно ли использовать CUDA C для объектно-ориентированного программирования? Есть ли классы в CUDA C, как в C ++?

Ответы [ 2 ]

3 голосов
/ 13 февраля 2012

nvcc, поскольку версия 3.0 использует g ++ (в Linux) для компиляции кода хоста, поэтому вы можете использовать весь набор функций C ++ для части хоста.

Для кода устройства он поддерживает ограниченный набор C ++. Но я думаю, что в будущих выпусках CUDA это будет более полным.

3 голосов
/ 12 февраля 2012

Компилятор CUDA поддерживает классы, наследование, конструкторы, деструкторы для всех устройств, хотя для некоторых эта поддержка не является официальной.

Не все устройства поддерживают (не встроенные) вызовы функций, рекурсию, вызовы виртуальных функций,и даже если это произойдет, это довольно медленная операция, и я настоятельно рекомендую вам избегать этого, если только это не встречается в вашем коде редко.

Если я не ошибаюсь, исключений нет.

Подобный, но немного более широкий вопрос: Каковы реальные языковые конструкции C ++, поддерживаемые кодом устройства CUDA?

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