I have integrated the CuPy library to modify the FDK filtering step to run on the GPU. After doing so, I've encountered an issue when calling the tigre.Atb() function.
Environment:
TIGRE version: 2.2
CUDA version: 11.1
GPU Model: NVIDIA GeForce GTX 1080 Ti
OS: Windows 10
Language: Python
Steps to Reproduce:
Modify the FDK filtering step using CuPy to run it on the GPU.
Run a loop where:
I use CuPy to perform GPU operations for the FDK filtering.
Call tigre.Atb() for backprojection.
Use CuPy again for other GPU operations.
On the second iteration, the program crashes with exit code -1073741819 (0xC0000005) which is related to a memory access violation error.
The issue seems to arise after calling tigre.Atb(), suggesting that something within this function or its dependencies might be altering or destroying the CUDA context in a way that prevents subsequent CuPy GPU operations from proceeding.
I'd appreciate any insights or solutions to this problem. It seems like there's a conflict between TIGRE's internal CUDA operations and the GPU operations performed using CuPy.