Parallelism on a Single Core – SIMD with C#

情報源: Parallelism on a Single Core – SIMD with C#

.NET Fx 4.6からランタイムがCPUのSIMD機能(拡張命令セット)、IntelのSSE, AMDではAVX, AVX-512に対応しました。このSIMD機能を使うと制限はあるものの行列演算を1つのコアの中で並列化できます。.NETではこのSIMD機能を使用するためのライブラリとしてSystem.Numerics.Vectorsと言うライブラリが用意されていて、NuGetで導入します。

上リンク先記事はこのSIMD機能で演算をするための方法を解説しています。

SIMDの使用は行列演算の速度を劇的に改善する可能性があるので、.NETの数値計算速度でお悩みの方で適応できそうな方は試してみると良いかも。いままでC/C++やFortranでしか出来なかったことがC#,VB,F#で出来るようになるのは良いですね。

コメントを残す