実行速度

cachetest のパフォーマンスデータを収集したことを確認してください。 これらの作業が完了していない場合は、cachetest サンプルのデータ収集を参照して実行してください。

ここでは、6 種類のマトリックス - ベクトル乗算関数の実行速度を測る数値を演算します。

  1. 浮動小数点演算実験に対してアナライザを起動します。
    % cd work-directory/cachetest
    % analyzer flops.er &
     
  2. 「名前」列のヘッダをクリックします。

    関数は名前別にソートされ、選択された関数を基準に表示がセンタリングされます。選択された関数は変わりません。

  3. dgemv_g1dgemv_g2dgemv_opt1dgemv_opt2dgemv_hi1dgemv_hi2 の 6 種類の関数 それぞれについて「FP Adds」と「FP Muls」の カウントを加算し、ユーザー CPU 時間と 106 で割ります。

    求めた結果が、各ルーチンの MFLOPS カウントです。 発行される浮動小数命令の数はすべてのルーチンで同じですが、使用する CPU 時間が異なります (この違いは、カウント方法の違いによるものです)。 dgemv_g2 のパフォーマンスは dgemv_g1 のパフォーマンスより良く、dgemv_opt2 のパフォーマンスは dgemv_opt1 のパフォーマンスより良いですが、dgemv_hi2dgemv_hi1 のパフォーマンスはほぼ同じです。

  4. ここで求めた MFLOPS カウントを、プログラムが出力した MFLOPS 値と比較します。

    ハードウェアカウンタデータの収集にオーバーヘッドがかかるため、データから計算された値の方が小さくなります。



著作権と商標について