El nuevo lenguaje de programación facilita la conversión de GPU en supercomputadoras

GPU

La mayoría de los bits que ha procesado se ejecutan a través de una CPU, pero la unidad de procesamiento gráfico (GPU) de su computadora se utiliza cada vez más para tareas informáticas generales. El problema siempre ha sido diseñar aplicaciones que puedan aprovechar la potencia informática bruta de una GPU. Un doctorado en ciencias de la computación. El candidato de la Universidad de Indiana con el nombre de Eric Holk ha creado un nuevo lenguaje de programación llamado Harlan para facilitar el proceso.

Tanto las CPU como las GPU son importantes para la informática moderna, y cada una se adapta mejor a diferentes tareas. La mayoría de las CPU tienen varios núcleos capaces de ejecutar algunos subprocesos de procesamiento. Ejecuta cada hilo muy rápido y luego pasa al siguiente. Una GPU generalmente tiene una gran cantidad de núcleos de procesamiento más lentos (a veces llamados procesadores de flujo) que pueden ejecutar más subprocesos simultáneos. Diríamos que la computación con GPU es inherentemente más paralela que la variedad de CPU.

Las complicaciones al ejecutar cálculos en una sola GPU son lo suficientemente problemáticas, pero juntar varias GPU en una red improvisada puede aumentar las complicaciones dramáticamente. Aún así, los investigadores están recurriendo cada vez más a la computación GPU con la esperanza de obtener los beneficios de la computación paralela masiva. Coloque suficientes GPU juntas y obtendrá una supercomputadora improvisada a una fracción del precio. (Ver:Supercomputadora Titan: supercomputadora de 38,400 procesadores y 20 petaflop, con tecnología de GPU Nvidia Tesla.)



La programación para GPU requiere que el programador dedique muchos ciclos cerebrales a tratar con detalles de bajo nivel, que distraen del propósito principal del código. Harlan es interesante porque puede encargarse de todo el trabajo duro de la programación para GPU.

Ciertamente, existen otros lenguajes de programación de GPU, siendo OpenCL y CUDA de Nvidia los más conocidos. Sin embargo, todos estos se basan en el pasado de la CPU. El proyecto de Holk tiene como objetivo ver si un lenguaje diseñado desde cero para admitir GPU puede hacer un mejor trabajo.

GPUHarlan se puede compilar en OpenCL (como CUDA), pero también puede hacer uso de lenguajes de nivel superior como Python y Ruby. La sintaxis se basa en Scheme, que a su vez se basa en el muy querido lenguaje de programación Lisp. Desarrollado originalmente en 1958, Lisp ha influido en algunos de los lenguajes modernos más populares, incluidos Perl, JavaScript y Ruby, aunque, quizás como era de esperar, los paréntesis superfluos e irritantes de Lisp no dieron el salto a estos lenguajes más nuevos.

Harlan se trata de empujar los límites de lo que los programadores pueden hacer con la computación GPU. Este lenguaje en realidad genera un código GPU optimizado para ejecutarse en el hardware que puede verse muy diferente de lo que creó el programador. Esto difiere de un lenguaje similar llamado Rust, un proyecto de Mozilla que ayuda a los programadores a crear un programa adecuado para el hardware subyacente.

Harlan es un poco menos convencional en su enfoque, pero tiene el potencial de hacer que la computación GPU sea más accesible al manejar tareas complicadas de bajo nivel. El nuevo idioma está completamente abierto y se puede descargar junto con la documentación completa. de Github.

Copyright © Todos Los Derechos Reservados | 2007es.com