-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[error] Cmake based build with intel mkl library #99
Comments
Please try selecting MKL using |
I follow your guide,but it not work.
|
Please try with |
I try it again,but also get Cmake Error. |
From the screenshot it looks like you are still defining |
Maybe build files contains cache. This is my rebuild cmake after delete build.
|
Can you check the info at the bottom of this page: https://cmake.org/cmake/help/latest/module/FindBLAS.html Did you source the intel environment script? |
I do source oneapi/setvars.sh
|
So now it did find BLAS and LAPACK. We use want full GPU support for multiple GPUs you also need SLATE. But I see you enabled SYCL. At the moment SLATE doesn't support SYCL yet. If you do not need distributed memory or multi-GPU support yet, you can disable MPI, using |
I tried this command it works.
OK. I have anothor question. how to set the SYCL path in cmake?(I found it not find the sycl include and library path by set env) |
I think you can set the C++ compiler: |
|
Do you have the |
I will try it later.
发自我的iPhone
…------------------ Original ------------------
From: Pieter Ghysels ***@***.***>
Date: Tue,Jul 18,2023 9:24 AM
To: pghysels/STRUMPACK ***@***.***>
Cc: wangzy0327 ***@***.***>, Author ***@***.***>
Subject: Re: [pghysels/STRUMPACK] [error] Cmake based build with intel mkllibrary (Issue #99)
Do you have the dpcpp compiler?
Otherwise, you can try -DCMAKE_CXX_FLAGS='-fsycl'
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
I have tried the command line with params. The command shows as follow.
I get cmake logs as follow.
I get the make compile command logs.
|
Are you trying to use SYCL (for Intel GPUs?) or HIP (for AMD)? |
I have tried use SYCL(for Intel GPUs) with the build command
The make command output is
|
If I use hip (for AMD),how to set the cmake command line?
|
For HIP, you should remove this: |
If you use MKL for both the SYCL code and the CPU BLAS, you might need to use the ILP64 MKL interface, using: This works for me:
|
Whether this way use SYCL GPU platform to run code instead of CPU? |
The SYCL queue uses the default constructor, so that should run on an Intel GPU if one that can run SYCL code is available, see: STRUMPACK/src/sparse/fronts/FrontSYCL.cpp Line 832 in 9e2f3f9
|
dpcpp support multi GPUs(like cuda,AMD,Intel). If I install oneAPI base Toolkit which GPU will be choosed ? |
Can you tell me this work in which device platform ? intel GPU or only CPU ? I tried it in my Intel GPU platform,but it not worked. My cmake command is same as yours. My oneAPI base toolkit version is 2023.02 and STRUMPACK version is main branch. This is my make command error log.
|
Is it necessary to specify the fortran compiler when compiling with cmake? |
It will just pick the first GPU I assume. In th ecode we only support a single GPU per MPI rank. |
You need a fortran compiler, but it could probably be another compiler, doesn't have to be ifx. And you don't need to specify it, CMake might be able to find it automatically. |
Can you upload the whole output from CMake, and the output from I have tested this on a testbed system at Argonne National Laboratory. I will check the exact version of the OneAPI toolkit later. |
Hi,@pghysels This is init oneapi env and export metis_dir path. This is my cmake command line and completely cmake output.
This is the output from
|
I have no idea what is going wrong here. |
Hi,@pghysels I have tried remove these extra options : ' -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch=gfx906',but get the same error.
Can you tell me your test device platform and dpcpp version? |
Can you tell me your test work in which device platform ? |
I'm sorry for the delay, I was traveling. |
Perhaps this latest commit fixes your linking issues: bdf1fe9 |
OK,Thank you for your reply. |
preparation:
metis library
intel mkl library
openmp
This is my build command
cmake ../ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../install -DSTRUMPACK_USE_SYCL=ON -DTPL_BLAS_LIBRARIES="/opt/intel/oneapi/mkl/2023.1.0/lib/intel64/libmkl_blacs_intelmpi_lp64.so" -DTPL_LAPACK_LIBRARIES="/opt/intel/oneapi/mkl/2023.1.0/lib/intel64/libmkl_lapack95_lp64.a" -DSTRUMPACK_USE_OPENMP=ON
build failed log as follow. how can I solve the problem?
CMake Error at CMakeLists.txt:210 (message): BLAS libraries defined in TPL_BLAS_LIBRARIES (/opt/intel/oneapi/mkl/2023.1.0/lib/intel64/libmkl_blacs_intelmpi_lp64.so) cannot be used. If your BLAS library links to OpenMP, enable OpenMP with -DSTRUMPACK_USE_OPENMP=ON. If that doesn't work, try running CMake with --debug-trycompile and check the output in build/blas_compile_test/CMakeFiles/CMakeTmp/ .
@pghysels
The text was updated successfully, but these errors were encountered: