Nvidia-CUDA

Se acaba de lanzar una nueva versión de la API de programación de gráficos de uso general NVIDIA CUDA 10.2, casi diez meses después de la versión 10.1. Esta biblioteca incluye la adición de una API completa para la gestión de la memoria virtual en la tarjeta gráfica, con funciones más precisas para la asignación de memoria y rangos de direcciones en la memoria.

Cuda es una plataforma de computación paralela creada por Nvidia que se puede utilizar para aumentar el rendimiento al aprovechar la potencia de la unidad de procesamiento de gráficos (GPU) en su sistema. Cuda es una capa de software que permite a los desarrolladores de software acceder al conjunto de instrucciones virtuales de la GPU y a los elementos computacionales paralelos, para la ejecución de los núcleos informáticos.

CUDA intenta explotar las ventajas de las GPU frente a las CPU de propósito general utilizando el paralelismo que ofrecen sus múltiples núcleos, que permiten el lanzamiento de un altísimo número de hilos simultáneos.

Por ello, si una aplicación está diseñada utilizando numerosos hilos que realizan tareas independientes (que es lo que hacen las GPU al procesar gráficos, su tarea natural), una GPU podrá ofrecer un gran rendimiento.

¿Qué hay de nuevo en Nvidia CUDA 10.2?

Esta versión está empaquetada con bibliotecas que ofrecen funcionalidades nuevas y extendidas, correcciones de errores y mejoras de rendimiento para entornos de GPU individuales y múltiples.

En esta versión se añadió una nueva capa de interoperabilidad de su sistema operativo en tiempo real (RTOS) para el sistema operativo NVIDIA DRIVE OS, llamado NVIDIA Software Communication Interface Interoperability.

Hay dos interfaces principales disponibles: NvSciBuf para el intercambio de áreas de memoria completas y NvSciSync para la sincronización. Estas características están en la vista previa.

A nivel de plataformas administradas, CUDA 10.2 es la última versión que estará disponible para macOS, además de que ya no tendrá soporte para RHEL 6 pues este ya no será compatible en absoluto en la próxima versión de CUDA (al igual que los compiladores de Microsoft C ++ 2010 a 2013).

Además de que Nvidia también prepara un pequeño tipo en las funciones disponibles. Ahora que nvJPEG es una biblioteca separada, las funciones correspondientes de NPP Compression Primitives están a punto de desaparecer.

De los demás cambios que se destacan del anuncio, podremos encontrar que se mejoró el rendimiento y la escalabilidad para los siguientes casos de uso:

  • Multi-GPU sin potencia de 2 transformaciones
  • Transformaciones de tamaño impar R2C y Z2D
  • Transformaciones 2D con tamaños pequeños y gran cantidad de lotes.

Si quieres conocer más al respecto sobre esta nueva versión de CUDA, puedes consultar el siguiente enlace.

¿Como instalar Nvidia CUDA en Ubuntu y derivados?

Para poder instalar CUDA en el sistema, es necesario que contemos con los controladores de Nvidia instalados. Si aún no cuentas con ellos, puedes consultar el siguiente articulo.

Ahora, como primer paso debemos de descargar el script de instalación de CUDA, el cual podemos obtener desde una terminal tecleando el siguiente comando:

wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run

Hecho esto ahora tenemos que dar permisos de ejecución al script con:

sudo chmod +x cuda_10.2.89_440.33.01_linux.run

Vamos a instalar algunos paquetes necesarios.

sudo apt-get install gcc-6 g++-6 linux-headers-$(uname -r) -y

sudo apt-get install freeglut3 freeglut3-dev libxi-dev libxmu-dev

Y ahora vamos a ejecutar el script con:

sudo sh cuda_10.2.89_440.33.01_linux.run

Durante el proceso de instalación se nos realizaran algunas preguntas de las cuales tendremos que responder, básicamente nos preguntara si aceptamos las condiciones de uso, si queremos cambiar el directorio por defecto, entre otras cosas.

En donde deben prestar atención es cuando se les pregunte si quieres instalar los controladores de Nvidia donde responderán que no ya que deben contar con ellos instalado.

Después de haber realizado la instalación, solo tienen que configurar sus variables de entorno en el archivo que vamos a crear en el la siguiente ruta /etc/profile.d/cuda.sh.

sudo nano /etc/profile.d/cuda.sh

Y en el vamos a colocar el siguiente contenido:

export PATH=$PATH:/usr/local/cuda/bin

export CUDADIR=/usr/local/cuda

También crean el archivo:

sudo nano /etc/ld.so.conf.d/cuda.conf

Y añadimos la línea:

/usr/local/cuda/lib64

Y finalmente ejecutamos:

export PATH=/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/NsightCompute-2019.1${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
sudo ldconfig

 

Fuente: ubunlog

¿Quién está en línea?

Hay 1129 invitados y ningún miembro en línea