Intel® DevCloud
Help for those needing help starting or connecting to the Intel® DevCloud
1641 Discussions

Iris Xe MAX node is missing double precision support

tom91136
Beginner
3,159 Views

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
3,141 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.


0 Kudos
AthiraM_Intel
Moderator
3,112 Views

Hi,


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


Thanks.


0 Kudos
AthiraM_Intel
Moderator
3,069 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.


0 Kudos
Reply