- Выпущена стабильная версия TornadoVM 2.0.0 для запуска Java-программ на гетерогенном оборудовании — CPU, GPU и FPGA.
- Проект является плагином к OpenJDK и популярным дистрибутивам JDK, поддерживающим устройства с OpenCL, PTX и Level-Zero.
- В новой версии исправлены баги, оптимизирована производительность и расширена поддержка типов данных и функционала API.
В начале декабря 2025 года команда разработчиков представила стабильный релиз открытого проекта TornadoVM версии 2.0.0. Эта платформа выступает в роли плагина для OpenJDK и других дистрибутивов Java Development Kit, таких как GraalVM, Red Hat Mandrel, Amazon Corretto, Microsoft OpenJDK и Azul Zulu, с целью обеспечения автоматического запуска Java-программ на гетерогенном аппаратном обеспечении, включающем процессоры (CPU), графические процессоры (GPU) и программируемые вентильные матрицы (FPGA).
TornadoVM поддерживает устройства, совместимые с открытыми стандартами OpenCL, а также с проприетарными интерфейсами PTX от NVIDIA и Level-Zero от Intel. Благодаря этому охват оборудования включает множествоядерные CPU, дискретные GPU от Intel, NVIDIA и AMD, интегрированные графические ускорители Intel HD Graphics и ARM Mali, а также FPGA-устройства Intel и Xilinx. Исходный код проекта открыт и доступен на GitHub под лицензией MIT.
Версия 1.0 проекта вышла в декабре 2023 года, предоставив новый API для эффективного управления памятью, расширенную поддержку вычислительных операций и улучшенную документацию. В середине 2025 года была выпущена версия 1.1.1, которая также получила положительные отзывы за стабильность и расширенную поддержку оборудования.
TornadoVM 2.0.0 включает целый ряд ключевых улучшений и исправлений. В частности, устранены ошибки, затрагивающие OpenCL и архитектуру Nvidia PTX, а также внесены изменения для совместимости с CUDA 13. Значительно переработана и дополнена документация, включая инструкции для сборки на аппаратуре RISC-V. Были оптимизированы механизмы повторного использования выделенных буферов, что улучшило работу с пакетной обработкой данных. Усилена производительность, связанная с динамической реконфигурацией оборудования — этот компонент подвергся глубокому рефакторингу, что значительно повысило гибкость и эффективность.
В числе новых возможностей — расширение API функциональности; добавлена встроенная поддержка 8-битных целочисленных типов данных для Nvidia PTX и OpenCL; введена поддержка compressed oops («coops») — механизма оптимизации работы с объектами в Java. Также реализована поддержка zero-copy для массивов TornadoVM и shallow memory сегментов, что снижает задержки при работе с памятью. Новая версия позволяет преобразовывать данные с формата FP32 в FP16 по всем поддерживаемым бэкендам, а также поддерживает работу с байтовыми и полуплавающими массивами в локальной памяти.
Таким образом, с выходом TornadoVM 2.0.0 пользователи получили более стабильный, производительный и функционально расширенный инструмент для разработки и запуска задач на гетерогенных вычислительных системах, что влечёт за собой новые возможности оптимизации Java-приложений под современные и специализированные аппаратные платформы.
