Skip to content

Conflict with CUDA Context after modifying FDK filtering step with CuPy and calling tigre.Atb() #484

@HBanjak

Description

@HBanjak

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions