Standard Training: Software¶
Excellent and Free Textbook by Victor Eijkhout: "The Art of HPC"
Use KRG pdf cache (on 2024-01-08) if referred chapters/sections do not match the current version
HPC Carpentry
Volume 4 has a good coverage of technical skills needed by our group
Base Environment¶
Set up KRG Program Environment (docker) if you don't have a unix-like system
To practice the remainder of this training, you will need a unix-like system with a number of packages installed.
Follow Level 1 Docker tutorial to setup KRG Program Environment (koresearch/develop-environment-base), which is a cross-platform solution for MS Windows, Mac OSX, and Linux.
keeping configurations
If you chose to use this container approach, you might find it handy to mount a host folder to /root
in the guest (container file system) so that you can retain the settings (e.g., git configurations)
use an unimportant folder to share documents with containers
The host folder should be dedicated for this training since docker runs as super user, it can delete important file from inside the container if the mounted volume (folder) is not isolated.
Please report issues
If you spot any missing packages when using koresearch/develop-environment-base to practice this training, please open an issue.
A wonderful tutorial series: "The Missing Semester of Your CS Education"
Recommended Minimal Set in The Missing Semester Course
While the entire course is recommended, the most relevant topics are:
optional resources
checklist
- a running koresearch/develop-environment-base docker container in your machine
- basic unix-like system operations
- basic
git
- basic
vim
Programming¶
Textbook Reading
Prototyping: quick development for testing ideas
Recommedations
some other options
- octave/matlab
- Mathematica
- julia (also high-performance language)
keep the test examples simple
Most languages good for prototyping may not offer optimal performance and/or scalability.
High-Performance Computing: performance and scalability for production
Recommedations
strategy
It is recommended to know both for KRG objectives. For those not fluent in C/C++, start with modern Fortran (e.g., Fortran2008).
begin with a prototype
High-performance languages are often more involved to write than prototyping ones. Always start with a prototype to test correctness against.
Domain-Specific Software¶
scientific software
move QE and LAMMPS to scientific-software/
folder
Electronic Structure
- Quantum ESPRESSO
- FHI-aims
Molecular Dynamics
- DeepMD-kit
- LAMMPS
HPC Cluster Operation¶
Additional Training for Using HPC Clusters
Other Information¶
Other Software
- MS Teams + Planner
- freeplane