Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.

martes, 2 de agosto de 2016

Uso de la GPU en Java: Instalación de librerías CUDA de Nvidia.

Las GPUs deberían verse como procesadores simétricos, donde el hilo de ejecución es el mismo en todos sus núcleos y lo que varia es el conjunto de datos sobre el que se realiza esa ejecución. A diferencia de las CPUs que son procesadores de propósito general con sus propios hilos de ejecución y datos, y con un número limitado de núcleos.
La principal ventaja de ese tipo de arquitectura (GPU) es el procesamiento en paralelo masivo, que intentaremos aprovechar mediante el uso de las librerías "jCuda" que conecta Java con la GPU.

Requisitos
- Tarjeta gráfica Nvidia compatible con "Cuda".
- Drivers/librerías Cuda ToolKit (descargable desde la URL oficial de Nvidia).
- Drivers/librerías jCuda (descargable desde la URL "www.jcuda.org").

Lo que tengo instalado:
- Tarjeta gráfica Nvidia Geforce 9400 GT (compatible con instrucciones CUDA).
- Sistema Operativo Windows XP.
- NetBeans 8.x.x


Instalación:

01- Descargar e instalar la versión CUDA Toolkit compatible con nuestro sistema operativo (descargable desde la URL oficial de Nvidia):
    cuda_6.5.14_winxp_general_32.exe





02- Descargar jCuda (descargable desde la URL "www.jcuda.org"):
    JCuda-All-0.6.5-bin-windows-x86.rar

 02.1 Descomprimir fichero:




 02.2 Meter las librerías *.dll a la ruta:
     C:\Archivos de programa\NVIDIA GPU Computing Toolkit\CUDA\v6.5\bin\

 02.3 Agregar las librerías *.jar al proyecto de Netbeans.
    Carpeta "Libraries" y seleccionar [Add JAR/Folder].



03- Descargar y descomprimir documentación de las librerías jCuda (opcional):
    JCuda-All-0.6.5-doc.rar (descargable desde www.jcuda.org).

 03.1 Agregar documentación en Netbeans: 
      Tools - Library Name: JCudaXXXX - Pestaña [Javadoc] - [Add Zip/Folder] - Seleccionar carpetas:
      - JCublas-0.6.5-doc
      - JCuda-0.6.5-doc
      - JCufft-0.6.5-doc
      - JCusparse-0.6.5-doc


A partir de ahora ya tenemos todo listo para trabajar con la GPU Nvidia desde Java.


2 comentarios:

  1. Disculpa por ejemplo ¿para el desarrollo de aplicaciones en JEE esto serviría para optimizar los tiempos de ejecución en un servidor de aplicaciones ?

    ResponderEliminar
    Respuestas
    1. Sí, aunque el código de las aplicaciones contenidas en ese servidor deberían ser modificadas para aprovechar la potencia paralela de las GPUs.

      Eliminar

Con la tecnología de Blogger.