トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

Diary/2010-11-3

バンド幅の設計に惚れ惚れ

各CPUで目一杯メモリアクセスして,ざっくりと測定してみた.
バンド幅って,絶妙に設計されているんだなあと惚れ惚れする.
ちなみに,16回読みor書きするときの最小レイテンシは,
i7 860が85サイクルなのに対して,i7 980Xでは65サイクル.速い.

i7 860, 12GB

i7 X980, 8GB

実行したプログラム

test.c(336)
以下のプログラムをpthreadで並列化して各コアで実行.
SIZEの値は128M.
いまみてみると,16回まわすのは,キャッシュあたるからゴミ以外の何ものでもないな...

 // write test
 for(i = 0; i < SIZE; i++){
       addr = ptr+i;
       t0 = rdtsc();
       for(times = 0; times < 16; times++){ *addr = i; }
       t1 = rdtsc();
       if(t1 > t0) write_update(t1 - t0, arg);
 }
 // read test
 for(i = 0; i < SIZE; i++){
       addr = ptr+i;
       t0 = rdtsc();
       for(times = 0; times < 16; times++){ d = *addr; }
       t1 = rdtsc();
       if(t1 > t0) read_update(t1 - t0, arg);
 }


ちなみにCell/B.E.の場合

適当なソフトウェアキャッシュをLS上に実装して測定してあります.



一言メモ