TornadoVM 7 で Java アプリケーションからネイティブ GPU ワークロードを実現

2026/10/22 18:01

TornadoVM 7 で Java アプリケーションからネイティブ GPU ワークロードを実現

RSS: https://news.ycombinator.com/rss

要約▶

Japanese Translation:

TornadoVM バージョン 7.3 がリリースされ、既存コードを改変せずに CPU および GPU 上で Java アプリケーションのパフォーマンス向上を求めている開発者にとって大きな前進です。このリリースでは、レガシーの JNI インターフェースを堅牢な Foreign Function & Memory API に置き換えることでプラットフォームを根本的にモダナイズし、実験的な JVM Compiler Interface (JVMCI) への依存関係を排除することで、JDK バージョン 21 から 27 までの互換性を確保しています。主なハイライトの一つは、Nvidia CUDA との統合が深まり、cuBLAS や CUTLASS といった高性能な AI ライブラリに直接アクセスできるようになり、Apple の MXL ライブラリもハイブリッド API を通じて対応している点です。OpenJDK、GraalVM、Temurin、Zulu といった主要ディストリビューションと並行して動作し、TornadoVM は JVM 環境内で安定したマルチ GPU エキゼクションおよび最適化されたデータパラレルワークロードを可能にし、Spring AI、Quarkus、Flink、Lang4j などのフレームワーク内で GPU 加速タスクへのidiomaticなアクセスを促進します。さらに、このリリースに伴ってチームは llama.cpp および Ollama の競合候補となる単一の JAR ファイル Java AI 推論エンジンである jitLLM v2.0 も紹介しています。TornadoVM と jitLLM は新たなスピンオフ企業 Beestream.ai を通じて商業化されており、より広範なエンタープライズ導入および複雑な外部ネイティブツールへの依存軽減を示唆しています。

本文

TornadoVM 第 7.3 版リリース:Java 向け異種 GPU プログラミングの新たな里程碑

TornadoVM は、Java 用オープンソース異種 GPU プログラミングフレームワークです。プロジェクトの大きなマイルストーンとなる 第 7.3 版 が正式にリリースされました。

概要とアーキテクチャ

  • 自動高速化: マルチコア CPU および GPU 上で Java プログラムを自動的に高速化します。
  • エコシステムとの連携:
    • 既存の JVM を置き換えるのではなく、それらと連携して動作します。
    • OpenJDK、GraalVM、Temurin、Zulu など、主要な JDK ディストリビューションすべてで利用可能です。
  • 機能原理:
    • Java コードをハードウェアバックエンドへオフロード。
    • Java ヒープとアクセラレータ間のメモリ管理を実行。
    • 生成されたコンピューティングカーネルを実動化。
  • 用途: 現代的なクラウドおよび機械学習ワークロードにとって有用な建築ブロックとなります。

開発モデル:Write Once, Run Anywhere

  • ローカル開発: ソース Java コードを OpenCL および Apple Metal バックエンドにコンパイルし、ノートパソコン上で開発を行います。
  • サーバー展開: ローカル開発後、NVIDIA GPU を搭載したサーバーへ展開することで大幅なパフォーマンス向上を実現します。
  • このアプローチは、「Write Once, Run Anywhere」の概念を体現しています。

第 7.3 版における主な変更点

アーキテクチャ上の刷新

  • API の移行: バックエンド処理において、Java ネイティブインタフェース(JNI)に代わって Foreign Function & Memory(FFM) API を使用。
  • 依存関係の解消: 実験的な JVM コンパイラインタフェース(JVMCI)への依存関係を削除。
  • 統一されたパス: すべてのコンパイラメタデータを反射+ASM+Unsafe レイヤーを通じて取得し、JDK 21/25/26/27 で統一的に動作するようになりました。

NVIDIA エコシステムとの統合深化

  • 最適化された CUDA バックエンドの追加:
    • 新しい
      TileContext
      を通じた cuTile プログラミングモデルへの対応。
    • TornadoVM の TaskGraphs 内部から、
      cuBLAS
      や
      CUTLASS
      などの CUDA ライブラリを直接呼び出せる機能の実装。
  • 柔軟な実行:
    • パフォーマンスや移植性要件に応じて、JIT で生成されたカーネルと CUDA ライブラリ呼び出しの間で切り替えが可能。
    • 両者を連鎖的に使用することも可能。
  • Apple エコシステム: MXL ライブラリについても、同等の機能をハイブリッド API を通じて追加。
  • マルチ GPU 対応: マルチ GPU 実行へのサポートを実装済み。

適正なワークロードと利用目的

最適な使用ケース

  • すべての計算がオフロードから利益を得るわけではありません。
  • 最も適した候補: 反復間における依存関係を持たないループなどによる データ並列ワークロード。
    • 各反復をアクセラレータ上で並列に実行できるためです。

NVIDIA ライブラリへのアクセス

  • Java 開発者が、NVIDIA が異なるハードウェア向けに最適化してきたライブラリにアクセスするための自然な JVM エコシステムを提供。
  • 活用可能な技術:
    • 線形代数
    • 高速フーリエ変換(信号分析用)
    • 深層ニューラルネットワーク
    • 疎行列向けの手動最適化された行列乗算
  • 統合・入手方法: Quarkus、Lang4j、Flink、Spring AI などのライブラリ統合が可能で、SDKMan を通じて入手できます。

Apache Flink との連携事例

  • 開発フロー:
    1. 通常通り Table API で標準的なクエリを書く。
    2. GPU 高速化の可能性を示すために設定フラグを使用。
    3. 計算がタスクマネージャーに到達した段階で、フレームワークが実行ノードの GPU 利用可能性を確認。
    4. GPU 可利用の場合、ライブラリプロバイダーと接続。
  • 判定プロセス: ライブラリプロバイダーがクエリの中間表現(IR)を解析し、GPU 実行に適しているかどうかを自動判定。

プログラミングアプローチの多様性

TornadoVM は Java プログラマー向けに NVIDIA GPU プログラミングの 4 つの異なる方法 を提供します:

  1. 並列 API:
    • ループへの注釈化(アノテーション)によりコンパイラに「並列化の可能性」というヒントを与える。
    • しかし、単体では本番アプリケーションでの所望のパフォーマンスが証明されていないため、追加 API が導入された経緯あり。
  2. カーネルコンテキスト API: より高度な制御を可能にする。
  3. TileContext API:
    cuTile
    プログラミングモデルに対応した新しい文脈。
  4. ハイブリッド API: Java と CUDA/MXL ライブラリの混合利用。

次世代 AI 推論エンジン「jitLLM v2.0」の導入

  • 新機能: TornadoVM 第 7.3 版リリースと並行して、TornadoVM を基盤とした次世代 Java AI 推論エンジン 「jitLLM v2.0」 が導入されました。
  • 位置づけ:
    llama.cpp
    や
    Ollama
    のパフォーマンス面での直接的な競合製品です。
  • 配布形式: 単一の JAR ファイルとして提供され、簡単に統合・使用できます。
  • 商業化: TornadoVM チームによって設立されたスピンオフ企業 Beestream.ai を通じて行われています。

参考情報

  • 詳細サイト: TornadoVM 公式サイト(※例示)
  • 動画資料: Devoxx Belgium で公開された「TornadoVM のハイブリッド API を使用して Java から NVIDIA エコシステムを活用する」などのビデオが視聴可能です。

著者: ベン・イブンス

同じ日のほかのニュース

一覧に戻る →

2026/10/25 8:11

米国のメディア・映画・芸術分野で20万人の雇用が失われた。その内訳はいくらなのか?AIの影響はどれくらいか?

## Japanese Translation: ## サマリー: 米国のクリエイティブ産業は歴史的な縮小に直面しており、雇用喪失の規模は 2001 年および 2008 年の不況と匹敵する深刻さです。この減少の主因は、映画制作、サウンド録音、出版セクターにおける大規模なリストラにあります。ハリウッドだけで 4 年で 10 万超の雇用を失い、同セクター全体の雇用の約3分の1となり、総雇用数は 2008 年以来の水準に後退し、30 年ぶりの低水準に近づいています。同様の期間中に記述出版物は約 7 万の雇用を喪失し、デジタルアートの各サブセクターも減少を続けており、特に新聞社のスタッフ数は 90 年代以降に 85% も減少し、雑誌出版業者は同期間でスタッフの 66% を失っています。ツアーや物理メディア販売によって支えられていた過去の時代とは異なり、現在のストリーミング収益では以前ほどの水準には達せず、音楽業界もそのビジネスモデルをシフトさせています。この経済的後退に拍車をかけているのは人工知能技術の戦略的な転換です。これらの労働者の約 32% がすでに生成型 AI を利用しているにもかかわらず、画像、映像、音楽生成などの高コスト分野では数学や科学への投資と比較して経済的リターンが低いため、テックセクターはそうした分野から撤退しており(アンソルピックなどで見られるように)、AI ツールによる迅速な回復は短期間で望むことはできず、伝統的なアートの労働力にとって長引く課題を示唆しています。さらに状況は複雑化しており、2022 年のテック雇用の増加が約 30 万でしたが、それ以降毎年雇用を喪失し続けており、これらのデジタルの逆風にもかかわらず対面エンターテインメントは引き続き成長しているという事実が加わっています。

2026/10/25 6:47

構築するソフトウェアに対し、より雄大であるべきです

## 日本語訳: 本件の核心メッセージは、高度な AI ツールを利用する個人が、大規模資金調達なしに高パフォーマンスで影響力のあるソフトウェアを構築できる可能性を示しており、「vibeslop」や低品質な AI 出力に対する懐疑論に挑戦している点です。具体的な証拠としては、Michael Malis の pgrust プロジェクトがあり、これは PostgreSQL に重大なバグ(SP-GiST、JSONPath、pgcrypto、メモリ安全性)を発見しており、メインプロジェクトが成功しない場合でもその最適化は Clickhouse などの主要システムを採用される可能性があります。パフォーマンスは重要な推進力であり、AI モデルは今や数年を要する論文やコードベースからの複雑な技術(例:カスタムレギュラー表現式エンジン、ボードゲーム AI、IMAP RFC 処理)を数時間以内に実装しており、Ripgrep 検索、Rust コンパイル、ファイルシステムオーバーヘッドなどのタスクにおけるボトルネックを大幅に減少させています。大規模な研究所が SOTA モデルのために高価なハードウェアを使用する一方、独立した取り組みは AI が検証および実装可能な能力の差が広がっていることを証明しており、これによりエンジニアリング課題への挑戦が最小限のオーバーヘッドで行えるようになり、データベースおよびツールエコシステムにおける漸進的な進展を促進しています。

2026/10/25 4:06

Goose プログラミング言語

## 日本語訳: Goose は、動的値をコンパイラ管理のスタック上にインライン保持することで、ヒープ割当とガベージコレクションを排除し、メモリ安全性を実現するシステム言語です。リソースの解放は手動のデアロケーションではなくスコープ終了経由で行われ、単一スタックメモリモデルによって再割当なしでの成長がサポートされ、参照がポインタが進むにつれて拡大する配列内を維持します。コンパイラはすべての参照に対する静的ルートを自動的に推論し、所有者よりも長生きする可能性があるものは却下し、ライフタイムアノテーションやアンセーフブロックの必要はありません。 パフォーマンスベンチマークでは、Goose が標準的な C++、手動最適化された C++、そして安全な Rust に比べて速度とメモリ使用量でともに優れています:標準的な C++ の場合最高 3.3 倍高速に動作し、メモリ使用量は約半分(1.9 倍削減)です。アーキテクチャ上の革新であるバリアントモード enums(各バリアントの正確なサイズを格納)、ナローリンク(位置非依存参照のために 1/2/4 バイトのオフセットを使用)、およびインプレース構築は、オーバーヘッドが著しく低い連続したネスト型データ構造を可能にします。エラーは関数フレーム間を静的に返すことができ、アンワインダーや Result タイプを必要とせず、スレッドは分離されたメモリ空間で動作し、memcpy によってフラットな値が転送されることでデータ競合とロックを回避します。全体として、Goose は組み込みシステムや高频度取引といったクリティカルドメインにおいて高いパフォーマンスと安全性を提供するとともに、開発ライフサイクルを簡素化します。

TornadoVM 7 で Java アプリケーションからネイティブ GPU ワークロードを実現 | そっか~ニュース