В начале декабря 2023 года вышла стабильная версия открытого проекта TornadoVM 1.0 для запуска Java на гетерогенном оборудовании: CPU, GPU и FPGA. Исходный код проекта выложен на GitHub под лицензией MIT.
TornadoVM — это плагин к OpenJDK и другим дистрибутивам JDK (например, GraalVM, Red Hat Mandrel, Amazon Corretto, Microsoft OpenJDK, Azul Zulu), который позволяет разработчикам автоматически запускать программы Java на гетерогенном оборудовании. TornadoVM нацелен на устройства, совместимые с OpenCL, PTX и Level-Zero, которые включают в себя многоядерные процессоры, выделенные графические процессоры (Intel, NVIDIA, AMD), интегрированные графические процессоры (Intel HD Graphics и ARM Mali) и FPGA (Intel и Xilinx).
В версии TornadoVM 1.0 появился новый API для размещения объектов вне кучи и коллекций массивов, улучшенная обработка внутреннего байт-кода, поддержка большего количества математических операций в OpenCL/PTX/SPIR-V, 16 векторных типов данных для float/double/int, поддержка драйвера Mesa Rusticl OpenCL, улучшение порядка устройств по умолчанию на основе максимального размера потока, обновление программы установки, а также значительно доработана документация проекта.
Пример кода TornadoVM.
В TornadoVM 1.0 добавлена поддержка OpenJDK 21, JIT-компилятора GraalVM 23.1, произведена интеграция с Truffle (Python, Ruby и javascript) с использованием Graal 23.1.0.
Источник новости: habr.com