Code Monkey home page Code Monkey logo

conflux's People

Contributors

alexnick83 avatar andregail avatar czox avatar gkwasnie avatar kabicm avatar saethrej avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

conflux's Issues

CMAKE Build Failure

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.

Cmake Version 3.19.3 required for Intel MPI via oneAPI

Executive Summary

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.

Reproducing the Error

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.

Related PRs

None.

File Handle Strategy

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::CholeskyIO::~CholeskyIO()
{
// close the file if this was not done already
// commented this out as it results in segfault
//if (*fh != MPI_FILE_NULL) {
// MPI_File_close(fh);
//}
// delete file handle, but nothing else since this is done by another object
delete fh;
}

At the moment, the responsibility to open and close correctly is fully placed on the user.

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.