インテル® マス・カーネル・ライブラリーのメモリー管理ソフトウェア

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

メモリー管理ソフトウェアはデフォルトでオンになっているため、プログラムを終了するまでインテル® MKL を呼び出して割り当てられたメモリーは解放されません。メモリー管理ソフトウェアの動作を無効にするには、MKL_DISABLE_FAST_MM 環境変数に任意の値を設定してください。 メモリーは呼び出しごとに割り当てられ、呼び出しの後に解放されます。この機能を無効にすると、特に問題サイズの小さな、一部のインテル® MKL ルーチンのパフォーマンスが低下します。


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

© 2007 - 2010 Intel Corporation. 無断での引用、転載を禁じます。