eth-cscs / conflux Goto Github PK
View Code? Open in Web Editor NEWDistributed Communication-Optimal LU-factorization Algorithm
License: BSD 3-Clause "New" or "Revised" License
Distributed Communication-Optimal LU-factorization Algorithm
License: BSD 3-Clause "New" or "Revised" License
Hi, I am trying to build this library on Stampede2, which is essentially a large-scale cluster of Intel KNL nodes.
I follow the provided steps and run into the following error:
login2.stampede2(1127)$ cmake -DCONFLUX_BLAS=MKL -DCONFLUX_SCALAPACK=MKL ..
-- Setting build type to 'Release' as none was specified.
-- Selected BLAS backend for CONFLUX: MKL
-- Selected SCALAPACK backend for CONFLUX: MKL
-- The CXX compiler identification is Intel 18.0.2.20180210
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/apps/intel18/impi/18.0.2/bin/mpicxx - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found MPI_CXX: /opt/apps/intel18/impi/18.0.2/bin/mpicxx (found version "3.1")
-- Found MPI: TRUE (found version "3.1") found components: CXX
-- Found OpenMP_CXX: -qopenmp (found version "5.0")
-- Found OpenMP: TRUE (found version "5.0")
-- cxxopts version 2.2.0
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found OpenMP_CXX: -qopenmp (found version "5.0")
-- Found OpenMP: TRUE (found version "5.0") found components: CXX
-- Found MKL: /opt/intel/compilers_and_libraries_2018.2.199/linux/mkl/include
-- Found OpenMP_CXX: -qopenmp (found version "5.0")
CMake Error at libs/costa/CMakeLists.txt:10 (include):
include could not find requested file:
cmake/build_type.cmake
CMake Error at libs/costa/CMakeLists.txt:11 (include):
include could not find requested file:
cmake/adjust_mpiexec_flags.cmake
-- Selected ScaLAPACK backend for COSTA: MKL
-- Found OpenMP_CXX: -qopenmp (found version "5.0")
-- Found OpenMP_CXX: -qopenmp (found version "5.0")
CMake Error at libs/costa/CMakeLists.txt:106 (add_subdirectory):
add_subdirectory given source "src/costa" which is not an existing
directory.
CMake Error: File /work2/05608/tg849075/conflux/libs/costa/cmake/costa.pc.in does not exist.
CMake Error at libs/costa/CMakeLists.txt:127 (configure_file):
configure_file Problem configuring file
CMake Error: File /work2/05608/tg849075/conflux/libs/costa/cmake/costaConfig.cmake.in does not exist.
CMake Error at libs/costa/CMakeLists.txt:131 (configure_file):
configure_file Problem configuring file
-- Configuring incomplete, errors occurred!
See also "/work2/05608/tg849075/conflux/build/CMakeFiles/CMakeOutput.log".
My cmake version is:
/opt/apps/cmake/3.20.2/bin/cmake
Please advise how to fix this error. Do I need to build COSTA? If so, what additional steps are necessary after doing so? Note that I tried building COSTA, but ran into other issues error: invalid entity for this variable list in omp clause
.
When trying to run cmake
on a machine with Intel's new oneAPI installed and cmake version < 3.19.3, the FindMPI
will fail with an error message like
Make Error in /mnt/d/dev/Bugs/build/CMakeFiles/CMakeTmp/CMakeLists.txt:
Imported target "MPI::MPI_C" includes non-existent path
"/mnt/d/dev/Bugs/'/opt/intel/oneapi/mpi/2021.1.1/include'"
This is due to a bug in these versions of cmake that incorrectly handle single quotes as string delimiters, as can be seen here. As a consequence, one cannot compile the code.
Running cmake -DCONFLUX_BLAS=MKL -DCONFLUX_SCALAPACK=MKL ..
from the build/
folder with a machine that has Intel's oneAPI installed, and cmake version < 3.19.3.
None.
We still need to figure out how exactly we want to do it with the file handle, i.e leave it to the user or have the responsibility to do it correctly on our side. This determines how we handle the constructor and destructors of the IO classes:
conflux/src/conflux/cholesky/CholeskyIO.cpp
Lines 90 to 99 in 98a845b
At the moment, the responsibility to open and close correctly is fully placed on the user.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.