Re: [eigen] Eigen to use OpenCL on GPUs and FPGAs using SYCL.

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


hi Ben, Godeffroy

thanks for the prompt feedback!

@Godeffroy

The OpenCL 2.1 C++ kernel language and the SYCL 2.1 interface and kernel language will be converging. SYCL 2.1 will be ensuring backwards compatibility with SYCL 1.2, so it is a very good baseline for current work.
The real differences between the two are:
1) SYCL is single source and OpenCL 2.1 C++ kernel will require separate file for the kernel.
2) SYCL will run on current and future devices where OpenCL 2.1 will run only on future devices.

@Ben
Regarding compiler requirements:
The host compiler can be anything you like.
There is a dependency on the device compiler that will run through device kernel part of the code.
At this point in time you can use open-source implementation called triSYCL ( https://github.com/amd/triSYCL ) which doesn't have OpenCL but runs on CPU with OpenMP support.
Here at Codeplay we are working on the SYCL device compiler as well. But at this stage, we cannot provide it to public - however evaluation program is open for the sign-up requests ( https://www.codeplay.com/products/computecpp ).

Thanks,
Luke


On 02/09/15 17:50, Godeffroy VALET wrote:
Hum, actually SYCL seems to be a bit different from what I thought, I apologize if my previous mail is confusing in this context...

Godeffroy

2015-09-02 18:37 GMT+02:00 Schleimer, Ben <bensch128@xxxxxxxxx>:
Hi Luke,
   This sounds like a great idea.

Can you give some idea of the compiler requirements for Eigen on SYCL?

I wish you the great of luck.

Sincerely,
Ben



On Wednesday, September 2, 2015 6:44 AM, Luke Iwanski <luke@xxxxxxxxxxxx> wrote:


Hi all,

We at Codeplay would like to port Eigen to use OpenCL for acceleration
on GPUs and FPGAs by using the SYCL open standard for C++ on OpenCL. The
design of the SYCL standard should integrate quite easily with Eigen as
it supports C++ template metaprogramming for offloading to accelerators.

Our plan currently is to start by porting tensor to use SYCL on top of
OpenCL.

Is anyone looking into porting tensor or any other parts of Eigen to
OpenCL? Is there interest in a SYCL approach? And if so, any advice on
where we should start?

Thanks,
Luke








Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/