This tutorial is a work-in-progress
Installing AiiDA and AiiDA-VASP
After all is done and set, run
verdi plugin list aiida.calculations
Configuring AiiDA
verdi computer setup
-> % verdi computer setup
Report: enter ? for help.
Report: enter ! to ignore the default and set no value.
Computer label: perlmutter
Hostname: perlmutter.nersc.gov
Description []: Perlmutter at NERSC
Transport plugin: core.ssh
Scheduler plugin: core.slurm
Shebang line (first line of each script, starting with #!) [#!/bin/bash]:
Work directory on the computer [/scratch/{username}/aiida/]:
Mpirun command [mpirun -np {tot_num_mpiprocs}]: srun -n {tot_num_mpiprocs} -c 2
Default number of CPUs per machine: 2
Default amount of memory per machine (kB).: 12800000
Escape CLI arguments in double quotes [y/N]:
Success: Computer<1> perlmutter created
Report: Note: before the computer can be used, it has to be configured with the command:
Report: verdi -p ar computer configure core.ssh perlmutter
---
label: "perlmutter"
hostname: "perlmutter.nersc.gov"
transport: "core.ssh"
description: "NERSC Perlmutter cluster"
scheduler: "core.slurm"
work_dir: "/pscratch/sd/a/{username}/aiida/"
default_memory_per_machine: 128000000
mpirun_command: "srun -n {tot_num_mpiprocs} -c 2"
mpiprocs_per_machine: "32"
prepend_text: |
### computer prepend_text start ###
#SBATCH -C cpu
#SBATCH -q regular
#SBATCH -A m4068
# OMP Settings
export OMP_PLACES=threads
export OMP_PROC_BIND=true
export OMP_NUM_THREADS=1
### computer prepend_text end ###
After configuring a computer, you cannot edit its contents. If you want to edit something, you must create a new computer.
Enter the information as
verdi computer configure core.ssh perlmutter --config perlmutter.yaml
Be sure to set the path to the .ssh file added with sshproxy utility fron NERSC. To test that the computer is working run
verdi computer test perlmutter
Configuring AiiDA-VASP
We now create a code using the command
verdi code configure core.code.installed --configure vasp.yaml
which uses the following configuration parameters
# vasp.yaml
---
label: "vasp-std"
description: "VASP 5.4.4 on NERSC Perlmutter"
computer: "perlmutter"
filepath_executable: "/global/common/software/nersc9/vasp/vasp/5.4.4-cpu/bin/vasp_std"
default_calc_job_plugin: "vasp.vasp"
prepend_text: |
module purge
module load vasp
append_text: ""
When running verdi code show vasp-std@perlmutter, we should see the specifics (just as in AiiDA-VASP tutorial)
Adding POTCARs
Since I work with pymatgen, we will upload the potentials from such source. You need to have pymatgen in your environment installed and the POTCAR files configured appropriately (see the POTCAR Setup section).
aiida-vasp potcar upload-from-pymatgen --name=PBE.54 --description="PBE from pymatgen"