3

重複の可能性:
SIMD プログラミング言語

最新の CPU で最高のパフォーマンスを達成するための最も重要な要素は次のとおりです。

  1. スレッド レベルの並列処理

  2. 各スレッド内での SIMD の使用

最新のプログラミング言語のほとんどは、スレッド レベルの並列処理をサポート (または強調) しています。ただし、SIMD 命令のサポートははるかにまれなようです。

  • C、C++、C#/DotNet/Mono の Mono.SIMD と D の core.simd については知っています。
  • 私の知る限り、Java と Go は明示的な SIMD をサポートしていません (今後もサポートしません) (そして、コンパイラが最善を尽くしてくれることを願っています)。
  • Ruby と Python は、C ラッパー ライブラリ (numpy など) を介した SIMD へのアクセスのみを提供しますが、直接アクセスは提供しません。
  • Fortran は、明示的なコードではなく、(ガイド付きの) 自動ベクトル化のみをサポートしているようです。
  • Haskell、Rust はメインブランチでまだ SIMD をサポートしていないようです...

SIMD 命令への明示的なアクセスを提供する他のプログラミング言語はどれですか?

ご提案いただきありがとうございます。

4

0 に答える 0