Fortran 組み込み関数の使用

インテル® Fortran コンパイラーは、すべての標準 Fortran 組み込みプロシージャーをサポートし、言語機能を拡張するインテル固有の組み込みプロシージャーを提供します。インテル固有のプロシージャーは、libifcore.lib で提供されます。組み込みプロシージャーについての詳細は、「Language Reference」(英語) マニュアルを参照してください。

ここでは、IA-32、インテル® 64、IA-64 アーキテクチャーでの効果的なアプリケーション開発に役立つインテル拡張組み込み関数の例を示します。

CACHESIZE 組み込み関数

CACHESIZE(n) 組み込み関数は n レベルのキャッシュサイズをキロバイトで返します。(1) は一次キャッシュを表します。キャッシュレベルが存在しない場合、(0) が返されます。

この組み込み関数は、対象となるプロセッサーのキャッシュ階層におけるアルゴリズムを調整する際に使用します。例えば、アプリケーションはキャッシュサイズをクエリーし、その結果を使用して行列を操作するアルゴリズムでブロックサイズを選択します。

subroutine foo (level)

integer level

if (cachesize(level) > threshold) then

   call big_bar()

else

   call small_bar()

end if

end subroutine