triSYCL | Generic system-wide modern C for heterogeneous platforms | GPU library

 by   triSYCL C++ Version: Current License: Non-SPDX

kandi X-RAY | triSYCL Summary

kandi X-RAY | triSYCL Summary

triSYCL is a C++ library typically used in Hardware, GPU applications. triSYCL has no bugs, it has no vulnerabilities and it has low support. However triSYCL has a Non-SPDX License. You can download it from GitHub.

Generic system-wide modern C++ for heterogeneous platforms with SYCL from Khronos Group
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              triSYCL has a low active ecosystem.
              It has 362 star(s) with 89 fork(s). There are 44 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 106 open issues and 62 have been closed. On average issues are closed in 323 days. There are 10 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of triSYCL is current.

            kandi-Quality Quality

              triSYCL has no bugs reported.

            kandi-Security Security

              triSYCL has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              triSYCL has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              triSYCL releases are not available. You will need to build from source code and install.

            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 triSYCL
            Get all kandi verified functions for this library.

            triSYCL Key Features

            No Key Features are available at this moment for triSYCL.

            triSYCL Examples and Code Snippets

            No Code Snippets are available at this moment for triSYCL.

            Community Discussions

            QUESTION

            EXC_BAD_ACCESS (code=EXC_I386_GPFLT) when indexing accessor
            Asked 2020-Sep-29 at 14:44

            I'd like to run a parallel for loop to initialize a 2 dimensional buffer with random values. But I get an EXC_BAD_ACCESS (code=EXC_I386_GPFLT) exception in the first line of the kernel.

            This is the Code (the Pixel struct is from the PixelGameEngine Library):

            ...

            ANSWER

            Answered 2020-Sep-29 at 00:31

            Your code is fine apart from one small issue:

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

            QUESTION

            triSYCL throws non_cl_error, when tricycle::device::~device is called
            Asked 2020-Jul-02 at 22:09

            I'm trying to run a parallel for loop with triSYCL. This is my code:

            ...

            ANSWER

            Answered 2020-Jul-02 at 22:09

            The problem is that triSYCL is a research project looking deeper at some aspects of SYCL while not providing a global generic SYCL support for an end-user. I have just clarified this on the README of the project. :-( Probably the problem here is that the OpenCL SPIR kernel has not been generated. So you need to first compile the specific (old) Clang & LLVM from triSYCL https://github.com/triSYCL/triSYCL/blob/master/doc/architecture.rst#trisycl-architecture-for-accelerator. But unfortunately there is no simple Clang driver to use all the specific Clang & LLVM to generate the kernels from the SYCL source. Right know it is done with some ad-hoc awful Makefiles (look around https://github.com/triSYCL/triSYCL/blob/master/tests/Makefile#L360) and, even if you can survive to this, you might encounter some bugs...

            The good news is now there are several other implementations of SYCL which are quite easier to use, quite more complete and quite less buggy! :-) Look at ComputeCpp, DPC++ and hipSYCL for example.

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

            QUESTION

            CMake Error: Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS) using clang on Mac OS
            Asked 2020-Jun-17 at 15:38

            I'm trying to get triSYCL to work and for that I need OpenMP. I'm trying to build my project with this CMakeLists file:

            ...

            ANSWER

            Answered 2020-Jun-17 at 15:38

            I'm Idiot! I don't even have to run CMake on triSYCL because it's a headers only library. I found that on this website in the top of the documentation section

            So I can use this CMakeLists.txt file and it works perfectly:

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

            QUESTION

            Building Tensorflow with OpenCL support fails on Ubuntu 18.04
            Asked 2018-Oct-21 at 14:40

            While trying to compile Tensorflow on Ubuntu 18.04 with this configuration I'm running into this error:

            ...

            ANSWER

            Answered 2018-Aug-06 at 09:00

            Recently there were interface changes in the SYCL specification, and therefore you need to make sure your TensorFlow source code matches up to the ComputeCpp version.

            Follow the guide here and ensure you have downloaded the latest version of ComputeCpp and have an up to date version of the source code from GitHub. Note that you need to use the Codeplay branch here because changes take some time to be propagated into the main TensorFlow repository, this is outlined in the guide.

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

            QUESTION

            Why SYCL supports openCL 1.2 or above?
            Asked 2018-May-22 at 10:54

            I am a student. My question may be very silly but I want to clear it. I have a device with Vivante GPU with openCL 1.1 version. I want to run tensorflow sample code with SYCL support on GPU. But before trying Tensorflow sample code, I want to try SYCL sample code with openCL 1.1 on GPU.

            I have seen several SYCL implementations, like computeCPP, triSYCL, sycl-gtx. All the implementations support openCL 1.2 or above.

            Does anyone know the reason why SYCL doesn't support openCL 1.1?

            And how feasible will it be the attempt to modify the SYCL open-source code to support openCL 1.1?

            ...

            ANSWER

            Answered 2018-May-22 at 10:54

            The main reason for SYCL 1.2 to require OpenCL 1.2 is because the Khronos intermediate representation SPIR 1.2 requires it. Without SPIR, or any other intermediate representation, a SYCL implementation cannot compile C++ code into device binaries, and would need to convert C++ to OpenCL C, which is quite problematic.

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

            QUESTION

            Is there a way I can create an array of cl::sycl::pipe?
            Asked 2018-Feb-08 at 19:04

            I am using the Xilinx's triSYCL github implementation,https://github.com/triSYCL/triSYCL.

            I am trying to create a design with 100 cl::sycl::pipes each with capacity= 6. And I am gonna access each pipe through a separate thread in my SYCL code.

            Here is what I tried:

            ...

            ANSWER

            Answered 2018-Feb-08 at 19:04

            First, a disclaimer about the fact that cl::sycl::pipe are experimental things from the provisional SYCL 2.2 specification and that runs only on CPU (no accelerator, no FPGA...), and only in a very inefficient way.

            But of course it is useful to experiment about how a real design would work and how SYCL can work.

            A pipe is similar to some hardware FIFO.

            You wrote

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

            QUESTION

            How is control flow extracted from a SYCL kernel?
            Asked 2018-Jan-25 at 10:02

            Using SYCL to run code on any OpenCL device doesn't require a custom compiler, as everything is done in a library (full of template magic), and a standard GCC/Clang will do just fine. Is this correct? (Especially in the case of triSYCL, which I'm using...)

            If so... I know that simple expression trees can be extracted by overloading a bunch of operators on custom "handle" or "wrapper" classes, but this is not the case with control flow. Am I wrong?

            Section 3.1 of this paper discusses the pros and cons of a few different approaches to adding EDSLs to C++, but I'm more interested in the actual technical implementation of the method SYCL uses.

            I tried to look at the source at some SYCL-related projects (Eigen, TensorFlow, triSYCL, ComputeCpp, etc.) but so far I could not find the answer in them.

            So: How can a SYCL library(?) discover the full control flow graph of a kernel, given as an ordinary C++ lambda, without needing a custom/extended compiler?

            ...

            ANSWER

            Answered 2018-Jan-24 at 17:04

            And the answer is: This is not how it's done, and I still don't think it's possible.

            Even my first assumption was wrong. If all you have is an ordinary C++ compiler, then any SYCL kernel can only be executed "in software", by the host device (CPU) running the "controller" code.

            To translate the kernels to OpenCL (or SPIR-V) for execution on any other device, either an "augmented" compiler is necessary; or two compilers, one for the host, and one for the compute device.

            A good explanation can be found here: https://www.codeplay.com/portal/introduction-to-sycl

            The most related section is "What Would A SYCL Work Flow Look Like?"

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

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

            Vulnerabilities

            No vulnerabilities reported

            Install triSYCL

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

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

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/triSYCL/triSYCL.git

          • CLI

            gh repo clone triSYCL/triSYCL

          • sshUrl

            git@github.com:triSYCL/triSYCL.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link