2016-08-01 6 views
0

MKLを使用した(64ビットではない)割り当てデータに問題はありますか?私はMKL関数にMKL関数をユーザー割り当てのデータで使用できますか?

vcMulByConj(...) 

を使用しようとしている

は、OpenCVのマットオブジェクトを使用して割り当てられたメモリを続けています。 (私はそれが "新しい" C++操作を使用して実装されていると信じて)

私は頻繁にアクセス違反の例外を受け取ります。

私はMKL関数を使用するために自分の非整列メモリを使用することができ、いえ私は、パフォーマンスの脆弱性を認識していMKLは、64ビットの整列割り当て

void* datta = MKL_malloc(n*n*sizeof(double),64); 

で動作することを承知していますか?

私のメモリモデルに問題はありますか? IPPは、機能のための

私は同じ質問をするでしょう

更新

:MKLとIPPの両方が64ビットに整列されている

が、私は両方MKLとIPPライブラリーのための機械化と同じメモリ割り当てを使用することができます電話?

(両方のライブラリのためのippsiMalloc関数を()を使用したとしましょう)

ベスト

答えて

1

はい、できます。

アライメントされたメモリを使用することは、パフォーマンスを向上させるための推奨事項ですが、必須条件ではありません。 MKL関数は、通常、整列されたデータと整列されていないデータの両方で正しく機能します。 IPPの場合

https://software.intel.com/en-us/node/528558

、これも本当です。次のリンクの最後のQ & Aを参照してください。

https://software.intel.com/en-us/articles/performance-tools-for-software-developers-memory-function-faq

+0

、MKLとIPPの両方が64ビットに整列されている、ありがとう、私は(両方のライブラリのためのippsiMalloc関数を()を使用して)同じメモリ割り当てがMKLとIPPの両方のための機械化に使用することはできますか?私は質問を更新しました – TripleS

+0

もちろん、できます。 – kangshiyin

関連する問題