インテル® Fortran は、すべての標準 Fortran 組込みプロシージャをサポートし、 さらに、言語機能を拡張するインテル固有の組込みプロシージャを提供します。インテル Fortran 組込みプロシージャは libintrins.a ライブラリに含まれます。組込みプロシージャに関する詳細は、『Intel® Fortran Language Reference』(英語) を参照してください。
ここでは、効果的なアプリケーション開発に役立つインテル拡張組込み関数の例を示します。
組込み関数 CACHESIZE (n) は Itanium コンパイラでのみ使用されます。CACHESIZE (n) は n レベルのキャッシュ・サイズをキロバイトで返します。1 は一次キャッシュを表します。キャッシュ・レベルが存在しない場合、ゼロが返されます。
プログラマが、対象となるプロセッサのキャッシュ階層におけるアルゴリズムを調整する際、多くの場合、この組込み関数を使用できます。例えば、アプリケーションはキャッシュ・サイズをクエリし、行列を操作するアルゴリズムでブロックサイズを選択するのにキャッシュ・サイズを使用します。
subroutine foo (level)
integer level
if (cachesize(level) > threshold) then
call big_bar()
else
call small_bar()
end if
end subroutine