TornadoVM 7, Java 코드를 그대로 GPU에서 돌린다

TornadoVM 7 Enables GPU-Native Workloads from Java Applications

TornadoVM 7, Java 코드를 그대로 GPU에서 돌린다

오픈소스 Java 이기종 GPU 프로그래밍 프레임워크 TornadoVM이 7.3 버전에 도달했다. JNI를 Foreign Function & Memory API로 교체하고 JVMCI 의존성을 제거해 JDK 21·25·26·27에서 동일한 경로로 동작한다. 최적화된 CUDA 백엔드로 cuTile과 cuBLAS·CUTLASS 라이브러리를 TaskGraph에서 직접 호출할 수 있고, 멀티 GPU 실행도 지원한다. 노트북에서 개발해 Nvidia GPU 서버로 배포하는 '한 번 작성하면 어디서나 실행'을 노린다.

TornadoVM은 기존 JVM을 대체하는 대신 함께 동작하며, OpenJDK, GraalVM, Temurin, Zulu 같은 주류 JDK 배포판 어디서든 쓸 수 있는 풍부한 GPU 프로그래밍 생태계를 Java로 제공한다.
  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입니다. 이거 결국 logging 꼴 나는 거 아닐까요? 10년이나 늦게 판에 뛰어들어서 이미 자리 잡은 것들만큼 좋지도 않은, 그래서 아무도 안 쓰는 표준화된 API 말이죠?

    그리고 기존 VM 위에서 도는 JAR 파일로 배포되는데 왜 이름을 VM이라고 붙여서 다들 헷갈리게 만드는 걸까요?

  2. mikepapadim

    https://github.com/beehive-lab/TornadoVM 이게 메인 저장소입니다.

    JDK21+와 Nvidia 또는 Apple 하드웨어, 그리고 각각의 Nvidia 라이브러리나 MLX 라이브러리와 함께 사용할 수 있습니다.

  3. the_arun

    이게 Java로 AI 인프라를 구축할 수 있다는 뜻인가요?

이 날의 다른 글

2026-10-24