-qcache

説明

-qcache オプションは、特定の実行マシンのキャッシュ構成を指定する。 プログラムの実行システムの型がわかっていて、 システムにデフォルトのケースとは異なる構成の命令またはデータ・キャッシュがある場合は、 このオプションを使用して、正確なキャッシュ特性を指定します。 コンパイラーは、この情報を使用して、キャッシュに関連する最適化の利点を計算します。

構文

構文図を読む構文図をスキップする                  .-:---------------------.
                  V                       |
>>- -q--cache--=----+-assoc--=--+-0---+-+-+--------------------><
                    |           +-1---+ |
                    |           '-n>1-' |
                    +-auto--------------+
                    +-cost--=--cycles---+
                    +-level--=--+-1-+---+
                    |           +-2-+   |
                    |           '-3-'   |
                    +-line--=--bytes----+
                    +-size--=--Kbytes---+
                    '-type--=--+-C-+----'
                               +-c-+
                               +-D-+
                               +-d-+
                               +-I-+
                               '-i-'
 

ここで、使用可能なキャッシュ・オプションは以下の通りです。

assoc=number キャッシュの設定の結合順序を指定します。この場合、number は、以下のいずれかです。
0
直接マップされたキャッシュ
1
完全結合のキャッシュ
N>1
N-way 設定の結合キャッシュ
auto コンパイル・マシンの特定のキャッシュ構成を自動的に検出します。 これは、実行環境がコンパイル環境と同じであることを前提としています。
cost=cycles キャッシュ・ミスの結果生ずるパフォーマンス・ペナルティーを指定します。
level=level 影響されるキャッシュのレベルを指定します。この場合、level は、以下のいずれかです。
1
基本キャッシュ
2
レベル 2 のキャッシュ。レベル 2 のキャッシュがない場合は、テーブル・ルックアサイド・バッファー (TLB)
3
TLB
マシンに複数のレベルのキャッシュがある場合は、別々の -qcache オプションを使用します。
line=bytes キャッシュの行サイズを指定します。
size=Kbytes キャッシュの合計サイズを指定します。
type=cache_type 指定されたタイプのキャッシュに設定を適用します。 ここで、cache_type は、次のいずれかです。
C または c
結合されたデータおよび命令キャッシュ
D または d
データ・キャッシュ
I または i
命令キャッシュ

-qtune 設定は、最も一般的なコンパイルに最適なデフォルト -qcache 設定を判別します。 これらのデフォルト設定は、-qcache を使用してオーバーライドすることができます。 しかし、間違った値をキャッシュ構成に指定したり、 異なる構成のマシン上でプログラムを実行した場合、 そのプログラムは正常に稼働しますが、若干遅くなる可能性があります。

-qcache オプションは、-O4-O5、または -qipa と共に指定する必要があります。

-qcache サブオプションを指定するときには、以下のガイドラインを使用してください。

結合された命令とデータ・レベル 1 のキャッシュ (キャッシュは 2-way アソシエイティブで、サイズは 8 KB で、64 バイトのキャッシュ行を持っている) を使用してシステムのパフォーマンスを調整するには、以下のように入力します。

xlc++ -O4 -qcache=type=c:level=1:size=8:line=64:assoc=2 file.C

関連情報