RTK 2.7 + CUDA 12.3 Compiled with CUDA Enabled but Using CPU Filter (FDKConeBeamReconstructionFilterinstead of CudaFDKConeBeamReconstructionFilter)

I compiled ITK 5.4.3 and RTK 2.7.0 with CUDA 12.3 support (NVIDIA driver updated). Build confirmation:

RTK_USE_CUDA=ONin CMake

RTK_USE_CUDAmacro defined in code

No errors during compilation, RTKCudalibraries generated successfully.

​Observed Issue​​:

Near-zero GPU utilization during reconstruction (via nvidia-smi).

Progress log shows:

FDKConeBeamReconstructionFilter 100% completed.

instead of CudaFDKConeBeamReconstructionFilter.

​Debugging Attempts​​:

Validated CUDA: nvcc --versionreturns 12.3, CUDA samples run normally.

Checked code: Confirmed reconstruction calls rtk::FDKConeBeamReconstructionFilter, not manually selecting CPU version.

Environment: CUDA_VISIBLE_DEVICES=0set.

​Question​​:

Is RTK internally falling back to CPU? Or is there a hidden configuration issue?

Any troubleshooting guidance is appreciated!

@simon.rit might want to answer. RTK-specific questions can be asked on RTK mailing list.

1 Like

Can you clarify how you run the reconstruction? With our command line tool rtkfdk (C++ or Python), you need to chose the hardware command line, CPU is the default:
rtkfdk --hardware cuda

2 Likes

I found the issue: my project was using ggo files copied from the RTK 2.4.0 library (an older version). After replacing them with the ggo files from RTK 2.7.0, the program now correctly recognizes CUDA parameters. Thanks for your help!

1 Like