-
Notifications
You must be signed in to change notification settings - Fork 91
VeloxChem for LUMI added #2608
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
VeloxChem for LUMI added #2608
Changes from all commits
eb32645
12bc714
800ec3b
dfe4fa7
f486fb5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,112 @@ | ||||||
--- | ||||||
tags: | ||||||
- Free | ||||||
--- | ||||||
|
||||||
# VeloxChem | ||||||
|
||||||
VeloxChem is a Python-based open source quantum chemistry software for | ||||||
contemporary and future hardware architectures. It features interactive program | ||||||
access through Jupyter notebooks as well as massively parallel calculations in | ||||||
high-performance computing (HPC) environments. | ||||||
|
||||||
## Available | ||||||
|
||||||
|
||||||
- LUMI | ||||||
|
||||||
|
||||||
| Version | Available modules | Notes | | ||||||
|:-------:|:------------------|:-----:| | ||||||
| 1.0rc4 | veloxchem/cpu | CPU version | | ||||||
| 1.0 | veloxchem/gpu | GPU version | | ||||||
|
||||||
|
||||||
## License | ||||||
|
||||||
- VeloxChem is a free software available under the 3-Clause BSD License. | ||||||
|
||||||
## Usage | ||||||
|
||||||
On LUMI, you need to first activate CSC's local software stack before you can | ||||||
see and load the module. For example: | ||||||
|
||||||
```bash | ||||||
module use /appl/local/csc/modulefiles | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
(Which one is recommended?) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Didn't even know about Local-CSC. Have only seen the other version, e.g. https://docs.csc.fi/apps/lammps/#lumi-c-hybrid-mpiopenmp |
||||||
module load veloxchem/cpu | ||||||
source $VLXHOME/vlxenv/bin/activate | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think it'd be better to install veloxchem outside venv (and set PYTHONPATHs in module file instead). Then users have possibility to create their own venv for a few extra packages if needed. (Another question is that would a container-based installation be better?) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Regarding this I have no opinion or experience. Maybe discuss it in detail outside this PR? |
||||||
vlx --version | ||||||
``` | ||||||
|
||||||
|
||||||
### LUMI | ||||||
|
||||||
=== "LUMI CPU script" | ||||||
|
||||||
```bash | ||||||
#!/bin/bash | ||||||
#SBATCH --account=<project> | ||||||
#SBATCH --partition=standard | ||||||
#SBATCH --job-name=vlx.cpu_test | ||||||
#SBATCH --time 02:00:00 | ||||||
|
||||||
#SBATCH --nodes=2 | ||||||
#SBATCH --ntasks-per-node=8 | ||||||
#SBATCH --cpus-per-task=16 | ||||||
|
||||||
# Load VeloxChem CPU environment | ||||||
module use /appl/local/csc/modulefiles | ||||||
module load veloxchem/cpu | ||||||
|
||||||
# Activate Python virtual environment | ||||||
source $VLXHOME/vlxenv/bin/activate | ||||||
|
||||||
# OpenMP settings (based on allocated SLURM cpus) | ||||||
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK} | ||||||
export OMP_PLACES=cores | ||||||
|
||||||
# Run VeloxChem | ||||||
job=ecd_response | ||||||
srun vlx ${job}.inp ${job}.out | ||||||
``` | ||||||
|
||||||
=== "LUMI GPU script" | ||||||
|
||||||
```bash | ||||||
#!/bin/bash | ||||||
#SBATCH --account=<project> | ||||||
#SBATCH --partition=standard-g | ||||||
#SBATCH --job-name=vlx.gpu_test | ||||||
#SBATCH --time 02:00:00 | ||||||
|
||||||
#SBATCH --nodes=2 | ||||||
#SBATCH --exclusive | ||||||
#SBATCH --ntasks-per-node=1 | ||||||
#SBATCH --hint=nomultithread | ||||||
#SBATCH --gpus-per-node=8 | ||||||
|
||||||
# Load VeloxChem GPU environment | ||||||
module use /appl/local/csc/modulefiles | ||||||
module load veloxchem/gpu | ||||||
|
||||||
# Activate Python virtual environment | ||||||
source $VLXHOME/vlxenv/bin/activate | ||||||
|
||||||
# use one OpenMP thread per GPU device | ||||||
export OMP_NUM_THREADS=8 | ||||||
export OMP_PLACES=cores | ||||||
export SRUN_CPUS_PER_TASK=8 | ||||||
Comment on lines
+96
to
+98
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would it work to define There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Right! That would be more consistent. |
||||||
|
||||||
# Run VeloxChem | ||||||
job=g-quad-neutral | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This input script could be included for testing. |
||||||
srun python3 -m veloxchem ${job}.inp ${job}.out | ||||||
``` | ||||||
|
||||||
## More information | ||||||
|
||||||
- VeloxChem website: [veloxchem.org](https://veloxchem.org/) | ||||||
- VeloxChem GitLab repository: [gitlab.com/veloxchem/veloxchem](https://gitlab.com/veloxchem/veloxchem) | ||||||
- [VeloxChem: A Python-driven density-functional theory program for spectroscopy simulations in high-performance computing environments](https://doi.org/10.1002/wcms.1457) (introductory paper about VeloxChem) | ||||||
- [VeloxChem — Quantum Molecular Modelling in HPC Environments](https://www.pdc.kth.se/about/publications/pdc-newsletter-no-2-2019/veloxchem-1.945304) (article about the reasons and need for developing VeloxChem, the goals and structure of the software and its efficiency) | ||||||
- VIAMD for VeloxChem: [github.com/scanberg/viamd/wiki](https://github.com/scanberg/viamd/wiki) | ||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few comments here:
cannot open directory '/appl/local/csc/modulefiles/veloxchem/': Permission denied
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Tuomas for the detailed and extended comments! Much appreciated! I'll address these points
as follows: