adda-team / adda

ADDA - light scattering simulator based on the discrete dipole approximation
GNU General Public License v3.0
97 stars 57 forks source link

Port scattered-fields calculation to the GPU #226

Open myurkin opened 7 years ago

myurkin commented 7 years ago

Calculating 2D scattering patterns from large optically soft particle (like biological cells in liquid) may result in the scattering-field calculation taking most of the time (since iterative solver converges in several iterations). Some clever ideas to optimize those calculations are given in #51 . However, the situation is even worse in OpenCL mode, since then the iterations (matrix-vector product) is GPU-accelerated, while scattered-fields calculation - not. The corresponding practical problems (extremely long run times) were reported by XiaoJun Kang.

So the goal of this issue is to extend the OpenCL mode to calculate the scattered fields on the GPU.

myurkin commented 6 years ago

Those calculations are embarrassingly parallelizable, so the speedup should be huge. That was mentioned in "Parallel Brute-force Evaluation of Dipole Radiation Operators on GPUs" at PIERS 2018.

Thus, this issue is related to #4