Intel® oneAPI Data Analytics Library
Community support for building compute-intensive applications that run fast on Intel® architecture.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
204 Discussions

Error in running DAAL examples on devloud

RAror6
New Contributor I
643 Views

Hello,

I am getting this error when I tried to run the oneDAL example codes in the install directory in DevCloud

/opt/intel/inteloneapi/daal/2021.1-2021beta06/include/oneapi/internal/kernel_scheduler_sycl.h:30:22: fatal error: 'level_zero/ze_api.h' file not found
            #include <level_zero/ze_api.h>

The command I ran was: make sointel64 mode=build

Could I get some help fixing this?

I am also having difficulties with linkers. I tried following the manual in the developers guide, but for some reason it is not working. Could i please get some help with this as well?

Thank you!

0 Kudos
10 Replies
Nikolay_P_Intel1
Employee
643 Views

Hi,
Sad to inform, but  this is know limitation with Beta06 release. There are 2 workarounds available.
https://oneapi-src.github.io/oneDAL/notes/issues/2021.1-beta06/level-zero-not-found.html

This problem will be permanently fixed in next release.

RAror6
New Contributor I
643 Views

Thank you for the speedy reply!

Two questions:
1) How do I update my driver? OR
2) Where do insert the command 'export SYCL_BE=PI_OPENCL'

Thank you!

Nikolay_P_Intel1
Employee
643 Views

I think that second option should be easier

Most important part would be setting define - #define DAAL_DISABLE_LEVEL_ZERO
SYCL_BE - just have to be exported in your current env - i.e. in shell

RAror6
New Contributor I
643 Views

Thank you for the helpful reply!

1. The 'SYCL_BE' is missing in the define statement in the linked page on the developer's guide. I was a little confused about that, but now it is sorted out! Thank you

2. Unfortunately, it still gives me the same error. I have tried it multiple times. If i try in the default intallation directory, i get an error of 'recipe for sointel64 failed' but if i copy it to my home directory i get the level_zero error. I am running the command: make sointel64 example=cor_dense_batch

 

Could I please get some help with this?

Thank you!

AthiraM_Intel
Moderator
643 Views

Hi,

Please follow the below steps:

1.  cd examples/cpp_sycl
2.  vi ./source/covariance/cor_dense_batch.cpp
      Add and save the below command in the above file

   #define DAAL_DISABLE_LEVEL_ZERO

3. export SYCL_BE=PI_OPENCL

4. vi makefile

    Remove or comment the below command from the Makefile

     LEVEL0_LIB := -lze_loader

5. make sointel64 example=cor_dense_batch
 

Hope this helps. If you have any issue please let us know

Thanks


     

 
RAror6
New Contributor I
643 Views

Thank you for your help!

Still not working :/

I found the line LOPTS := -Wl,--start-group -Wl,$(DAAL_LIB),$(EXT_LIB) $(DAAL_PATH)/libdaal_sycl.a $(LEVEL0_LIB) -Wl,--end-group in the makefile and removed the $(LEVEL0_LIB) part from it (in addition to the other line). Still nothing.

What else could be causing this error?

Nikolay_P_Intel1
Employee
643 Views

Do you still getting 'level_zero/ze_api.h' file not found ?

The important action is to add "#define DAAL_DISABLE_LEVEL_ZERO
 

AthiraM_Intel
Moderator
643 Views

Hi,

Please follow the complete steps:

1. Copy the daal folder to the home directory:

     cp -r /opt/intel/inteloneapi/daal /home/uxxxxx

2.  cd /home/uxxxxx/daal/<version>

3. Setting up oneDAL environment via vars.sh script
    Run the following command:

      source ./env/vars.sh

4. To build and run DPC++ examples:

      cd examples/cpp_sycl

5. Compile your application without Level Zero support:

      vi /home/uxxxxx/daal/<version>/include/oneapi/internal/kernel_scheduler_sycl.h

   Add and save the below command to the file 

      #define DAAL_DISABLE_LEVEL_ZERO


6. Disable Level Zero runtime:

      export SYCL_BE=PI_OPENCL

7. vi makefile
    
   Remove or comment the below command from the Makefile

      LEVEL0_LIB := -lze_loader

8. make sointel64 example=cor_dense_batch

Hope this helps. If you face any issue please let us know.
 

RAror6
New Contributor I
643 Views

Thank you so much! This fixed the error.

My mistake was not adding the define statement in the kernel_scheduler.h file. I was adding it in the source code for _cor_dense.

Thank you again!

AthiraM_Intel
Moderator
643 Views

Hi,

Glad to know that your issue got resolved.

We are closing this case.Please feel free to open a new thread if you have any further queries.

 

Thanks

Reply