토네이도VM 7.3, 자바 CUDA 연동 강화

2분 토네이도VM자바CUDAGPU
최근 30일 조회수 — 좋아요 —

핵심 요약

자바 코드를 CPU·GPU에 자동 분산하고 CUDA 라이브러리를 직접 호출하는 토네이도VM 7.3이 공개됐다.

토네이도VM 7.3, 자바 CUDA 연동 강화 — 기사 주제를 표현한 AI 생성 개념 삽화
AI 생성 개념 삽화 · 실제 사건을 촬영한 사진이 아닙니다.

오픈소스 이기종 컴퓨팅 프레임워크 토네이도VM(TornadoVM)이 7.3 버전에 도달했다. 자바 프로그램을 멀티코어 CPU와 GPU에서 자동 가속하고, 엔비디아 CUDA 라이브러리를 자바 애플리케이션 안에서 직접 호출할 수 있게 한 것이 핵심이다. 기존 자바가상머신(JVM)을 대체하지 않고 OpenJDK·GraalVM·Temurin·Zulu 같은 주요 JDK와 함께 작동한다.1

토네이도VM은 자바 코드를 하드웨어별 백엔드로 넘기고, 자바 힙과 가속기 사이의 메모리 이동을 관리한 뒤 컴퓨트 커널을 실행한다. 개발 단계에서는 소스 코드를 OpenCL과 애플 Metal 백엔드용으로 컴파일한다. 노트북의 내장 하드웨어로 개발한 프로그램을 엔비디아 GPU 서버에 배포하는 식으로, 머신러닝 워크로드에서도 자바의 ‘한 번 작성해 어디서나 실행’하는 방식을 확장하려는 설계다.1

7 계열에서는 네이티브 연동 구조도 바뀌었다. 백엔드는 자바 네이티브 인터페이스(JNI) 대신 외부 함수·메모리 API(FFM API)를 사용하며, 실험적 JVM 컴파일러 인터페이스(JVMCI) 의존성은 제거됐다. 프로젝트 팀은 리플렉션과 ASM, Unsafe를 결합한 단일 경로에서 컴파일러 메타데이터를 가져온다고 설명한다. 지원 대상은 JDK 21·25·26·27이다.1

엔비디아 연동은 최적화된 CUDA 백엔드로 강화됐다. 새 TileContext를 통해 cuTile 프로그래밍 모델을 지원하고, TaskGraph 안에서 cuBLAS와 CUTLASS를 직접 호출할 수 있다. 개발자는 JIT가 만든 커널을 CUDA 라이브러리 호출로 바꾸거나 두 방식을 연결할 수 있다. 애플의 MXL 라이브러리에도 하이브리드 API를 통한 같은 기능이 추가됐으며, 여러 GPU를 함께 실행하는 기능도 들어갔다.1

다만 모든 자바 연산이 GPU 이전으로 빨라지는 것은 아니다. 반복 사이에 의존성이 없는 루프처럼 데이터를 병렬 처리할 수 있는 작업이 적합하다. 아파치 플링크 연동도 설정만으로 GPU 실행을 확정하지 않는다. 태스크 매니저가 노드의 GPU 유무를 확인한 뒤 질의의 중간 표현(IR)을 분석해 가속 적합성을 판단한다. 토네이도VM은 Quarkus·Lang4j·Flink·Spring AI와 연동되며 SDKMan으로도 설치할 수 있다. 7.3 공개와 함께 자바 AI 추론 엔진 jitLLM v2.0도 소개됐지만, 제공된 자료에는 구체적인 기능과 성능 수치가 담기지 않았다.1

Footnotes

  1. InfoQ, “TornadoVM 7 Enables GPU-Native Workloads From Java Applications” ↩ ↩2 ↩3 ↩4 ↩5

읽기 목록은 이 브라우저에 저장됩니다.

출처

  1. TornadoVM 7 Enables GPU-Native Workloads From Java Applications — InfoQ

이 글은 위 출처를 근거로 자동 생성된 뒤 발행됐습니다. 원문을 함께 확인해 주세요. 교차 보도 없이 단독 출처로 작성됐습니다.