deepskystacker / DSS

DeepSkyStacker
Other
895 stars 90 forks source link

Plans for hardware (GPU) acceleration? #129

Closed achalpandeyy closed 1 year ago

Jeneelk commented 1 year ago

Hello, I am a bit experienced in CUDA and planning to write a parallel code which can take advantage of the GPUs. To begin with the stacking algorithms would be easy to implement CUDA kernels, but I am not very sure how it will integrate with the current implementation. Can someone point me to specific files that are related to just stacking which I can possible modify? Thanks

perdrix52 commented 1 year ago

StackingDlg.cpp and StackingEngine.cpp is a good place to start :)

mtoeltsch commented 1 year ago

Hi, the issue I see is that Cuda is limited (afaik) to NVIDIA cards. That would be an unacceptable limitation for all the work that's required to get that working. You should consider doing it with OpenCL. That supports all relevant graphic cards.

perdrix52 commented 1 year ago

There's also the issue of the amount of data that would need to be moved to/from the card (though you might still come out on top).

mtoeltsch commented 1 year ago

Agreed. So what you should do - I think - is to start with a decent performance profiling, IMPORTANT: with AVX vectorisation turned ON. See if you can identify a dominant performance bottleneck. On my computer (Intel i5-1135-g7) however, 75-80% of the time is for loading the files from disc.

perdrix52 commented 1 year ago

Closed - unlikely to happen ATM