TornadoVM 7 научил Java-приложения работать на GPU напрямую

TornadoVM 7 Enables GPU-Native Workloads from Java Applications

TornadoVM 7 научил Java-приложения работать на GPU напрямую

Открытый фреймворк TornadoVM добрался до версии 7.3: он автоматически ускоряет Java-код на многоядерных CPU и GPU, не заменяя JVM и работая с любым мейнстримным JDK. Вместо JNI теперь используется Foreign Function & Memory API, убрана зависимость от экспериментального JVMCI, а оптимизированный CUDA-бэкенд позволяет вызывать cuBLAS и CUTLASS прямо из TaskGraphs. Добавлены поддержка multi-GPU и TileContext для модели cuTile.

Идея в том, что вы можете разрабатывать локально на ноутбуке, используя доступное рядом железо, а затем развернуть всё на сервере с Nvidia GPU и получить серьёзный прирост производительности — своего рода «Write Once, Run Anywhere» для современных ML-нагрузок.
  1. zmmmmm

    Похоже на неплохой выигрыш, даже если это работает только для их примера:

    void matmul(Matrix2DFloat A, Matrix2DFloat B, Matrix2DFloat C, int size) {

    for (@Parallel int i=0; i<size; i++) {

    for (@Parallel int j=0; j<size; j++) {

    float sum = 0f;

    for (int k=0; k<size; k++)

    sum += A.get(i,k)*B.get(k,j);

    C.set(i, j, sum);

    }

    }

    }

    Но главная проблема — это Vector API. Не получится ли так же, как с логированием — стандартизированный API, которым никто не пользуется, потому что он появился на 10 лет позже и не так хорош, как то, что уже устоялось?

    И зачем путать всех, называя это VM, когда оно поставляется как JAR-файл, который работает в существующей VM?

  2. mikepapadim

    https://github.com/beehive-lab/TornadoVM — это основной репозиторий.

    Вы можете использовать его с любым JDK21+ и оборудованием Nvidia или Apple, а также с их библиотеками Nvidia или MLX.

  3. the_arun

    Означает ли это, что мы можем использовать Java для создания инфраструктуры ИИ?

Ещё за этот день

2026-10-24