2016-11-15 8 views
1

私は最近、ベクトル化された指数関数の実装を研究していました。実際には単精度用のコードを見つけるのは非常に簡単ですが、倍精度用のコードを見つけるのは非常に難しいです。私は、倍精度AVXべき乗の実装を見つけることができませんでした。 SSEのコードはほとんど変更できますが、一般的に2^nで乗算するトリックはAVXに適応できないようです。AVX指数倍精度関数はどこにありますか?

誰もそのような実装を知っていますか?

+0

IntelのSVMLライブラリには常に '_mm256_exp_pd'があります。また、私はAgner Fogのベクトルクラスライブラリが倍精度ベクトルの 'exp'をサポートしていると信じています:http://www.agner.org/optimize/vectorclass.pdf –

+0

AVX2と倍精度サポートを持つもう一つの数学ライブラリは[Yeppp!](https: //www.yeppp.info/index.html)。 – wim

+1

Agner Fogのベクターライブラリがこのトリックをかなりうまくやった!あなたが答えとして投稿するなら、私はそれを受け入れるでしょう@PaulR –

答えて

3

インテルのICCコンパイラを使用している場合は、_mm256_exp_pdがSVMLライブラリにあります。

または、Agner Fogのvector class libraryは、倍精度ベクタ用にexpをサポートしています。

+1

Agner Fogのベクターライブラリは、私が探していたもので、コードは十分に包括的です。 –

関連する問題