Getting started with Conquest for ISC24 SCC (In-Person)

 

Overview

CONQUEST is a DFT code designed for large-scale calculations, with excellent parallelisation. It gives an exact diagonalisation approach for systems from 1 to 10,000+ atoms, and brings the possibility of linear scaling calculations on over 1,000,000 atoms. In this task, you will be using the linear scaling approach, which can show perfect weak scaling of thousands of cores.

 

Note: The page may be changed until the competition stats, maybe sure to follow up until the opening ceremony.

 

Conquest presentation to the teams:

 

Presentation file:

Building and Running example

Download the source code from GitHub - OrderN/CONQUEST-release: Full public release of large scale and linear scaling DFT code CONQUEST.

git clone https://github.com/OrderN/CONQUEST-release.git

Download libxc 6.2.2 from Files · 6.2.2 · libxc / libxc · GitLab.

 

Prerequisites

  • FFTW/MKL package

  • SCALAPACK

 

Build libxc:

# Load Intel compilers and mpi modules cd libxc-6.2.2 ./configure --prefix=<path> CC=mpiicc FC=mpiifort make make install

 

Build Conquest:

# Load Intel compilers and mpi modules cd CONQUEST-release/src/system # Use one of example system-specific makefiles such as system.kathleen.make and edit it for XC lib and include paths, and FFT & blas libraries. cp system.kathleen.make system.make # Add correct flag (-qopenmp for Intel) for OpenMP to compile and link arguments # Set MULT_KERN to ompGemm cd .. make

 

Sample build script for libxc and Conquest:

Modify src/system/system.make:

Build Conquest:

Build error:

If you encounter a Fortran module error with pseudo_tm_info.f90, modify src/Makefile as shown below.

Running Conquest:

You will need to set the number of threads per process for OpenMP as well as the number of MPI processes.

 

Application metric is wall-time “Total run time”.

Tasks & Submissions

Input:

  1. Run CONQUEST using the above input.

  2. Submit your best result (standard output), make files and build scripts. Do not submit binary output files nor multiple results.