Changes between Version 19 and Version 20 of CALプログラミング(4)


Ignore:
Timestamp:
Mar 22, 2009 1:30:23 PM (16 years ago)
Author:
nakasato
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CALプログラミング(4)

    v19 v20  
    3434}}} 
    3535 
    36 こうする理由は、"calResAllocLocal1D"により1次元のメモリとして確保した場合、その次元の最大値は8192までという制限があるためである。よって、上のILプログラムの場合には、1粒子のデータとして4要素のfloatと変数を使っているので、1次元メモリで単純にN体計算を実装すると8192粒子までの粒子しか扱うことができない。これでは実用的な価値がなく、実際にベンチマークテストをしてみると、この粒子数ではRV770の性能を引き出すことができない。 
     36nxとnyはそれぞれ、配列の添字の最大値を指定している。nxが最低次元である。よって、このAPIによりinputResで指定されるメモリ領域は"inputRes[ny][nx]"の大きさをもつ2次元配列データとなる。フォーマットとして、CAL_FORMAT_FLOAT_4を指定しているため、このデータは単精度浮動小数点であり、4つの要素を持つ。具体的には"float inputRes[ny][nx][4]"のような3次元の配列と同等である。ただし、実際のメモリ配列については連続しているとは限らない、下記参照。 
     37 
     38こうする理由は、"calResAllocLocal1D"により1次元のメモリとして確保した場合、その次元の最大値は8192までという制限があるためである。よって、上のILプログラムの場合には、1粒子のデータとして4要素のfloat変数を使っているので、1次元メモリで単純にN体計算を実装すると8192粒子までの粒子しか扱うことができない。これでは実用的な価値がなく、実際にベンチマークテストをしてみると、この粒子数ではRV770の性能を引き出すことができない。 
    3739 
    3840= 2次元配列 =