Giter Site home page Giter Site logo

Comments (2)

balos1 avatar balos1 commented on June 9, 2024

Did you set ENABLE_LAPACK to ON? BLA_VENDOR should be used. Since SUNDIALS doesn't ever use BLAS without also needing LAPACK, we only call FindLAPACK.

from sundials.

stuart-nolan avatar stuart-nolan commented on June 9, 2024

Thank you for responding. I tried multiple ways, most using the cmake command line and nearly all with -DENABLE_LAPACK=ON. That said, I also tried the ccmake curses gui with a simpler config than I give below.

For the cmake cli, I use a script to generate the cmake command, they are long but here are examples:

cmake cli examples

With -DBLA_VENDOR=Intel10_64ilp

/usr/bin/cmake -DBUILD_STATIC_LIBS=OFF -DENABLE_OPENMP=ON -DCMAKE_INSTALL_PREFIX:PATH=/home/ul/.local -DCMAKE_INSTALL_LIBDIR:PATH=lib/sundials-6.6.1.mkl -DCMAKE_INSTALL_INCLUDEDIR:PATH=include/sundials-6.6.1.mkl -DEXAMPLES_INSTALL_PATH:PATH=/home/ul/.local/examples/sundials-6.6.1.mkl -DENABLE_KLU=ON -DKLU_INCLUDE_DIR=/home/ul/.local/include/suitesparse-7.2.0.mkl -DKLU_LIBRARY_DIR=/home/ul/.local/lib/suitesparse-7.2.0.mkl -DENABLE_LAPACK=ON  -DBLA_VENDOR=Intel10_64ilp -DCMAKE_C_FLAGS="-march=native -fPIC -O3 -DNDEBUG" ../ 

Specifying the lapack libraries (works but is a pain to make an install that does not have all libraries linked to mkl):

/usr/bin/cmake -DBUILD_STATIC_LIBS=OFF -DENABLE_OPENMP=ON -DCMAKE_INSTALL_PREFIX:PATH=/home/ul/.local -DCMAKE_INSTALL_LIBDIR:PATH=lib/sundials-6.6.1.mkl -DCMAKE_INSTALL_INCLUDEDIR:PATH=include/sundials-6.6.1.mkl -DEXAMPLES_INSTALL_PATH:PATH=/home/ul/.local/examples/sundials-6.6.1.mkl -DENABLE_KLU=ON -DKLU_INCLUDE_DIR=/home/ul/.local/include/suitesparse-7.2.0.mkl -DKLU_LIBRARY_DIR=/home/ul/.local/lib/suitesparse-7.2.0.mkl -DENABLE_LAPACK=ON -DLAPACK_LIBRARIES="/opt/intel/oneapi/mkl/2023.2.0/lib/intel64/libmkl_core.so;/opt/intel/oneapi/mkl/2023.2.0/lib/intel64/libmkl_intel_ilp64.so;/opt/intel/oneapi/mkl/2023.2.0/lib/intel64/libmkl_gf_ilp64.so;/opt/intel/oneapi/mkl/2023.2.0/lib/intel64/libmkl_gnu_thread.so" -DCMAKE_C_FLAGS="-march=native -fPIC -O3 -DNDEBUG -DMKL_ILP64 -m64 -I/opt/intel/oneapi/mkl/2023.2.0/include -L/opt/intel/oneapi/mkl/2023.2.0/lib/intel64 -Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl" ../ 

My appologies, I just reran the cmake cli example with -DBLA_VENDOR=Intel10_64ilp now and noticed the error output:

... <truncated>
-- Found Threads: TRUE  
-- Looking for Fortran sgemm
-- Looking for Fortran sgemm - found
-- Found BLAS: /opt/intel/oneapi/mkl/2023.2.0/lib/intel64/libmkl_gf_ilp64.so;/opt/intel/oneapi/mkl/2023.2.0/lib/intel64/libmkl_gnu_thread.so;/opt/intel/oneapi/mkl/2023.2.0/lib/intel64/libmkl_core.so;/usr/lib/gcc/x86_64-linux-gnu/11/libgomp.so;-lm;-ldl  
CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find LAPACK (missing: LAPACK_LIBRARIES)
Call Stack (most recent call first):
  /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.22/Modules/FindLAPACK.cmake:744 (find_package_handle_standard_args)
  cmake/tpl/SundialsLapack.cmake:50 (find_package)
  cmake/SundialsSetupTPLs.cmake:122 (include)
  CMakeLists.txt:171 (include)

specifying the lapack libraries (without the mkl link advisor flags included in -DCMAKE_C_FLAGS) gives me

...
  ERROR: SUNDIALS interface to LAPACK is not functional.
...

I can always add the link advisor flags, but then there is no point to using -DBLA_VENDOR=Intel10_64ilp is there?

Let me know if you have a suggestion for me to try.

For the record, I'm using sundials 6.6.1 and oneMKL 2023.0 Update 2 Product build 20230613 installed via sudo apt install intel-oneapi-mkl intel-oneapi-mkl-devel

from sundials.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.