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.


Rod Burns
Codeplay Software Ltd
Level C, Argyle House
3 Lady Lawson St
Edinburgh, EH3 9DR
[email protected]<mailto:[email protected]>
www.codeplay.com<http://www.codeplay.com/>

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<http://www.codeplay.com/>
Twitter : https://twitter.com/@codeplaysoft

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

Hi,

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:
https://developer.codeplay.com/products/computecpp/ce/guides/eigen-guide
and from this paper:
https://dl.acm.org/citation.cfm?id=3078160

Thanks in advance,
Tom
-----------------
Tom Peterka
Mathematics and Computer Science Division
Argonne National Laboratory
9700 S. Cass Ave.
Lemont, IL 60439
Bldg 240, Rm 2148
e-mail: [email protected]<mailto:[email protected]>
web: www.mcs.anl.gov/~tpeterka<http://www.mcs.anl.gov/~tpeterka>
phone: 630-252-7198

Reply via email to