Installation - HiFiLES/HiFiLES-solver GitHub Wiki

Installation is accomplished using the GNU build system AutoTools. The necessary commands for the basic installation (CPU, serial, no BLAS required) are as follows:

  1. $ ./configure 2) $ make

The compiled executable will be located in ./bin/HiFiLES relative to the location of the Makefile.

To specify a BLAS library, compile for MPI, compile for GPUs, or change compilation settings, additional options are available during the configuration process. The BASH shell script configure_run.sh contains sample usages of all relevant configuration options, and can either be used as-is or as a template for a custom configuration script.

For example, to enable MPI support, simply change the PARALLEL="NO" flag to PARALLEL="YES", and change the value of MPICC (the MPI C Compiler) to a different MPI-compatible compiler if needed. Likewise, for linking with BLAS, simply select which type of BLAS you will be using (the basic CBLAS library and the ATLAS BLAS library are both supported for Linux users, and Accelerate BLAS is supported for Mac users), and then specify the location of the static library (.a) and header (.h) files as shown in the BLAS_LIB and BLAS_HEADER variables.

For building on GPU-enabled devices, the process is very similar to enabling MPI or BLAS support. Simply specify the CUDA compiler (probably 'nvcc'), the location of header and library files, and (optionally) the architecture you are compiling for. Options for the architecture are listed in configure_run.sh.

Once the configure_run.sh shell script has been modified to suit your needs, use the following commands to install (assuming you are using a BASH-based Linux distro):

  1. $ bash configure_run.sh 2) $ make

So long as you have Automake v1.11 or greater, the above procedure should work. If you encounter problems, however, you can copy the supplied handwritten file makefiles/Makefile to the master directory and edit as required for your system. You will also need a file makefile.in tailored to your system - see the supplied examples in the makefiles subdirectory for guidance.

Before running the code you also need to set the following environment variables in your .bashrc (or equivalent) file: export HIFILES_HOME=<path_to_HiFiLES_directory> export HIFILES_RUN=<path_to_HiFiLES_directory>/bin

Thanks for building, and happy running!