ratt-ru / montblanc

GPU-accelerated RIME implementations. An offshoot of the BIRO projects, and one of the foothills of Mt Exaflop.
Other
10 stars 3 forks source link

Implement an Elliptical Coordinate System #23

Closed sjperkins closed 9 years ago

sjperkins commented 10 years ago

Jon was suggesting compressing the channel and time dimensions by having a regular (u,v) grid. As I understand it, the time and frequency parameters are derived from the grid coordinates.

While grid coordinate system are ubiquitous, we also wondered whether an elliptical coordinate system would be a better way of compressing said data.

The reasons why this may not be viable could be due to small deviations off the track, however, we can't see why this is also not an issue with a grid coordinate system.

The advantages here are that we don't have to specify the full coordinate for a (u,v,w) data point. Instead we can specifiy a (u0,v0,w0) and the derive the other coordinates on the track using deltas.

However, at the moment, the amount of input data required by the GPU appears neglible. The most significant consumer of GPU data are arrays utilised for temporary results, jones matrices in particular.

sjperkins commented 10 years ago

This is not a priority at present. Input data is not the main consumer of GPU memory.

Having said that, UVW coordinates vary by baseline and time. This is a 2D input. Representing parts of this matrix in shared memory can be expensive. On the other hand, we'd have to tradeoff three/six registers for floats/doubles to store the UVW coordinates.

sjperkins commented 10 years ago

Discussions with Oleg suggest that there may be issue with HDR imaging here and that its not worth implementing.

jtlz2 commented 10 years ago

Agreed. We did discuss briefly cartesian gridding - also bad for HDR imaging - but extremely useful otherwise. Maybe we can revisit that in due course?