The installation uses CMake build system. You may need "bash" for the build process. When MPI is used, the software also requires BLAS, LAPACK and SCALAPACK packages. Optional packages are ARPACK.
For an installation with GNU compiliers and MPI, do:
Then you can install the libraries (four precisions: libzbutterflypack, libdbutterflypack, libsbutterflypack, libcbutterflypack), the examples (C++: ctest, ctest_simple, cfio, cifio, cfio2d, go2d, go3d. Fortran: ie2d, ie2deigen, ie3d, ie3deigen, ie3dport, ie3dporteigen, ie3d_sp, smat, frontal, frontaldist, krr, fullkrr, full, full_simple), and the documentation (needs -Denable_doc=ON) with:
( see example cmake scripts in example_scripts: run_cmake_build_gnu_ubuntu.sh, run_cmake_build_intel_ubuntu.sh, run_cmake_build_gnu_cori.sh, run_cmake_build_intel_cori.sh)
For an installation with GNU compiliers and no MPI, do:
( see example cmake script in example_scripts: run_cmake_build_gnu_ubuntu_mpi4_gcc910_sequential.sh)
ButterflyPACK can also be installed through Spack (https://spack.io), which makes installing scientific software easy. With Spack, you can build a package with multiple versions, configurations, platforms, and compilers, and all of these builds can coexist on the same machine:
This can take a while, since by default Spack will build all dependencies.
Furthermore, ButterflyPACK is also part of the ECP xSDK (https://xsdk.info) and E4S (https://e4s-project.github.io) software development kits. By installing the full xSDK, you get ButterflyPACK, all of it's dependecies and several other scientific software libraries.