В новой версии апгрейд байт-кодов, логов и графов задач.
В начале июля вышел релиз TornadoVM 1.1.1 — системы, которая позволяет запускать Java-программы на гетерогенном оборудовании: CPU, GPU и FPGA. Обновление доступно на GitHub , разработку курирует участник @stratika. По состоянию на релиз сделано более 20 значимых изменений и исправлений.
Ключевое улучшение — оптимизация повторного использования выделенных буферов при пакетной обработке (#657). Это повышает эффективность выполнения задач с большими объёмами данных. Дополнительно внедрён байт-код PERSIST (#660), который отслеживает жизненный цикл объектов и позволяет надёжно управлять памятью между выполнениями TaskGraph.
Также в логах теперь сохраняются байт-коды TornadoVM (#661), а режим передачи данных TRANSFER_TO_DEVICE_ONCE стал более прозрачен при отладке (#660). Обновлена документация по флагам TornadoVM (#667), добавлены новые API-функции для «разогрева» исполнения (#686) и переработан тип Matrix4x4Float (#670).
Рефакторинг коснулся и динамической реконфигурации (#685): улучшена производительность при переключении между устройствами, включая режимы параллельного исполнения. Добавлены новые примеры, включая матрично-векторное умножение в строковом формате (#679) и юнит-тесты для вычислительных ядер (#676).
Обновлён установочный скрипт tornadovm-installer
, который теперь работает в интерактивном режиме (#695), а также получил опцию --auto-deps
и восстановленные аргументы для выбора JDK и бэкендов (#697). Изменения задокументированы в README (#698).
Поддержка расширена: добавлены инструкции по сборке на архитектуре RISC‑V (#668). В список исправлений вошли проблемы с GridScheduler при нескольких TaskGraph (#666), баг с именем ядра в PTX (#664), замена 1.0/sqrt(x)
на rsqrt(x)
(#677), а также улучшение логирования и профилирования на macOS (#671, #678).
Полный список изменений между версиями 1.1.0 и 1.1.1 доступен в changelog проекта .
Лечим цифровую неграмотность без побочных эффектов