Компилятор NVIDIA CUDA

редактировать
Компилятор NVIDIA CUDA
Автор (ы) Nvidia
Тип компилятор
Лицензия проприетарное программное обеспечение
Веб-сайтdocs.nvidia.com / cuda / cuda-compiler-driver-nvcc / #introduction

Компилятор Nvidia CUDA (NVCC ) - это собственный компилятор от Nvidia предназначен для использования с CUDA. Код CUDA работает как на CPU, так и на GPU. NVCC разделяет эти две части и отправляет код хоста (часть кода, которая будет выполняться на CPU ) компилятору C, например GCC или Компилятор Intel C ++ Compiler (ICC) или Microsoft Visual C Compiler и отправляет код устройства (часть, которая будет выполняться на GPU) на GPU. Код устройства дополнительно компилируется NVCC. NVCC основан на LLVM. Согласно предоставленной Nvidia документации, nvcc в версии 7.0 поддерживает множество языковых конструкций, которые определены стандартом C ++ 11, а также некоторые функции C99. В версии 9.0 поддерживаются еще несколько конструкций из стандарта C ++ 14.

Любой исходный файл, содержащий расширения языка CUDA (.cu), должен быть скомпилирован с помощью nvcc. NVCC - это драйвер компилятора, который работает, вызывая все необходимые инструменты и компиляторы, такие как cudacc, g ++, cl и т. Д. NVCC может выводить либо код C (код процессора), который затем должен быть скомпилирован с остальной частью приложения с помощью другого инструмента, либо PTX или объектный код напрямую. Для исполняемого файла с кодом CUDA требуются: основная библиотека CUDA (cuda) и библиотека времени выполнения CUDA (cudart).

Другие широко используемые библиотеки:

  • CUBLAS: реализация BLAS
  • CUFFT: реализация FFT
  • CUDPP (примитивы параллельных данных): сокращение, сканирование, сортировка.
  • Упор: уменьшение, сканирование, сортировка.
См. Также
Ссылки
  1. Дэвид Б. Кирк и Вэнь-мэй В. Хву. Программирование процессоров с массовым параллелизмом: практический подход. Морган Кауфманн, 2010.
  2. Документация Nvidia по nvcc. https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/
  3. CUDPP. https://web.archive.org/web/20181117222643/http://gpgpu.org/developer/cudpp
Последняя правка сделана 2021-05-31 07:31:03
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте