[eigen] RE: Use of SYCL h/w acceleration in current version of Eigen

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

Hi Tom,

Apologies this email didn’t make it to my inbox for some reason. The SYCL implementation of Eigen currently only covers the “tensor” module. The best background for this is here https://www.codeplay.com/portal/05-22-17-implementing-opencl-support-for-eigen-using-sycl-and-computecpp and the module is located here in the Eigen repo https://bitbucket.org/codeplaysoftware/eigen/src/default/unsupported/Eigen/CXX11/

You will need to use the -DEIGEN_USE_SYCL=1 flag and check the build options in our docs to use it https://developer.codeplay.com/products/computecpp/ce/guides/eigen-guide/options-for-building-eigen#options-for-building-eigen-sycl

SYCL contributions to other parts of the codebase are also very much welcomed though!

Best Regards,




Rod Burns

Codeplay Software Ltd
Level C, Argyle House
3 Lady Lawson St
Edinburgh, EH3 9DR


Disclaimer: This email and any attachments may contain confidential and/or privileged information and is for use by the addressee only. If you are not the intended recipient, please notify Codeplay Software Ltd immediately and delete the message from your computer. You may not copy or forward it, or use or disclose its contents to any other person. Any views or other information in this message which do not relate to our business are not authorised by Codeplay Software Ltd., nor does this message form part of any contract unless so stated. As internet communications are capable of data corruption Codeplay Software Ltd does not accept any responsibility for any changes made to this message after it was sent. Please note that Codeplay Software Ltd does not accept any liability or responsibility for viruses and it is your responsibility to scan any attachments. Company registered in England and Wales, number : 04567874. Registered Office : Regent House,316 Beulah Hill, London, United Kingdom, SE19 3HF.


Website : http://www.codeplay.com

Twitter : https://twitter.com/@codeplaysoft


From: Peterka, Thomas <tpeterka@xxxxxxxxxxx>
Sent: 21 September 2019 20:42
To: eigen@xxxxxxxxxxxxxxxxxxx
Subject: [eigen] Use of SYCL h/w acceleration in current version of Eigen




I understand that the current version of Eigen has had some amount of GPU acceleration via the SYCL standard. I am using the latest Eigen version 3.3.7. I am using an alpha version of SYCL from Intel, part of their DPMC++ package, on an Intel Xeon with integrated Intel Gen9 CPU.


When I run a program w/ Eigen that was compiled with SYCL on a GPU-enabled machine, and I profile the execution, I do not see any Eigen kernels being offloaded to the GPU. I confirmed that other SYCL kernels that I wrote in my code are being offloaded to the GPU correctly, but nothing from Eigen.


Can someone explain what kernels in Eigen have been accelerated, and how to get them to run offloaded on a GPU? Eg., do I need to #define EIGEN_USE_SYCL?


I am using Eigen Vector and dense Matrix operations in my code. I am not using any of the Tensor module at this time. Is only the tensor module accelerated, and is this perhaps why I don’t see any offloading?


I could not find any documentation about this. I learned about the SYCL acceleration in Eigen from the Codeplay website:

and from this paper:


Thanks in advance,



Tom Peterka
Mathematics and Computer Science Division
Argonne National Laboratory
9700 S. Cass Ave.
Lemont, IL 60439
Bldg 240, Rm 2148
e-mail: tpeterka@xxxxxxxxxxx
web: www.mcs.anl.gov/~tpeterka
phone: 630-252-7198


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