JavaコードをGPUやFPGAで実行可能にする「TornadoVM」 21
ストーリー by hylom
コードの修正なしでパフォーマンスが出るなら素晴らしい 部門より
コードの修正なしでパフォーマンスが出るなら素晴らしい 部門より
JavaコードをGPUやFPGA上で実行可能にするというソフトウェア「TornadoVM」なるものが開発されている(InfoQ)。
TornadoVMはOpenJDKやGraalVMと組み合わせて利用するソフトウェアで、これを利用することでGPUやFPGAの並列処理能力を活用でき、特定の処理を大幅に高速化できるという。
TornadoVMではマルチコアCPU、NVIDIAやAMDのGPU、IntelのFPGAに対応しており、使用するハードウェアに応じて自動的にタスクを振り分ける機能も備えているそうだ。まだ実用段階ではなく、サポートなども提供されていないが、すでに機械学習などの分野で使用例があるともされている。
TornadoVM (スコア:1)
暴走の挙句、元データーもシステム(ドライブ)も、ぐちゃぐちゃに破壊しそうな恐るべきネーミングだ。
Re:TornadoVM (スコア:3)
そして、もう使いたくなくなって「No more tornado」って言われて、三振奪取。
Re: (スコア:0)
そして「Tornadoが三振を取るねぇど」ってオヤジギャグを炸裂させる奴が現われて周囲の人間の精神も破壊されるわけですね。
誰も書かないけど (スコア:1)
Tornadoの由来って、FPGAの旧Altera、現IntelのCyclone [intel.co.jp]を意識してたのかな?
初期リリースでは対応してなかったみたいなので違うような気もするけど、次のリリースで対応してるのよね [github.com]
FPGA上のJavaVMならJOPが… (スコア:0)
あったはずだけどいつの間にかサイトが消えているorz
# Wikipedia [wikipedia.org]には痕跡が残っていた
Re: (スコア:0)
TornadoVMはFPGAで実装されたJVMではなくアクセラレータでは?
Java仮想じゃないよマシン (スコア:0)
Java仮想マシンの命令がハードウェア実装されたプロセッサはいくつか存在するようだが
どうして流行らないんだろう?
思ったより性能が出ない? 単価が高い? Java自体に魅力がない?
Re:Java仮想じゃないよマシン (スコア:3, 参考になる)
Re: (スコア:0)
スタックマシンは単純な実装ならレジスタマシンより有利な点もあるけれど、パイブラインだ、スーパースケーラだ、JITコンパイルだ、μOpsだ、と命令を微分していく高速化アプローチとの相性が良くない。
Re:Java仮想じゃないよマシン (スコア:2)
商業的には成功しなかったけど「コードモーフィング」(今でいうJITコンパイル的なやつ)で一時期注目を集めたトランスメタも、Javaバイトコードを実行するコードモーフィングについては「できなくはないけど今のところリリースの予定はない」ってコメントしてた覚えがあるので、既存プロセッサと差別化できるほどのメリットはなかったんだろうなぁ。
ところで
パイブラインだ
「パイをブラにイン」とは夢がありますね
うじゃうじゃ
Re: (スコア:0)
バイブラインと間違えたのかもしれない
Re:Java仮想じゃないよマシン (スコア:1)
AndroidやiPhoneでは JavaVMは不要なので、そもそもいらない。なのでスナドラやExynosとかでもJazzeleが入ってない。
PCクラスになってしまうと、JITが優秀すぎるし、パフォーマンスが必要なところをJavaで書くか?という大前提が狂うのでメリットがない。
ARMのJazzele(DBX)が使えるぐらいの組込み用途だと普通に使ってる。
当たり前すぎて話題にもならんってレベルで使われてる。
ARMなんて使えないってレベルの組込みになると専用言語だったりCになるので出番がない。
求められる層では普及してるし、求められる層は広くはないというだけだと思う。
Re: (スコア:0)
WebAssembly「・・・」
Re: (スコア:0)
3 billion devices run Javaとは謎の言葉だが、next billionのAndroidとどっちが広いんだろう。
Re: (スコア:0)
元中の人だけど。
10年以上前はかなり流行ったよ。
iAppli時代のガラケーはメモリが少なくてJITを載せるのが現実的ではなかったので。
ほとんどのガラケーがJazelleで動いてた。日本だけなく海外でも。
でも、メモリの搭載量が増えるにつれて、最適化が効くJITが優勢になりJazelleは必要なくなってしまった。
今でも小規模な組み込み向けには有効かもしれない。
intelのFPGA.... (スコア:0)
PCのスロットに挿せるような汎用用途の規格品みたいなのがあるのでしょうか
処理をオフロードできるようなのはでかくて高いんでしょうけど
Re: (スコア:0)
あるよ。
azuruにそういうinstanceあるよ
ちなみにawsにもXilinxのFPGAだが同様のものがあるよ
Re: (スコア:0)
>PCのスロットに挿せるような汎用用途の規格品みたいなのがあるのでしょうか
あるよ。Xilinxだとこんなやつ。
https://japan.xilinx.com/products/boards-and-kits/alveo.html [xilinx.com]
>処理をオフロードできるようなのはでかくて高いんでしょうけど
高いよ。上位機種は国産高級車が買えるぐらい。
でも用途によってはGPUの10倍とか100倍性能が出るから必要だよ。
Re: (スコア:0)
PC向きじゃない気がするけどXeon Gold 6138P [hardware.srad.jp]とか…?
Re: (スコア:0)
まあパソコンと一般的な高性能サーバの拡張スロットは共通の規格を使ってるので山ほどあると思いますよ。
Re: (スコア:0)
SoC付のFPGAかいな? PCIバスカードにFPGA載ったのは売ってるけど。