AccelerEyes lanza el motor GPU para MATLAB - Calendae | Informática, Electrónica, CMS, Ciberseguridad

AccelerEyes lanza el motor GPU para MATLAB

Hola, ¿qué tal colega?. Soy Simón Sánchez y esta vez hablaremos sobre AccelerEyes lanza el motor GPU para MATLAB

El naciente mundo de la informática GPGPU recibió hoy otro impulso con el lanzamiento comercial de Jacket 1.0, un motor de GPU para MATLAB. Jacket fue desarrollada por AccelerEyes, una startup de dos años con sede en Atlanta fundada por el graduado de Georgia Tech, John Melonakos, quien también dirige la empresa. AccelerEyes tiene como objetivo aprovechar la enorme base de usuarios de ingenieros y científicos que actualmente usan MATLAB, pero que desean aprovechar el último hardware de GPU para acelerar el procesamiento y la visualización.

En pocas palabras, Jacket permite a los desarrolladores programar GPU en estaciones de trabajo, PC y sistemas integrados utilizando el lenguaje M de MATLAB. El tiempo de ejecución de Jacket maneja todas las transferencias de memoria de CPU a GPU, configuraciones de kernel y ejecuciones detrás de escena. El motor de procesamiento de la GPU se basa en CUDA, el entorno de programación de la GPU de NVIDIA, por lo que solo las GPU NVIDIA compatibles con CUDA son compatibles por ahora.

Se incluye un paquete Graphics Toolbox para proporcionar visualización integrada, que ofrece la funcionalidad de OpenGL en el entorno de programación interpretativa de MATLAB. Dado que Toolbox también está basado en GPU, permite que el programa aproveche los resultados computacionales del lado de la GPU ya almacenados en la memoria de la tarjeta gráfica.

Se requieren algunos cambios en el código MATLAB para aprovechar las capacidades de GPU de Jacket. Pero los cambios son relativamente simples. Jacket introdujo un tipo de datos GPU de precisión simple (aún no se admite la precisión doble) para que los datos de la matriz se puedan transmitir como objetos GPU. Al utilizar el tipo de datos de GPU, Jacket sobrecarga la función MATLAB basada en CPU con funciones basadas en CUDA y proporciona una ejecución transparente en el procesador de gráficos.

Jacket ha estado en beta durante siete meses, tiempo durante el cual AccelerEyes ha seguido perfeccionando el software. La versión 1.0 incluye una serie de correcciones de errores y mejoras, pero el cambio más grande es la adición de una GPU-for-loop de MATLAB (gfor).

Melonakos definió gfor esencialmente como un bucle MATLAB paralelo (parfor) para GPU. Pero en lugar de distribuir los cálculos de bucle entre múltiples CPU / núcleos (generalmente un clúster) como se hace con parfor, gfor usa los cientos de núcleos dentro de un procesador de gráficos para implementar el paralelismo. En la versión beta de Jacket, los usuarios podían operar en los tipos de datos de la GPU en un bucle for normal, pero las iteraciones individuales se ejecutaban secuencialmente en la GPU. El gfor transforma las iteraciones en un cálculo paralelo a los datos y el ciclo completo se realiza en la GPU. Al igual que parfor, gfor está limitado a bloques de bucle sin dependencias de datos, pero el bucle en sí se ejecuta bajo un solo hilo de CPU.

Los usuarios de Jacket beta han variado desde biotecnología / medicina y aeroespacial / defensa hasta electrónica y servicios financieros, con menos usuarios en las industrias de comunicaciones, automotriz y energía. Según Melonakos, miles de usuarios han participado en el programa beta y al menos la mitad de ellos fuera de Estados Unidos «Es muy popular en Europa, India, China, Japón, Brasil y Rusia», dice.

AccelerEyes parece haber descubierto un nicho único en la comunidad de defensa, donde MATLAB se utiliza para crear prototipos de aplicaciones que posteriormente se implementan utilizando C / C ++ o algún otro lenguaje. Las aplicaciones como el procesamiento de señales y la geolocalización son particularmente adecuadas para la aceleración de hardware, pero lograr que el código MATLAB funcione en arquitecturas sin CPU ha sido un obstáculo importante. «La gente está cansada y cansada de convertir MATLAB a código C o FPGA [code] o algún otro código para introducirlo en un entorno distribuible «, dice Melonakos.» Esto básicamente les da la capacidad de obtener la aceleración que necesitarían para implementar directamente en MATLAB, sin tener que migrar manualmente el código a un idioma diferente. «

El precio de las licencias depende del tipo de cliente. Una licencia básica de Jacket cuesta $ 1,900 para uso individual / comercial, $ 1,500 para gobierno / investigación, $ 500 para académico y $ 100 para estudiante. Todas las licencias son perpetuas e incluyen un año de actualizaciones y soporte gratuitos. Una licencia básica para Jacket le brinda acceso a hasta dos GPU, generalmente una GPU Tesla para computación y una GPU Quadro para visualización mediante Graphics Toolbox.

Si tiene una nueva estación de trabajo Tesla con hasta cuatro GPU y desea ejecutar Jacket en ellas, AccelerEyes cobra una tarifa adicional por una tercera GPU y una tarifa más baja por la cuarta. Si bien puede acceder a más de una GPU, Jacket actualmente ya no administra varias GPU en una sola sesión de MATLAB, aunque esta funcionalidad está en desarrollo. Por ahora, necesita ejecutar una instancia de MATLAB para GPU.

Pero la mayor limitación es que el software solo funciona con hardware NVIDIA, como resultado de la madurez relativa de la plataforma de software CUDA en comparación con Brook + de AMD y OpenCL recientemente definido. A medida que los proveedores de hardware como AMD, Intel y NVIDIA comiencen a admitir el marco OpenCL de plataforma abierta, AccelerEyes debería poder crear una implementación de Jacket independiente del hardware. Si es así, los usuarios podrían ejecutar aplicaciones Jacket-MATLAB en las GPU NVIDIA y ATI, así como en los futuros procesadores Larrabee de Intel.

Puedes compartir en tus redes sociales para que tus amigos lo flipen

??? ? ? ???

Comparte