mpicbg-scicomp / gearshifft_publication

Publication Manuscript for results obtained with gearshifft
Other
0 stars 1 forks source link

Adding input size in bytes #34

Closed psteinb closed 7 years ago

psteinb commented 7 years ago

I used Size_DeviceBuffer until now as the default x axis, this of course wrong and produce plots where the CPU and GPU data points would not align along y

tdd11235813 commented 7 years ago

you are right. Just to clarify this: the plots shall use signal size on the x axis. gearshifft does not provide this value. Size_DeviceBuffer is a sum of size for input and size for output buffer (if required). Size_DeviceBuffer maps to get_allocation_size in gearshifft:

RecordType::DevBufferSize, fft.get_allocation_size(); // fft.hpp:69

n_allocated_ = std::accumulate(allocated_extents_.begin(), ... // fftw.hpp:445
// fftw.hpp:450
data_size_ = sizeof(value_type)*n_allocated_; 
data_transform_size_ = IsInplace ? 0 : n_ * sizeof(ComplexType);
// fftw.hpp:477
size_t get_allocation_size() {
  return data_size_ + data_transform_size_;

So this also becomes a request to add a metric "signal size" to csv output!? Ok. You can merge, if there is nothing in the pipe.

psteinb commented 7 years ago

no, I wouldn't make it another column necessarily. As you saw, it can be easily computed from the output data. however, there would be one request to ease this calculation, for a 1D transform, let's agree on:

nx,ny,nz
32,1,1

for a 3D transform let's go with:

nx,ny,nz
32,32,32

this way, the number of elements can be computed by a "blind" product of nx*ny*nz. currently, ny and/or nz are set to 0 which requires an ifclause to check all the time.

psteinb commented 7 years ago

I'll merge it then