パスワードを忘れた? アカウント作成
14132429 story
Java

JavaコードをGPUやFPGAで実行可能にする「TornadoVM」 21

ストーリー by hylom
コードの修正なしでパフォーマンスが出るなら素晴らしい 部門より

JavaコードをGPUやFPGA上で実行可能にするというソフトウェア「TornadoVM」なるものが開発されている(InfoQ)。

TornadoVMはOpenJDKやGraalVMと組み合わせて利用するソフトウェアで、これを利用することでGPUやFPGAの並列処理能力を活用でき、特定の処理を大幅に高速化できるという。

TornadoVMではマルチコアCPU、NVIDIAやAMDのGPU、IntelのFPGAに対応しており、使用するハードウェアに応じて自動的にタスクを振り分ける機能も備えているそうだ。まだ実用段階ではなく、サポートなども提供されていないが、すでに機械学習などの分野で使用例があるともされている。

  • by Anonymous Coward on 2020年03月11日 14時50分 (#3777020)

    暴走の挙句、元データーもシステム(ドライブ)も、ぐちゃぐちゃに破壊しそうな恐るべきネーミングだ。

    ここに返信
  • by Anonymous Coward on 2020年03月11日 14時18分 (#3777008)

    あったはずだけどいつの間にかサイトが消えているorz

    # Wikipedia [wikipedia.org]には痕跡が残っていた

    ここに返信
    • by Anonymous Coward

      TornadoVMはFPGAで実装されたJVMではなくアクセラレータでは?

  • by Anonymous Coward on 2020年03月11日 14時52分 (#3777022)

    Java仮想マシンの命令がハードウェア実装されたプロセッサはいくつか存在するようだが
    どうして流行らないんだろう?

    思ったより性能が出ない? 単価が高い? Java自体に魅力がない?

    ここに返信
    • by nekopon (1483) on 2020年03月11日 15時07分 (#3777040) 日記
      Stack Overflow [stackoverflow.com]が参考になれば。ざっくり言ってH/W処理向きでなく遅いようです。H/Wだとbytecodeを1バイトずつ実行するのに対しJITコンパイルなら複数の命令をまとめてコンパイルしてしまえると。
      • by Anonymous Coward

        スタックマシンは単純な実装ならレジスタマシンより有利な点もあるけれど、パイブラインだ、スーパースケーラだ、JITコンパイルだ、μOpsだ、と命令を微分していく高速化アプローチとの相性が良くない。

        • 商業的には成功しなかったけど「コードモーフィング」(今でいうJITコンパイル的なやつ)で一時期注目を集めたトランスメタも、Javaバイトコードを実行するコードモーフィングについては「できなくはないけど今のところリリースの予定はない」ってコメントしてた覚えがあるので、既存プロセッサと差別化できるほどのメリットはなかったんだろうなぁ。

          ところで

          パイブラインだ

          「パイをブラにイン」とは夢がありますね

          --
          うじゃうじゃ
          • by Anonymous Coward

            バイブラインと間違えたのかもしれない

    • by Anonymous Coward on 2020年03月11日 15時08分 (#3777042)

      AndroidやiPhoneでは JavaVMは不要なので、そもそもいらない。なのでスナドラやExynosとかでもJazzeleが入ってない。
      PCクラスになってしまうと、JITが優秀すぎるし、パフォーマンスが必要なところをJavaで書くか?という大前提が狂うのでメリットがない。

      ARMのJazzele(DBX)が使えるぐらいの組込み用途だと普通に使ってる。
      当たり前すぎて話題にもならんってレベルで使われてる。

      ARMなんて使えないってレベルの組込みになると専用言語だったりCになるので出番がない。

      求められる層では普及してるし、求められる層は広くはないというだけだと思う。

      • by Anonymous Coward

        WebAssembly「・・・」

      • by Anonymous Coward

        3 billion devices run Javaとは謎の言葉だが、next billionのAndroidとどっちが広いんだろう。

    • by Anonymous Coward

      元中の人だけど。
      10年以上前はかなり流行ったよ。
      iAppli時代のガラケーはメモリが少なくてJITを載せるのが現実的ではなかったので。
      ほとんどのガラケーがJazelleで動いてた。日本だけなく海外でも。
      でも、メモリの搭載量が増えるにつれて、最適化が効くJITが優勢になりJazelleは必要なくなってしまった。
      今でも小規模な組み込み向けには有効かもしれない。

  • by Anonymous Coward on 2020年03月11日 19時04分 (#3777242)

    PCのスロットに挿せるような汎用用途の規格品みたいなのがあるのでしょうか
    処理をオフロードできるようなのはでかくて高いんでしょうけど

    ここに返信
    • by Anonymous Coward

      あるよ。

      azuruにそういうinstanceあるよ

      ちなみにawsにもXilinxのFPGAだが同様のものがあるよ

    • by Anonymous Coward

      >PCのスロットに挿せるような汎用用途の規格品みたいなのがあるのでしょうか
      あるよ。Xilinxだとこんなやつ。
      https://japan.xilinx.com/products/boards-and-kits/alveo.html [xilinx.com]

      >処理をオフロードできるようなのはでかくて高いんでしょうけど
      高いよ。上位機種は国産高級車が買えるぐらい。
      でも用途によってはGPUの10倍とか100倍性能が出るから必要だよ。

    • by Anonymous Coward

      PC向きじゃない気がするけどXeon Gold 6138P [hardware.srad.jp]とか…?

    • by Anonymous Coward

      まあパソコンと一般的な高性能サーバの拡張スロットは共通の規格を使ってるので山ほどあると思いますよ。

    • by Anonymous Coward

      SoC付のFPGAかいな? PCIバスカードにFPGA載ったのは売ってるけど。

typodupeerror

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

読み込み中...