Comments (9)
All combination should compile successfully. I believe a possible fix might be to use a single Cuda backend selector instead of separate cuBLAS and cuRAND?
This is what I had in mind as well, some time ago. I think the decision to keep RNG and BLAS domains separate was kept. Indeed, I found similar issues as you've reported; when building cuRAND
alone without BLAS, a BLAS header was included in an installed file. I needed to tweak this by-hand.
In short, this can be fixed up a bit.
from onemkl.
@sbalint98 Hmmm, I cannot reproduce what you are seeing. I tried several combinations locally and here is what I observe.
You are using the latest develop branch, right?
TARGET_DOMAIN | ENABLE_CUBLAS_BACKEND | ENABLE_CURAND_BACKEND | Build PASS/FAIL |
---|---|---|---|
blas | ON | OFF | PASS |
rng | ON | OFF | PASS |
blas, rng | ON | OFF | PASS |
rng | OFF | ON | PASS |
blas | OFF | ON | PASS |
blas, rng | OFF | ON | PASS |
blas | ON | ON | BLAS test is being compiled for cuRAND backend ==> Fail |
rng | ON | ON | RNG test is being compiled for cuBLAS backend ==> Fail |
blas, rng | ON | ON | RNG test is being compiled for cuBLAS backend ==> Fail |
from onemkl.
Thank you for your investigation, unfortunately, I still have the same issue as described above. I am using the current HEAD of develop.
I will try to do some more detailed exploration over the weekend. Could you provide the details of how you have executed cmake?
from onemkl.
Thank you for your investigation, unfortunately, I still have the same issue as described above. I am using the current HEAD of develop.
I will try to do some more detailed exploration over the weekend. Could you provide the details of how you have executed cmake?
Hello @sbalint98 , sorry for the delay.
Here are my steps to build. Please let me know if that helps.
llvm=llvm_version
lnx_cuda=/project/mmeterel/tools/dpc++/opensource/${llvm}/lnx_cuda
export CXX=${lnx_cuda}/compiler/bin/clang++
export LD_LIBRARY_PATH=${lnx_cuda}/compiler/lib:${LD_LIBRARY_PATH}
export REF_BLAS_ROOT=/project/mmeterel/home/.conan/data/lapack/3.7.1/conan/stable/package/9a51b86f574d44d4c0a85f83edb89eaaf9159b86
export NETLIB_ROOT=/project/mmeterel/home/.conan/data/lapack/3.7.1/conan/stable/package/9a51b86f574d44d4c0a85f83edb89eaaf9159b86
export BUILD_SHARED_LIB=ON
export BUILD_DOC=OFF
export ENABLE_CUBLAS_BACKEND=ON
export ENABLE_CURAND_BACKEND=OFF
export ENABLE_MKLGPU_BACKEND=OFF
export ENABLE_MKLCPU_BACKEND=OFF
export ENABLE_NETLIB_BACKEND=OFF
export TARGET_DOMAINS=blas
export CMAKE_ROOT=/project/mmeterel/tools/cmake-3.16.0-Linux-x86_64
export PATH="${CMAKE_ROOT}/bin:${PATH}"
mkdir build_nvidia
cd build_nvidia
cmake .. -DMKL_ROOT=${MKL_ROOT} -DREF_BLAS_ROOT=${REF_BLAS_ROOT} -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIB} -DENABLE_CUBLAS_BACKEND=${ENABLE_CUBLAS_BACKEND} -DENABLE_MKLGPU_BACKEND=${ENABLE_MKLGPU_BACKEND} -DENABLE_MKLCPU_BACKEND=${ENABLE_MKLCPU_BACKEND} -DENABLE_NETLIB_BACKEND=${ENAB
LE_NETLIB_BACKEND} -DTARGET_DOMAINS=${TARGET_DOMAINS} -DENABLE_CURAND_BACKEND=${ENABLE_CURAND_BACKEND}
cmake --build . -j8
from onemkl.
@sbalint98 Did you get a chance to try the commands I sent? Do you still see the issue?
from onemkl.
Sorry, for the very long delay, I will try the commands very soon, and get back to you.
from onemkl.
My problem was that I didn't use the -DTARGET_DOMAINS
flag, and therefore all the domains have been added. Using that flag has solved my problem.
The issue I see right now, and the one that I have probably have encountered previously and you also noted in your table, arises when both rng and blas are targeted, and either the cuRAND or cuBLAS backends are enabled. In that case, the compilation failed for me with every combination of cuRAND and cuBLAS backends enabled. If this is not a legal configuration, would you agree that it would be nice to have the error shown during the configuration?
from onemkl.
You can try the setup script I use there, but the combination is not supported yet for testing
from onemkl.
I understand, thanks for the link and your help :)
from onemkl.
Related Issues (20)
- cmathcalls.h and sycl/builtins.hpp incompatibility - can't build
- Intel oneAPI mkl library apt distribution gpg key is expired. HOT 2
- when I update the apt source,the error appears HOT 1
- cublas supports 64-bit interface
- Support external workspace and workspace size query in DFT domain HOT 8
- Layout mismatch HOT 3
- Don't use `sycl::detail` namespace HOT 2
- combine omat and imat ?
- Some tests hang/slow down significantly when running with portBLAS HOT 1
- Native context reinterpret casted as `pi_context`
- CUDA backend is broken with hipSYCL
- Error during cmake --build . HOT 4
- #include <oneapi/mkl.hpp>
- create device RNG engine to host. HOT 5
- Illegal instruction error with oneMKL mt2203 instruction HOT 5
- [CMake][DFT] target_link_library(myTarget PRIVATE MKL::onemkl_dft_XXX) does not add includes
- [CMake] New users can struggle with the CBLAS testing dependency when building oneMKL - what to do? HOT 1
- [CMake][cuBLAS]Unable to build cublas backend with a default CMake command HOT 3
- Missing gemm_batch data types HOT 3
- const scaling paramters not supported for gemm_batch HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from onemkl.