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. Fast review of some modern c++
- 4. Errors in Floating Point Numbers
- 5. Makefiles as automation tools
- 6. Standard library of functions: math functions, containers and random numbers
- 7. Using software in a hpc environment
- 8. Debugging
- 9. Unit Testing : Making sure your bugs don’t come back
- 10. Simple parallelization: farm task and gnu parallel or xargs
High Performance Computing and Parallel Programming
- 11. Optimization
- 12. Profiling
- 13. Computational linear algebra: Performance exploration
- 14. Introduction to High Performance Computing
- 15. HPC resource manager: Slurm
- 16. Introduction to OpenMp (Shared memory)
- 17. Introduction to MPI (distributed memory)
- 18. Ref
- 19. Some extra tools for development