Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPU availability #99

Open
skgtohn opened this issue Jul 20, 2023 · 1 comment
Open

GPU availability #99

skgtohn opened this issue Jul 20, 2023 · 1 comment

Comments

@skgtohn
Copy link

skgtohn commented Jul 20, 2023

Dear NiftyReg Developers,

I am currently using NiftyReg version 1.5.70rc1 for my image registration tasks on a shared compute cluster. I am interested in leveraging the power of the GPU for my computations.

From the project documentation, I understand that certain algorithms (like reg_f3d and reg_aladin) have GPU-accelerated versions (reg_f3d_gpu and reg_aladin_gpu). However, in my current NiftyReg installation, I do not see these GPU versions listed when I check the commands in my installation's bin directory.

While browsing the GitHub issue tracker for NiftyReg, I noticed several threads related to GPU functionality. It appears that GPU support may have been removed in recent versions, which raised my curiosity about the current status of GPU functionality in NiftyReg.

Could you kindly provide an update on the availability of GPU-accelerated functionality within NiftyReg?

Best
Curtis

@mmodat
Copy link
Contributor

mmodat commented Jul 24, 2023

Hi Curtis,

Initially NiftyReg only had one algorithm, namely the default reg_f3d, a re-implementation of the classical Free-Form Deformation from Rueckert et al., that was implemented using C(++) and CUDA. As I added more variations of reg_f3d such as symmetric and stationary velocity field parametrisations as well as other measures of similarity and regularisations, it became complicated to maintain all platforms as they were effectively duplicating the code and yielded different results. I thus deprecated all GPU based implementation at the time.
Recently, we undertook the task of refactoring it all to use a platform/kernel/content approach and thus re-enable the CUDA kernels. As I am keen to have the CPU and GPU version producing the same results, it takes quite a bit of time and we are not finished yet. Should you want to look were we are up to, you can use the branch mentioned in issue #92. The largest part of the work has been done and hopefully we will be able to merge soon-ish.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants