El compilador Nvidia CUDA ( NVCC ) es un compilador de Nvidia diseñado para usarse con CUDA . Es un software propietario .
Compilador
El código CUDA se ejecuta tanto en la unidad central de procesamiento (CPU) como en la unidad de procesamiento gráfico (GPU). NVCC separa estas dos partes y envía el código del host (la parte del código que se ejecutará en la CPU ) a un compilador de C como GNU Compiler Collection (GCC), Intel C++ Compiler (ICC) o Microsoft Visual C++ Compiler (MVCC), y envía el código del dispositivo llamado "kernels" (la parte que se ejecutará en la GPU) a la GPU. El código del dispositivo es compilado posteriormente por NVCC. NVCC se basa en LLVM . [ 1 ] Según la documentación proporcionada por Nvidia, nvcc en la versión 7.0 admite muchas construcciones de lenguaje definidas por el estándar C++11 y algunas de C99 . En la versión 9.0, se añaden varias construcciones más del estándar C++14 . [ 2 ]
Cualquier archivo fuente que contenga extensiones de lenguaje CUDA (.cu) debe compilarse con nvcc. NVCC es un controlador de compilador que funciona invocando todas las herramientas y compiladores necesarios, como cudacc, g++, cl, etc. NVCC puede generar código C (código CPU), que luego debe compilarse con el resto de la aplicación mediante otra herramienta, o bien, código PTX ( ejecución de subprocesos paralelos ) o código objeto directamente. Un ejecutable con código CUDA requiere: la biblioteca principal de CUDA (cuda) y la biblioteca de tiempo de ejecución de CUDA (cudart).
Otras bibliotecas ampliamente utilizadas:
- CUBLAS: Implementación de BLAS
- CUFFT: Implementación de la FFT
- CUDPP (Primitivas de Paralelismo de Datos): Reducción, Escaneo, Ordenación.
- Empuje: Reducción, escaneo, clasificación.
Véase también
- OpenCL
- Arquitectura de sistemas heterogéneos
- Binario CUDA (cubin) – un tipo de binario grueso
Referencias
General
- David B. Kirk y Wen-mei W. Hwu. Programación de procesadores masivamente paralelos: un enfoque práctico. Morgan Kaufmann, 2010.
- "Controlador del compilador Nvidia CUDA NVCC" . Centro de documentación de Nvidia . Archivado del original el 13 de octubre de 2023.
- "CUDPP" . GPGPU . Archivado del original el 17 de noviembre de 2018.
Enlaces externos
- Sitio web oficial
- Software de Nvidia
- Compiladores