Этот ответ может быть запоздалым, но все равно стоит отметить. GPU Ocelot ( я являюсь одним из основных участников ) может быть скомпилирован без установленных драйверов устройств CUDA (libcuda.so), если вы хотите использовать эмулятор или серверные части LLVM. Я продемонстрировал эмулятор на системах без графических процессоров NVIDIA.
Эмулятор пытается точно реализовать спецификации PTX 1.4 и PTX 2.1, которые могут включать функции, которые старые графические процессоры не поддерживают. Транслятор LLVM стремится к правильному и эффективному преобразованию из PTX в x86, что, мы надеемся, сделает CUDA эффективным способом программирования многоядерных процессоров, а также графических процессоров. -deviceemu
долгое время была устаревшей функцией CUDA, но переводчик LLVM всегда был быстрее.
Кроме того, в эмулятор встроено несколько средств проверки правильности для проверки: выровненные обращения к памяти, обращения к разделяемой памяти правильно синхронизированы, а глобальное разыменование памяти обращается к выделенным областям памяти. Мы также реализовали интерактивный отладчик командной строки, вдохновленный, главным образом, gdb для пошагового управления ядрами CUDA, установки точек останова и наблюдения и т. Д. Эти инструменты были специально разработаны для ускорения отладки программ CUDA; вы можете найти их полезными.
Извините за аспект только для Linux. Мы запустили ветку Windows ( а также портируем для Mac OS X ), но инженерная нагрузка уже достаточно велика, чтобы усилить наши исследования. Если у кого-то есть время и интерес, он может помочь нам в поддержке Windows!
Надеюсь это поможет.