PagedLockedHostMemory追加テスト1

マルチポスト元→http://exth.net/~tgbt/wordpress/2010/05/19/3148/


そういえばHostAllocのみ(WriteCombinedなどの設定をしない)でのテストはやってなかった。

./ha 0 50000000
size = 50000000Byte(48828KByte, 47MByte), 12500000 elements
device max=2, n=0
part1(simple)
  memcpy           : 16029.792786 nsec, 5864.080794 MByte/sec
  all              : 1158009.052277 nsec
part2(indirect)
  memcpy           : 16031.936646 nsec, 5863.296623 MByte/sec
  all              : 78474.044800 nsec
part3(indirect random)
  memcpy           : 16034.784317 nsec, 5862.255341 MByte/sec
  all              : 78482.151031 nsec
./ha_wk 0 50000000
size = 50000000Byte(48828KByte, 47MByte), 12500000 elements
device max=2, n=0
part1(simple)
  memcpy+kernel    : 58448.158264 nsec, 1608.262823 MByte/sec
  all              : 1196021.080017 nsec
part1(CPU)
  CPUkernel        : 14250.993729 nsec
  memcpy+CPUkernel : 30297.216415 nsec, 3102.595259 MByte/sec
  all              : 84782.838821 nsec
part2(indirect)
  memcpy+kernel    : 96689.697266 nsec, 972.182173 MByte/sec
  all              : 160046.100616 nsec
part2(CPU)
  CPUkernel        : 20169.973373 nsec
  memcpy+CPUkernel : 36217.407227 nsec, 2595.437034 MByte/sec
  all              : 98576.068878 nsec
part3(indirect random)
  memcpy+kernel    : 165139.709473 nsec, 569.215002 MByte/sec
  all              : 227524.995804 nsec
part3(CPU)
  CPUkernel        : 153204.917908 nsec
  memcpy+CPUkernel : 169245.315552 nsec, 555.406805 MByte/sec
  all              : 231613.159180 nsec
  • 転送速度は十分に得られた
  • CPUkernelの実行時間が短くなったりならなかったりのちょっと謎の挙動。なんだこれ?


プログラム内部で一発しか実行していないけど、何度か実験して同じような値が見える。うーん、HostAlloc周りも対象プログラムによって色々調整しないと行けないのか……これ、チューニング無理くせー。
次はオーバーラップの実験かな。