Community
cancel
Showing results for 
Search instead for 
Did you mean: 
tom91136
Beginner
158 Views

Iris Xe MAX node is missing double precision support

Hi

When running SYCL programs (I assume this applies to any OpenCL program as well) on Iris Xe MAX nodes, the runtime doesn't seem to support doubles.

To reproduce:

> qsub -l nodes=1:iris_xe_max:ppn=2 -I
# once job started:
> git clone git@github.com:UoB-HPC/BabelStream.git
> cd BabelStream
> make -f SYCL.make  COMPILER=DPCPP
> ./sycl-stream --list # compiled program is called sycl-stream
> ./sycl-stream --device 2 # pick Iris Xe GPU

The output is as follows:

BabelStream
Version: 3.4
Implementation: SYCL
Running kernels 100 times
Precision: double
Array size: 268.4 MB (=0.3 GB)
Total size: 805.3 MB (=0.8 GB)
Using SYCL device Intel(R) Graphics [0x4905]
Driver: 21.01.18793
Reduction kernel config: 384 groups of size 512
terminate called after throwing an instance of 'cl::sycl::compile_program_error'
  what():  The program was built for 1 devices
Build program log for 'Intel(R) Graphics [0x4905]':

error: double type is not supported on this platform
error: backend compiler failed build.
 -11 (CL_BUILD_PROGRAM_FAILURE)
Aborted

To confirm device capability, running `clinfo` yields the following:

Device Name                                     Intel(R) Graphics [0x4905]
  Device Vendor                                   Intel(R) Corporation
  Device Vendor ID                                0x8086
  Device Version                                  OpenCL 3.0 NEO 
  Driver Version                                  21.01.18793
  # -- snip --
  Preferred / native vector sizes                 
    char                                                16 / 16      
    short                                                8 / 8       
    int                                                  4 / 4       
    long                                                 1 / 1       
    half                                                 8 / 8        (cl_khr_fp16)
    float                                                1 / 1       
    double                                               1 / 1        (n/a)
  Half-precision Floating-point support           (cl_khr_fp16)
  # -- snip --
  Double-precision Floating-point support         (n/a)
  # -- snip --

 This doesn't seem right,  double precision is supported on gen9 nodes and I was able to run BabelStream correctly.

Perhaps the driver is outdated?

 

Labels (1)
0 Kudos
3 Replies
AthiraM_Intel
Moderator
140 Views

Hi,


Thanks for reaching out to us.


Please export the below environment variables before running the commands.


export OverrideDefaultFP64Settings=1 


export IGC_EnableDPEmulation=1 


If you face any further issue please let us know.


Thanks.


AthiraM_Intel
Moderator
109 Views

Hi,


Could you please give us an update? Is your issue resolved?


Thanks.


AthiraM_Intel
Moderator
66 Views

Hi,


 We are assuming that the solution provided helped and would no longer be monitoring this issue. Please raise a new thread if you have further issues.


Thanks.