Replies: 2 comments 9 replies
-
To my knowledge, the performance of portability layers can vary significantly,for example in the context of High-Energy physics:1,2. heffte appears to be a promising library, and it also offers a C interface, which should be relatively straightforward to integrate. Before implementation, I would benchmark it to ensure that its performance aligns with our expectations. The primary motivation for leveraging portability layers is to circumvent the need for extensive code rewrites across multiple platforms. It's important to assess the extent of code replication that maintaining multiple platform-specific versions would require. Additionally, we could consider the option of re-implementing performance-critical code using native APIs while utilizing a portability layer for the remainder. Another hypotesis to consider is if we can use FINUFFT load balanced spreader recusrively to minimize data transfers:
Or in CPU only nodes:
|
Beta Was this translation helpful? Give feedback.
-
This has been on my radar for a while. It's actually straightforward and not much effort to get this working on an AMD GPU via HIP, but... I'll be investigating SYCL for the GPU side of things since I want to learn it and it seems like a better long-term solution. I've seen quite a few reports that the performance is the same as native cuda, with free AMD/Intel support. If I can find a clean solution to resolve the whole "fft library" issue (cufft, rocfft, ???), then I'll probably make a test version to learn/benchmark. edit1: it might turn out that heffte is a reasonable solution for all the FFT business, so I'm not forgetting that |
Beta Was this translation helpful? Give feedback.
-
This is a place to discuss future plans for AMD, etc. GPUs.
We get questions more frequently about this, as cufinufft gets more supercomputer users.
Such as: "I am wondering if you and your team have any plans of extending the library to other GPU architectures such as AMD and Intel."
One ingredient would be switching out cuFFT for
https://github.com/icl-utk-edu/heffte
for example.
Another might be kokkos or openacc for the main code.
Beta Was this translation helpful? Give feedback.
All reactions