В начале июля 2025 года вышла стабильная версия открытого проекта TornadoVM 1.1.1 для запуска 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 вышла в декабре 2023 года. В ней появился новый API для размещения объектов вне кучи и коллекций массивов, улучшенная обработка внутреннего байт-кода, поддержка большего количества математических операций в OpenCL/PTX/SPIR-V, 16 векторных типов данных для float/double/int, поддержка драйвера Mesa Rusticl OpenCL, улучшение порядка устройств по умолчанию на основе максимального размера потока, обновление программы установки, а также значительно доработана документация проекта.
Пример кода TornadoVM.
Основные изменения и доработки в TornadoVM 1.1.1:
исправлены ранее обнаруженные ошибки и баги;
доработана документация, включая обновлённые инструкции по сборке для запуска на оборудовании RISC‑V.;
оптимизировано повторное использование выделенных буферов для пакетной обработки
улучшает производительность для обработки с использованием динамической реконфигурации,
проведён рефакторинг динамической реконфигурации,
появились новые функции API.
Источник: habr.com