Introduction to Scientific and High Performance Computing#
These lecture notes are a complement to the class and hopefully a good resource for the students.
Introduction to scientific computing and programming tools
- 1. Introduction
- 2. Very short review for c++ programming
- 3. Errors in Floating Point Numbers
- 4. Makefiles as automation tools
- 5. Standard library of functions: math functions, containers and random numbers
- 6. Using software in a hpc environment
- 7. Debugging
- 8. Unit Testing : Making sure your bugs don’t come back
- 9. Simple parallelization: farm task and gnu parallel or xargs
High Performance Computing and Parallel Programming
- 10. Optimization
- 11. Profiling
- 12. Computational linear algebra: Performance exploration
- 13. Introduction to High Performance Computing
- 14. HPC resource manager: Slurm
- 15. Introduction to OpenMp (Shared memory)
- 16. Introduction to MPI (distributed memory)
- 17. Ref
- 18. Some extra tools for development