Closed boegel closed 2 years ago
That were two CMAKE bugs in a row. I fix them in my experimental codes. Normally the MKL_CUSTOM will not be necessary since the normal MKL detection will do the work. But this was also broken when setting the `MKLROOT´ variable. The bug will be fixed in 3.1. upcomming soon.
@grisuthedragon We aim to install FlexiBLAS
using -DBLAS_AUTO_DETECT=OFF
, so we're in control over what it's picking up on. Will -DMKL_CUSTOM=ON
be all we need in combination with that when installing FlexiBLAS on top of Intel MKL + other BLAS libraries (like OpenBLAS/BLIS)?
@boegel The MKL_CUSTOM is not required in this case. For the plan you have, the work done by MKL_CUSTOM needs to be done by hand. We plan to include a better description of this procedure in the next release. But most details about building flexiblas without the automatic detection is documented in https://github.com/mpimd-csc/flexiblas/issues/13
I plan so provide a "post install" script for building additional BLAS backends easily.
In tools/backend_builder
FlexiBLAS now contains a CMake toolbox for easy building of backends without rebuilding FlexiBLAS.
Closed with 3.1.0
I'm seeing this when trying to build FlexiBLAS 3.0.4 on top of (only)
imkl
2020.4.304 with GCC 10.2:Complete
cmake
command to configure the build was:cmake -DCMAKE_INSTALL_PREFIX=/software/FlexiBLAS/3.0.4-gompi-2020b -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER='gcc' -DCMAKE_C_FLAGS='-O2 -ftree-vectorize -march=native -fno-math-errno' -DCMAKE_CXX_COMPILER='g++' -DCMAKE_CXX_FLAGS='-O2 -ftree-vectorize -march=native -fno-math-errno' -DCMAKE_Fortran_COMPILER='gfortran' -DCMAKE_Fortran_FLAGS='-O2 -ftree-vectorize -march=native -fno-math-errno' -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=FALSE -DBLAS_AUTO_DETECT=ON -DMKL_CUSTOM=ON /tmp/flexiblas-3.0.4/
$MKLROOT
was set to/software/imkl/2020.4.304-gompi-2020b/mkl
, so themkl
subdirectory of theimkl
installation.Am I overlooking something? Do I need to do something extra to get the MKL wrapper libraries built?
My goal is to have a FlexiBLAS build on top of several backends (OpenBLAS, BLIS, imkl), where you can easily switch between them using
export FLEXIBLAS=BLIS
orexport FLEXIBLAS=imkl
. Is using-DMKL_CUSTOM=ON
the right approach for that? I also tried using-DEXTRA='BLIS;OpenBLAS,imkl'
along with specifying-Dimkl_LIBRARY="..."
, but then I run into runtime errors like this: