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

CMake Configuration is broken on DevCloud

ArmyXn
Beginner
5,256 Views

I have a project that relies on CMake to build CUDA/ROCm/oneAPI binaries. While CMake can successfully find all the necessary oneAPI components (i.e. IntelDPCPP, oneDPL, MKL) on other systems after running:

source /opt/intel/oneapi/setvars.sh

It fails miserably on DevCloud with the following error:

$ CC=icx CXX=icpx cmake -S . -B build
-- Setting build type to 'Release' as none was specified.
-- The CXX compiler identification is IntelLLVM 2023.0.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /glob/development-tools/versions/oneapi/2023.0.1/oneapi/compiler/2023.0.0/linux/bin/icpx - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenMP_CXX: -fiopenmp (found version "5.0")
-- Found OpenMP: TRUE (found version "5.0")
-- The SYCL compiler is /glob/development-tools/versions/oneapi/2023.0.1/oneapi/compiler/2023.0.0/linux/bin/icpx
-- The SYCL Flags are -fsycl
-- The SYCL Language Version is 202001
-- Found IntelDPCPP: /glob/development-tools/versions/oneapi/2023.0.1/oneapi/compiler/2023.0.0/linux/include (found version "202001")
CMake Error at CMakeLists.txt:68 (find_package):
  By not providing "FindoneDPL.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "oneDPL", but
  CMake did not find one.

  Could not find a package configuration file provided by "oneDPL" with any
  of the following names:

    oneDPLConfig.cmake
    onedpl-config.cmake

I tried to load oneDPL with 'module load dpl/latest' to no avail. Any idea how I can fix this?

 

Cheers,

Armin

0 Kudos
33 Replies
ArmyXn
Beginner
1,684 Views

Thanks for letting me know. I have no other option than wait then. -Armin

0 Kudos
fuzecate
Beginner
1,697 Views

I've been waiting to build a program on DevCloud. Is it possible to install Singularity/Apptainer on DevCloud so I can build it using oneAPI Singularity image?

0 Kudos
JaideepK_Intel
Moderator
1,652 Views

Hi,


Sorry for the delay, we are working along with the dev team on your issue.


Thanks,

Jaideep


0 Kudos
ArmyXn
Beginner
1,647 Views
0 Kudos
JaideepK_Intel
Moderator
1,619 Views

Hi,

 

We got an update from Dev team, the issue is the cmake code is not following symlinks properly

it builds when oneapi is directly installed into /opt, which is why it works on a laptop and probably other tested cluster environments.

on Devcloud symlinks are used instead for /opt/intel and installed to a shared NFS directory

not tested but the user should get the code to properly follow symlinks and it will build successfully.

 

we can use the below command to load mkl on devcloud.

module load mkl/latest

 

One4all requires some dependencies that are not available on DevCloud; one of them is Catch2. To install Catch2 on Ubuntu, we use sudo apt install catch2.

 

On DevCloud, we cannot use sudo because of all these reasons. We are facing issues building the binaries.

 

Thanks,

Jaideep



0 Kudos
ArmyXn
Beginner
1,596 Views

Hi,

 

While on my laptop oneAPI is installed directly into /opt, on our clusters I've installed oneAPI on a luster filesystem and then symbolic linked the folder to ~/opt/intel/oneapi. Just by running 'source ~/opt/intel/oneapi/setvars.sh' CMake is able to generate the configuration successfully. In addition, CMake is a widespread tool for building software packages and that would be very unlikely that doesn't follow the symbolic links. So, I don't think that could be the source of the problem.

 

About one4all requiring catch2 (and also Google benchmark), as mentioned in the link below, if they're not installed, CMake script tries to fetch them from GitHub and build them:

 

https://github.com/arminms/one4all#building-from-source

 

So, you don't have to install them at all. On both my laptop and clusters, catch2 and Google benchmark are not installed but CMake does that flawlessly as part of the build process.

 

Armin

0 Kudos
JaideepK_Intel
Moderator
1,529 Views

Hi,


I hope you are doing well.


We got an update from Dev Team, they were able to build on a system with oneapi directly installed into /opt/intel without any symbolic links

 

we have a node available with oneapi directly installed into /opt/intel s001-n058.

 

you are welcome to use this node if it is available:

qsub -I -l nodes=s001-n058:ppn2:ppn=2


Thanks,

Jaideep


0 Kudos
ArmyXn
Beginner
1,512 Views

Hi Jaideep,

 

Thanks for the update. During the past few days, I tried to use that node to no avail. It's not a matter of availability because even when I try to submit as a job (i.e. non-interactive) I get the following error:

$ qsub -l nodes=s001-n058:ppn2:ppn=2 build_one4all.sh
qsub: submit error (Job exceeds queue resource limits MSG=cannot locate feasible nodes (nodes file is empty, all systems are busy, or no nodes have the requested feature))

 Any suggestions?

 

Armin

0 Kudos
JaideepK_Intel
Moderator
1,432 Views

Hi,

 

I hope you are doing well.

 

We informed same to the engineering team and waiting for their update. Since anyone can access that node it's difficult to block specific nodes on DevCloud (unless they are free). We will get back to you once we get an update.

 

Thanks,

Jaideep

 

0 Kudos
JaideepK_Intel
Moderator
1,342 Views

Hi,


I hope you are doing well.


One of our engineering team members is directly contacting you, and they are attempting to use a Docker environment to support your benchmark tool.

So can we go ahead and close this case?


Thanks,

Jaideep



0 Kudos
JaideepK_Intel
Moderator
1,296 Views

Hi,


As mentioned above, one of our engineering team members is directly contacting you, and they are attempting to use a Docker environment to support your benchmark tool.

So can we go ahead and close this case?


Thanks,

Jaideep


0 Kudos
ArmyXn
Beginner
1,288 Views

Hi,

 

No problem. Go ahead and close it.

 

Cheers,

Armin

0 Kudos
JaideepK_Intel
Moderator
1,268 Views

Hi,


Thank you for the confirmation. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.


Thanks,

Jaideep


0 Kudos
Reply