• ベストアンサー

GPUを使った並列コンピューティングの最先端

GPUを使った並列コンピューティングの最先端について教えてください。 CUDAとOpenCLなどを聞いたことがあるのですが、 主流としては、どのような言語やライブラリを使って、 どんな環境(エミュレータ? 仮想PC? 実機? etc・・・)で 並列コンピューティングを行っているのでしょうか? というより既に廃れ始めている感じなのでしょうか?(あまり最近聞かないような気がするので・・・)

質問者が選んだベストアンサー

  • ベストアンサー
  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

無料で使えることもありCUDAで書いている人が多いと思います。 私自身はopenACCを使っています。 CやFortranのソースコードに並列化指示を加えていくだけです。openMPと同じような感じですが、並列化可能かはコンパイラが判断します。どちらかというと自動並列化に近いです。 CUDAの場合は全面的に書き替えないといけませんし、GPUを使ったからといって速くならないことも多いので、openACCのような自動並列化が主流になってくるのではないかと思います。 対応しているのは市販コンパイラしかまだないので普及は遅れていますが、GCCが対応を表明しています。 思ったほと使われていないと感じられるなら、GPUによる並列化が適した分野が思ったほど多くはなかったいうことだと思います。 私の感覚では、普段作ってCPUで並列化できるようなもので、GPUに移行して速くなるのは10%程度です。openACCだと気楽に試せますので、いろいろやってみています。 GPUのCPUはかなり低性能ですので、それを数千個束めて使えるほど並列化メリットがあるものだけです。

okwaver85758
質問者

お礼

回答有難うございます。 OpenAcc、さっそく調べさせていただきました。 たぶんあとから改善されていくのだろうと思いますが、やっぱりCUDAより性能落ちるのですね。ですがたしかに使いやすそうな印象を受けました。 OpenMPのGPU特化型派生と聞いたので、もしかするとそのうちまた他のが出てくるかもしれません。 ありがとうございました。

関連するQ&A