Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SYCL long double expression requires 128 bit size 'long double' type support #15852

Open
abagusetty opened this issue Oct 24, 2024 · 1 comment
Labels
bug Something isn't working cuda CUDA back-end

Comments

@abagusetty
Copy link
Contributor

Describe the bug

Compilation flag (-mlong-double-64) doesnt seem to apply for the device-side, results in long double` error

error: expression requires 128 bit size 'long double' type support, but target 'nvptx64-nvidia-cuda' does not support it

Compiled via:
clang++ -fsycl -mlong-double-64 -fsycl-targets=nvptx64-nvidia-cuda -Xsycl-target-backend --cuda-gpu-arch=sm_80 sycl_long_double.cpp -o sycl_long_double.out

To reproduce

  1. Include code snippet as short as possible
  2. Specify the command which should be used to compile the program
  3. Specify the command which should be used to launch the program
  4. Indicate what is wrong and what was expected
#include <sycl/sycl.hpp>

int main(int argc, char **argv) {
  sycl::queue myQueue(sycl::gpu_selector_v);

  long double* ptr = sycl::malloc_device<long double>(512, myQueue);
  myQueue.parallel_for( sycl::range<1>(512), [=](sycl::id<1> idx) {
    ptr[idx] = 1.1;
  });

  return 0;
}

Environment

  • OS: [e.g Windows/Linux]
  • Target device and vendor: [e.g. Nvidia GPU]
  • DPC++ version: [e.g. commit hash or output of clang++ --version]
  • Dependencies version: [e.g. the output of nvidia-smi and sycl-ls --verbose]
clang version 19.0.0git (https://github.com/intel/llvm.git 99d3ce4093d0a9b697f7ce02fc4543dd059b6dc8)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /soft/compilers/oneapi/upstream/install-12.2.91_06112024/install/bin
Build config: +assertions

Additional context

Works fine on PVC with Compiler (2025.x.0.20240629)
Haven't got a chance to test it with HIP backend

@abagusetty abagusetty added bug Something isn't working cuda CUDA back-end labels Oct 24, 2024
@JackAKirk
Copy link
Contributor

long double should be using standard 64 bit double in nvptx backend but long double itself currently gives the same error. This is a valid request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working cuda CUDA back-end
Projects
None yet
Development

No branches or pull requests

2 participants