[SYCL] standardize complex number operations
- Dominant language
- LLVM
- Stars
- 1.5k
- Forks
- 854
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 137
Description
I skimmed through the SYCL 2020 provisional spec at https://www.khronos.org/registry/SYCL/specs/sycl-2020-provisional.pdf, and there is no mention of operations on complex numbers. I am involved in porting the GENE fusion code to GPU - we use std::complex, basic arithmetic operations, and FFT. I think FFT is out of scope; however supporting basic arithmetic and the same suite of functions supported for FP types would be extremely useful for a lot of different science codes.
It seems that each sycl implementation has it's own way of dealing with complex numbers (or not). For this Intel implementation, there are libraries available to link against which provide device implementations for many operations on std::complex. CodePlay seems to work when passing -ffast-math to the device compiler. It would be better if this was part of the standard, or at least a standard extension. Is there interest in drafting a proposal for this? @paboyle @jeffhammond
Contributor guide
Assessment
This issue has not been assessed yet.