Intel® oneAPI Data Analytics Library
Learn from community members on how to build compute-intensive applications that run efficiently on Intel® architecture.

Error in running DAAL examples on devloud

RAror6
New Contributor I
2,252 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
2,249 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.

0 Kudos
RAror6
New Contributor I
2,249 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!

0 Kudos
Nikolay_P_Intel1
Employee
2,249 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

0 Kudos
RAror6
New Contributor I
2,252 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!

0 Kudos
AthiraM_Intel
Moderator
2,252 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


     

 
0 Kudos
RAror6
New Contributor I
2,252 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?

0 Kudos
Nikolay_P_Intel1
Employee
2,252 Views

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

The important action is to add "#define DAAL_DISABLE_LEVEL_ZERO
 

0 Kudos
AthiraM_Intel
Moderator
2,252 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.
 

0 Kudos
RAror6
New Contributor I
2,252 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!

0 Kudos
AthiraM_Intel
Moderator
2,252 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

0 Kudos
Reply