From 89361360c1e16aa453de6ac11d96c6d8259ec131 Mon Sep 17 00:00:00 2001 From: Jefferson Le Quellec Date: Wed, 7 Feb 2024 15:18:05 +0100 Subject: [PATCH 1/2] Remove trailing whitespace --- sycl/doc/design/CompilerAndRuntimeDesign.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sycl/doc/design/CompilerAndRuntimeDesign.md b/sycl/doc/design/CompilerAndRuntimeDesign.md index c9d9e2b7eba90..59fd86fc3c7cc 100644 --- a/sycl/doc/design/CompilerAndRuntimeDesign.md +++ b/sycl/doc/design/CompilerAndRuntimeDesign.md @@ -567,8 +567,8 @@ Unlike other AOT targets, the bitcode module linked from intermediate compiled objects never goes through SPIR-V. Instead it is passed directly in bitcode form down to the NVPTX Back End. All produced bitcode depends on two libraries, `libdevice.bc` (provided by the CUDA SDK) and `libspirv-nvptx64--nvidiacl.bc` variants -(built by the libclc project). `libspirv-nvptx64--nvidiacl.bc` is not used directly. -Instead it is used to generate remangled variants +(built by the libclc project). `libspirv-nvptx64--nvidiacl.bc` is not used directly. +Instead it is used to generate remangled variants `remangled-l64-signed_char.libspirv-nvptx64--nvidiacl.bc` and `remangled-l32-signed_char.libspirv-nvptx64--nvidiacl.bc` to handle primitive type differences between Linux and Windows. @@ -600,14 +600,14 @@ path in SYCL kernels. ##### NVPTX Builtins -Builtins are implemented in OpenCL C within libclc. OpenCL C treats `long` +Builtins are implemented in OpenCL C within libclc. OpenCL C treats `long` types as 64 bit and has no `long long` types while Windows DPC++ treats `long` -types like 32-bit integers and `long long` types like 64-bit integers. -Differences between the primitive types can cause applications to use -incompatible libclc built-ins. A remangler creates multiple libspriv files -with different remangled function names to support both Windows and Linux. -When building a SYCL application targeting the CUDA backend the driver -will link the device code with +types like 32-bit integers and `long long` types like 64-bit integers. +Differences between the primitive types can cause applications to use +incompatible libclc built-ins. A remangler creates multiple libspriv files +with different remangled function names to support both Windows and Linux. +When building a SYCL application targeting the CUDA backend the driver +will link the device code with `remangled-l32-signed_char.libspirv-nvptx64--nvidiacl.bc` if the host target is Windows or it will link the device code with `remangled-l64-signed_char.libspirv-nvptx64--nvidiacl.bc` if the host target is @@ -916,7 +916,7 @@ template class multi_ptr { // DecoratedType::type == "__attribute__((opencl_global)) T" // See sycl/include/sycl/access/access.hpp for more details using pointer_t = typename DecoratedType::type *; - + pointer_t m_Pointer; public: pointer_t get() { return m_Pointer; } From 43544fdabe3a7e1627ecb4b6ee805f9474dae9fb Mon Sep 17 00:00:00 2001 From: Jefferson Le Quellec Date: Wed, 7 Feb 2024 15:18:25 +0100 Subject: [PATCH 2/2] Fix spriv typo --- sycl/doc/design/CompilerAndRuntimeDesign.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sycl/doc/design/CompilerAndRuntimeDesign.md b/sycl/doc/design/CompilerAndRuntimeDesign.md index 59fd86fc3c7cc..ccc0f642f992f 100644 --- a/sycl/doc/design/CompilerAndRuntimeDesign.md +++ b/sycl/doc/design/CompilerAndRuntimeDesign.md @@ -604,7 +604,7 @@ Builtins are implemented in OpenCL C within libclc. OpenCL C treats `long` types as 64 bit and has no `long long` types while Windows DPC++ treats `long` types like 32-bit integers and `long long` types like 64-bit integers. Differences between the primitive types can cause applications to use -incompatible libclc built-ins. A remangler creates multiple libspriv files +incompatible libclc built-ins. A remangler creates multiple libspirv files with different remangled function names to support both Windows and Linux. When building a SYCL application targeting the CUDA backend the driver will link the device code with