intel / intel/llvm

Support for complex data types and functions in SYCL running on NVIDIA

Open
#7,611 0 comments 0 reactions 0 assignees View on GitHub
cuda enhancement
Dominant language
LLVM
Stars
1.5k
Forks
854
Avg merge
3d 17h
Merged PRs (30d)
137

Description

**Description**

We want to evaluate the performance of SYCL/CUDA on NVIDIA using the [ginkgo library](https://github.com/ginkgo-project/ginkgo) for solving large matrices that requires `std::complex` data types.

**Is your feature request related to a problem? Please describe**

There is a problem with linking the ginkgo library in that is written in SYCL when using the NVIDIA backend due to missing complex functions, particularly `Unresolved extern function '__mulsc3'` along with `csqrt`, `csqrtf`, and other related complex operations. I noticed that in issue #6841, that this data type is currently not supported. Will there be any support for this in the future?

**Describe alternatives you have considered**

The issue ticket above suggested to use `sycl::oneapi::ext::complex` in place of `std::complex`; however, this solution is not feasible as the SYCL code relies on `MKL::cdot` and other complex related functions from the MKL library, which requires `std::complex` data type.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.