インテル® MKL のメモリー管理ソフトウェア

インテル® マス・カーネル・ライブラリー (インテル® MKL) には、ライブラリー関数によって使用されるメモリーバッファーを管理するメモリー管理ソフトウェアが用意されています。 アプリケーションがインテル® MKL を呼び出すときにライブラリーが割り当てる新しいバッファーは、プログラムを終了するまで解放されません。メモリー管理ソフトウェアによって割り当てられたメモリー容量を取得するには、mkl_mem_stat() 関数を呼び出します。 プログラムでメモリーを解放する必要がある場合は、mkl_free_buffers() 関数を呼び出します。 メモリーバッファーが必要なライブラリー関数に別の呼び出しが行われると、メモリー・マネージャーはバッファーを再び割り当てます。このバッファーは、プログラムを終了するか、プログラムがメモリーを解放するまで割り当てられたままです。 この動作により、パフォーマンスが向上します。しかし、一部のツールではこの動作をメモリーリークとして報告することがあります。

メモリー管理ソフトウェアはデフォルトでオンになっています。オフにするには、MKL_DISABLE_FAST_MM 環境変数に任意の値を設定するか、mkl_disable_fast_mm() 関数を呼び出します。 この変更により、特に問題サイズが小さい場合、一部のインテル® MKL ルーチンのパフォーマンスが低下する可能性があることに注意してください。


このヘルプトピックについてのフィードバックを送信