Quantcast
Channel: Intel® Software - Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
Viewing all articles
Browse latest Browse all 3005

OsX 10.10 breaking error through CMAKE

$
0
0

 

 

Dear all, 

 

I am trying to compile Fenics in OsX using intel compilers. 

The new edition to my saga is that CMAKE creates test binaries when testing MKL that can not be killed, and leads to a slow corruption of the system (i.e. fonts go crazy etc). The error is reproducible in a macbook pro retina 2011 and mac pro cylinder 2013. 

The "zombie" is created when Teuchos is testing:

 Performing Test CXX_COMPLEX_BLAS_WORKS

The CMAKE is invoked via hashdist with following parameters

${CMAKE} -DCMAKE_INSTALL_PREFIX:PATH="${ARTIFACT}" \
  -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \
  -DCMAKE_INSTALL_RPATH:STRING="${ARTIFACT}/lib" \
  -DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=ON \
  -DCMAKE_BUILD_TYPE:STRING=Release \
 -DCMAKE_PREFIX_PATH="${BLAS_DIR};${CMAKE_DIR};${LAPACK_DIR};${MPI_DIR};${NUMPY_DIR};${PYTHON_DIR};${SUITESPARSE_DIR};${SWIG_DIR}" \
  -D CMAKE_CXX_COMPILER:FILEPATH=${MPICXX} -D CMAKE_C_COMPILER:FILEPATH=${MPICC} -D Trilinos_INSTALL_INCLUDE_DIR:PATH=include/trilinos -D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=ON -D Trilinos_ENABLE_Epetra:BOOL=ON -D Trilinos_ENABLE_ML:BOOL=ON -D Trilinos_ENABLE_PyTrilinos:BOOL=ON -D Trilinos_ENABLE_TESTS:BOOL=OFF -D Trilinos_ENABLE_EXAMPLES:BOOL=OFF -D BUILD_SHARED_LIBS:BOOL=ON -D TPL_ENABLE_MPI:BOOL=ON -D TPL_ENABLE_UMFPACK:BOOL=ON -D BLAS_LIBRARY_NAMES:STRING=mkl_rt -D BLAS_LIBRARY_DIRS:PATH=/opt/intel/mkl/lib/ -D LAPACK_LIBRARY_NAMES:STRING=mkl_rt -D LAPACK_LIBRARY_DIRS:PATH=/opt/intel/mkl/lib/ -D UMFPACK_INCLUDE_DIRS:PATH=${SUITESPARSE_DIR}/include/suitesparse -D UMFPACK_LIBRARY_DIRS:PATH=${SUITESPARSE_DIR}/lib -D UMFPACK_LIBRARY_NAMES:STRING="umfpack;cholmod;camd;ccolamd;colamd;amd;suitesparseconfig" -D SWIG_EXECUTABLE:FILEPATH=${SWIG_EXECUTABLE} -D PYTHON_EXECUTABLE:FILEPATH=${PYTHON} \
  ..
)
${CMAKE} --build . -- -j ${HASHDIST_CPU_COUNT}

The zombie binary is generated with the following link.txt

mpic++    -DCXX_COMPLEX_BLAS_WORKS -Wl,-search_paths_first -Wl,-headerpad_max_install_names  -Lhashdist/bld/blas/orqin7luuh5d/lib  -L.hashdist/bld/cmake/llreawl5z57x/lib  -L.hashdist/bld/lapack/xvzyk5hqp7ew/lib  -L.hashdist/bld/mpi/gi7gvjksd6f3/lib  -L.hashdist/bld/numpy/pwyxrcqhcikq/lib  -L/.hashdist/bld/python/2y62fdg7o42s/lib  -L/.hashdist/bld/suitesparse/47udu3z4wfph/lib  -L.hashdist/bld/swig/mev4ahg24s3p/lib   CMakeFiles/cmTryCompileExec1717385958.dir/src.cxx.o  -o cmTryCompileExec1717385958  /opt/intel/mkl/lib/libmkl_rt.dylib

 

I tried manually, and ended up with the zombie process myself, and had to reboot the system, even I initiated the process with gdb. 

The test is this:

#include <complex>

#define F77_BLAS_MANGLE(name,NAME) name ## _

extern "C" {
  std::complex<float> F77_BLAS_MANGLE(cdotc,CDOTC)(
    const int* n, const  std::complex<float> x[], const int* incx,
    const std::complex<float> y[], const int* incy);
}

int main() {
  const int NUM=2;
  const int INC=1;
  std::complex<float> f[NUM];
  const std::complex<float>
    ONE = std::complex<float>(1.0,0.0),
    TWO = std::complex<float>(2.0,0.0);
  f[0] =  ONE;
  f[1] =  ONE;
  const std::complex<float> ret =
    F77_BLAS_MANGLE(cdotc,CDOTC)(&NUM, f, &INC, f, &INC);
  return (ret == TWO ? 0 : 1);
}

 


Viewing all articles
Browse latest Browse all 3005

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>