キャッシュの動作と最適化

ここでは、効率的なデータアクセスと最適化の問題について説明します。 標準の BLAS ライブラリに含まれているマトリックス-ベクトル乗算ルーチン dgemv の実装 2 つを使用します。 この 2 つのルーチンのコピー 3 個がプログラムに組み込まれています。 第 1 コピーは最適化しないでコンパイルし、配列の要素のアクセス順序がルーチンのパフォーマンスにどのような影響を及ぼすかを調べます。 第 2 コピーは -O3、第 3 コピーは -fast を使用してコンパイルし、コンパイラループの順序変更と最適化が及ぼす影響を確認します。

また、パフォーマンス解析におけるハードウェアカウンタデータとコンパイラコメントの使い方も紹介します。

この例題を実行するには、UltraSPARC[tm] III 以上のコンピュータハードウェアが必要です。 この例題でのパフォーマンスデータの収集方法については、cachetest サンプルのデータ収集を参照してください。 パフォーマンスデータを収集したら、次の 3 部で構成されたチュートリアルを順番に行なってください。

実行速度
プログラム構造とキャッシュ動作
プログラムの最適化とパフォーマンス


著作権と商標について