2017-03-21 6 views
0

私はwhat it takes to support fast vectorized linear algebra computations for matrices and vectors of arbitrary sizeを理解しようとしています。私がx86プロセッサアーキテクチャについて理解しているところからは、それらにはspecial registers of limited sizeが含まれています。これらのレジスタは、浮動小数点数をロードし、オペレーションをレジスタ間でブロードキャストすることを可能にする。制限されたサイズを効率よくどのように乗り越えますか?OpenBLASは任意のサイズのベクトルと行列をどのようにサポートしていますか?

私はOpenBLASのソースコードを見ていましたが、dev docsを見ても、gemvのような簡単な操作の一般的な流れは分かりませんでした。

答えて

0

OpenBLASは、これらの操作を効率的に実行するためにカーネルに依存しています。この文脈において、「カーネル」は、線形代数演算のために具体的に書かれたアセンブリコードである。たとえば、gemv操作では、x86-64およびARM64のこれらのカーネルを参照してください。

関連する問題