hipSYCL | Multi-backend implementation of SYCL for CPUs and GPUs | GPU library
kandi X-RAY | hipSYCL Summary
kandi X-RAY | hipSYCL Summary
While hipSYCL started its life as a hobby project, development is now led and funded by Heidelberg University. hipSYCL not only serves as a research platform, but is also a solution used in production on machines of all scales, including some of the most powerful supercomputers.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of hipSYCL
hipSYCL Key Features
hipSYCL Examples and Code Snippets
Community Discussions
Trending Discussions on hipSYCL
QUESTION
SYCL has various different implementations like DPC++/oneAPI , ComputeCpp , hipSYCL, triSYCL. Is it possible to write the same SYCL code and compile this with all different implementations?
If it is not how much different can it be?
Thanks
...ANSWER
Answered 2021-Oct-12 at 16:17SYCL is an open standard, so this means that any SYCL implementation needs to follow the specification.
So, theoretically if you write SYCL code it can be compiled and run using any of the SYCL implementations without modification.
However there are some caveats to this.
A unified build system does not yet exist for SYCL implementations, some use CMake but there may be modifications needed at this level to get the code files to compile.
Some have not implemented the whole specification yet so certain features may be missing. This should not be an issue in general though and individual implementations are likely to show what is and is not supported. This is because SYCL 2020 was only ratified fairly recently and some features are still being implemented by the compilers.
These issues aside, you should be very confident that your SYCL code will compile and run using ComputeCpp, hipSYCL and DPC++. For example, the SYCL Academy exercises can be compiled for any of these compilers with some minor changes that fall into the two categories I listed above.
QUESTION
I am looking at the performance of a sycl port of some hpc code, which I am running on a GV100 card via hipSYCL.
Running the code through a profiler tells me that very high register usage is the likely limiting factor for performance.
Is there any way of influencing register usage of the gpu code that hipSYCL / clang generates, something akin to nvcc's -maxregcount
option?
ANSWER
Answered 2021-Apr-09 at 15:23hipSYCL invokes the clang CUDA toolchain. As far as I know clang CUDA and the LLVM nvptx backend do not have a direct analogue to -maxregcount
, but maybe the LLVM nvptx backend option --nvptx-sched4reg
can help. It tells the optimizer to schedule for minimum register pressure instead of just following the source.
If you use accessors, you can also try to use SYCL 2020 USM pointers instead. In hipSYCL[1] accessors will always use more registers because they need to store the valid access range and offset as well.
[1] and also any other SYCL implementation that relies heavily on library-only semantics
QUESTION
I'm running Centos 7 and am trying to build hipSYCL (see here)
The issue is that hipSYCL needs to have cmake info from the LLVM build (via the LLVM_DIR cmake variable). This is problematic for me because building LLVM requires a massive 35Gb for the libraries and exes. I don't have that much memory to spare.
I did find a build of llvm-toolset-8.0 online for Centos 7 and installed it, but to my surprise, that didn't seem to work with LLVM_DIR because there's no cmake files (since I didn't build it locally).
So, my question would be, is there a way to build hipSYCL using pre-built LLVM-clang?
If I'm missing or misunderstanding something, I'd appreciate any help.
...ANSWER
Answered 2020-Oct-20 at 21:36LLVM publishes the necessary cmake files, and the binary OS packages I've seen include it, generally in a directory called /usr/lib/llvm*/lib/cmake and in a package called something like llvm-*-dev.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install hipSYCL
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page