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

**URL:** https://discourse.itk.org/t/rtk-2-7-cuda-12-3-compiled-with-cuda-enabled-but-using-cpu-filter-fdkconebeamreconstructionfilterinstead-of-cudafdkconebeamreconstructionfilter/7617
**Category:** Engineering
**Tags:** itk
**Created:** [August 23, 2025, 4:58am UTC](https://discourse.itk.org/t/rtk-2-7-cuda-12-3-compiled-with-cuda-enabled-but-using-cpu-filter-fdkconebeamreconstructionfilterinstead-of-cudafdkconebeamreconstructionfilter/7617 "2025-08-23T04:58:54Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![ma1282029525](https://discourse.itk.org/user_avatar/discourse.itk.org/ma1282029525/32/3084_2.png) [@ma1282029525](https://discourse.itk.org/u/ma1282029525)
#### Post date: [August 23, 2025, 4:58am UTC](https://discourse.itk.org/t/rtk-2-7-cuda-12-3-compiled-with-cuda-enabled-but-using-cpu-filter-fdkconebeamreconstructionfilterinstead-of-cudafdkconebeamreconstructionfilter/7617/1 "2025-08-23T04:58:54Z")

</div>

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

- •

`RTK_USE_CUDA=ON`in CMake

- •

`RTK_USE_CUDA`macro defined in code

- •

No errors during compilation, `RTKCuda`libraries generated successfully.

​ **​Observed Issue​** ​:

1. 
  1. 

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

1. 
  1. 

Progress log shows:

```auto
FDKConeBeamReconstructionFilter 100% completed.

```

instead of `CudaFDKConeBeamReconstructionFilter`.

​ **​Debugging Attempts​** ​:

- •

Validated CUDA: `nvcc --version`returns 12.3, CUDA samples run normally.

- •

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

- •

Environment: `CUDA_VISIBLE_DEVICES=0`set.

​ **​Question​** ​:

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

Any troubleshooting guidance is appreciated!

---

<div class="post-metadata">

### Author: ![dzenanz](https://discourse.itk.org/user_avatar/discourse.itk.org/dzenanz/32/1093_2.png) [@dzenanz](https://discourse.itk.org/u/dzenanz)
#### Post date: [August 23, 2025, 3:08pm UTC](https://discourse.itk.org/t/rtk-2-7-cuda-12-3-compiled-with-cuda-enabled-but-using-cpu-filter-fdkconebeamreconstructionfilterinstead-of-cudafdkconebeamreconstructionfilter/7617/2 "2025-08-23T15:08:00Z")

</div>

@simon.rit might want to answer. RTK-specific questions can be asked on [RTK mailing list](https://www.openrtk.org/RTK/project/contactus.html).

---

<div class="post-metadata">

### Author: ![simon.rit](https://discourse.itk.org/letter_avatar_proxy/v4/letter/s/f08c70/32.png) [@simon.rit](https://discourse.itk.org/u/simon.rit)
#### Post date: [August 23, 2025, 4:07pm UTC](https://discourse.itk.org/t/rtk-2-7-cuda-12-3-compiled-with-cuda-enabled-but-using-cpu-filter-fdkconebeamreconstructionfilterinstead-of-cudafdkconebeamreconstructionfilter/7617/3 "2025-08-23T16:07:32Z")

</div>

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`

---

<div class="post-metadata">

### Author: ![ma1282029525](https://discourse.itk.org/user_avatar/discourse.itk.org/ma1282029525/32/3084_2.png) [@ma1282029525](https://discourse.itk.org/u/ma1282029525)
#### Post date: [August 24, 2025, 1:14am UTC](https://discourse.itk.org/t/rtk-2-7-cuda-12-3-compiled-with-cuda-enabled-but-using-cpu-filter-fdkconebeamreconstructionfilterinstead-of-cudafdkconebeamreconstructionfilter/7617/6 "2025-08-24T01:14:32Z")

</div>

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!
