Примеры шаблонов и cppIntegration в CUDA SDK (версия 3.1) используют Externs для связывания вызовов функций с кодом хоста с кодом устройства.Структура проекта CUDA
Однако комментарий Тома here указывает, что использование extern устарело.
Если это так, то какова правильная структура для проекта CUDA, такая как пример шаблона или пример cppIntegration?
Не так уж сильно отпадает, что больше не требуется во всех случаях! Если вы смешиваете C и C++, вам все равно понадобится, но в интерфейсе nvcc используется привязка C++, поэтому для вызова с C++ это не требуется. – Tom