hipSYCL | Multi-backend implementation of SYCL for CPUs and GPUs | GPU library

 by   illuhad C++ Version: v0.9.4 License: BSD-2-Clause

kandi X-RAY | hipSYCL Summary

kandi X-RAY | hipSYCL Summary

hipSYCL is a C++ library typically used in Hardware, GPU applications. hipSYCL has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

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

            kandi-support Support

              hipSYCL has a low active ecosystem.
              It has 617 star(s) with 97 fork(s). There are 31 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 95 open issues and 276 have been closed. On average issues are closed in 57 days. There are 18 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of hipSYCL is v0.9.4

            kandi-Quality Quality

              hipSYCL has 0 bugs and 0 code smells.

            kandi-Security Security

              hipSYCL has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              hipSYCL code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              hipSYCL is licensed under the BSD-2-Clause License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              hipSYCL releases are available to install and integrate.
              It has 216 lines of code, 13 functions and 4 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of hipSYCL
            Get all kandi verified functions for this library.

            hipSYCL Key Features

            No Key Features are available at this moment for hipSYCL.

            hipSYCL Examples and Code Snippets

            No Code Snippets are available at this moment for hipSYCL.

            Community Discussions

            QUESTION

            Writing SYCL code for different implementations
            Asked 2021-Oct-13 at 08:36

            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:17

            SYCL 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.

            Source https://stackoverflow.com/questions/69501055

            QUESTION

            register usage on nvidia with hipSYCL / llvm
            Asked 2021-Apr-09 at 15:23

            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:23

            hipSYCL 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

            Source https://stackoverflow.com/questions/66977229

            QUESTION

            Is it required to build LLVM in order to build hipSYCL?
            Asked 2020-Oct-20 at 21:36

            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:36

            LLVM 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.

            Source https://stackoverflow.com/questions/64449632

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install hipSYCL

            You can download it from GitHub.

            Support

            We encourage contributions and are looking forward to your pull request! Please have a look at CONTRIBUTING.md. If you need any guidance, please just open an issue and we will get back to you shortly. If you are a student at Heidelberg University and wish to work on hipSYCL, please get in touch with us. There are various options possible and we are happy to include you in the project :-).
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries

            Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular GPU Libraries

            taichi

            by taichi-dev

            gpu.js

            by gpujs

            hashcat

            by hashcat

            cupy

            by cupy

            EASTL

            by electronicarts

            Try Top Libraries by illuhad

            hipCPU

            by illuhadC++

            SpatialCL

            by illuhadC++

            teralens

            by illuhadC++

            syclinfo

            by illuhadC++

            mandelgpu

            by illuhadC++