Java
Código

Java admitiría GPU y otros modelos de programación ajenos

El proyecto Babylon ampliaría el alcance de Java a modelos de programación ajenos, como los modelos de aprendizaje automático, las GPU, SQL y la programación diferencial.

java

Java se extendería a modelos de programación ajenos, como modelos de aprendizaje automático, GPU, SQL y programación diferencial, a través de una propuesta de OpenJDK denominada Proyecto Babylon.

Publicado en una lista de correo de openjdk.org el 6 de septiembre por Paul Sandoz, arquitecto de Oracle, Babylon ampliaría el alcance de Java a modelos de programación ajenos con una mejora de la programación reflexiva en Java, conocida como reflexión de código. Esto permitiría el acceso estándar, el análisis y la transformación del código Java de una forma adecuada, afirma la propuesta. La compatibilidad con un modelo de programación ajeno podría entonces implantarse más fácilmente como biblioteca Java.

Babylon se aseguraría de que la reflexión de código es adecuada para el propósito creando un modelo de programación de GPU para Java que aproveche la reflexión de código y se implemente como una biblioteca de Java. Para reducir el riesgo de sesgo, el proyecto también exploraría o fomentaría la exploración de otros modelos de programación como SQL y la programación diferencial.

La reflexión de código consta de tres partes:

  • Modelado de programas Java como modelos de código, aptos para el acceso, el análisis y la transformación.
  • Mejoras de reflexión Java, que permiten acceder a modelos de código en tiempo de compilación y de ejecución.
  • API para construir, analizar y transformar modelos de código.

Sandoz explicó en qué consistiría Babylon y citó un ejemplo en el que un desarrollador quiere escribir un kernel de GPU en Java y ejecutarlo en una GPU. El código del desarrollador debe analizarse y transformarse en un kernel de GPU ejecutable. Aunque una biblioteca Java podría hacerlo, requiere acceso al código Java en forma simbólica. Actualmente, dicho acceso está limitado al uso de API no estándar o a convenciones en distintos momentos del ciclo de vida del programa, es decir, en tiempo de compilación o de ejecución. Además, las formas simbólicas disponibles (árboles de sintaxis abstracta o bytecodes) no suelen ser adecuadas para el análisis y la transformación.

Los planes prevén que Babylon se desarrolle a lo largo del tiempo, en una serie de Propuestas de Mejora del JDK (JEP) que probablemente abarcarán varias versiones. La reflexión de código comenzaría con un clon de la versión principal del JDK 22, prevista para marzo de 2024, y seguiría las versiones principales en el futuro. 

Para el modelo de programación GPU, el proyecto crearía un repositorio independiente que dependería de las funciones de reflexión de código a medida que se fueran desarrollando. En la actualidad no está previsto incorporar el modelo de programación de la GPU al JDK, pero el trabajo en ese modelo podría identificar funciones y mejoras del JDK de utilidad general que podrían abordarse en el futuro.



Forma parte de nuestra comunidad

 

¿Te interesan nuestras conferencias?

 

 
Cobertura de nuestros encuentros
 
 
 
 
Lee aquí nuestra revista de canal

DealerWorld Digital