-
Notifications
You must be signed in to change notification settings - Fork 94
Description
I’d like to request two related enhancements to cuFINUFFT:
-
User-provided GPU memory allocation:
Allow passing in user-managed GPU workspaces instead of performing internal cudaMalloc/cudaFree calls. This would enable seamless integration with frameworks like PyTorch or JAX, which maintain their own GPU memory pools and expect full control over allocation and deallocation. -
Non-blocking, asynchronous execution:
Support fully asynchronous launches that avoid implicit CPU synchronizations (e.g., from hidden memory allocations or stream synchronizations). Frameworks like PyTorch and JAX rely on overlapping GPU execution with CPU-side scheduling — allowing the CPU to stay ahead and queue work — to minimize Python and other host-side overheads. Blocking behavior prevents these frameworks from efficiently pipelining GPU workloads.