Skip to content

Full hybrid multi-GPU/Phi construction of Hermitian and Overlap matrices in FLAPW methods

License

Notifications You must be signed in to change notification settings

SimLabQuantumMaterials/HybridHSDLA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

High-performance implementation of FLAPW

This project aims to produce an implementation of the FLAPW method in DFT. Goals are:

  • high performance: use (and research) how the mathematical equations can be implemented in a way that takes advantage of the architecture of state-of-the-art multi-core and supercomputers.

  • modularity and extensibility: follow modern programming paradigms, provide an easy-to-understand and tested code base

  • portability: the code should be able to run on a laptop as well as a big cluster machine.

Current state

Generation of the H and S matrices is implemented using BLAS calls. It uses precomputed input froma specifically modified version of Fleur. The input data includes the T-matrices, data about the system (atoms, types, cutoffs, energy parameters), the k-point mesh the radial mesh and also the potential. For an exhaustive list, execute h5dump --onlyattr fleur_dump.h5 on an input file produced by the modified Fleur version, as HDF5 is self-documenting.

The code takes these input quantities to generate the A and B tensors which are then used in a high-performance BLAS kernel to generate H and S. The relative error with regard to Fleur is on the order 10^-14, i.e. near machine accuracy.

Building

Requirements:

  • Intel compiler ifort with MKL (for the wrapped Fortran code)
  • HDF5
  • C++11 compliant C++ compiler. GCC 4.8.2 will work, as will clang.

On the RWTH cluster, use

module unload gcc
module load gcc/4.8
module load cmake
module load LIBRARIES hdf5

to get the required environment.

CMake builds are usually done in an out-of-tree way:

cd mkdir build && cd build

the next step

INTELROOT=/opt/intel/Compiler/default/compiler/ FC=ifort CXX=g++ CXXFLAGS=-O2 cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/.local .. make -j16 make install

This will configure, compile and install the code: In release mode, with prefix directory .local in the home folder.

How to cite

If you use HybridHSDLA in your research, please cite the paper:

  • Davor Davidović, Diego Fabregat-Traver, Markus Höhnerbach, Edoardo di Napoli (2018). Accelerating the computation of FLAPW methods on heterogeneous architectures, [arXiv:1712.07206].

About

Full hybrid multi-GPU/Phi construction of Hermitian and Overlap matrices in FLAPW methods

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published