About the Book
This book has been specially designed to enable you to utilize parallel and distributed programming and computing resources to accelerate the solution of a complex problem with the help of HPC systems and Supercomputers. You can then use your knowledge in Machine learning, Deep learning, Data Sciences, Big data and so on.
Learn about Supercomputing:
- A Little bit of Supercomputing history,
- Supercomputing examples,
- Supercomputers vs. HPC clusters,
- HPC clusters computers,
- Benefits of using cluster computing.
Components of a HPC system:
- Components of a High Performance Systems (HPC) cluster,
- Properties of Login node(s), Compute node(s), Master node(s), Storage node(s), HPC networks and so on.
PBS - Portable Batch System:
- Introduction to PBS, PBS basic commands,
- PBS `qsub`,
- PBS `qstat`,
- PBS `qdel` command,
- PBS `qalter`,
- PBS job states,
- PBS variables,
- PBS interactive jobs,
- PBS arrays,
- PBS Matlatb examples.
SLURM -Workload Manager:
- Introduction to Slurm,
- Slurm commands,
- A simple Slurm job,
- Slurm distrbuted MPI and GPU jobs,
- Slurm multi-threaded OpenMP jobs,
- Slurm interactive jobs,
- Slurm array jobs,
- Slurm job dependencies
Parallel programming - OpenMP and MPI:
- OpenMP basics,
- Open MP - clauses,
- OpenMP worksharing constructs,
- OpenMP- Hello world!,
- Reduction and parallel `for-loop`,
- Section parallelization, Vector addition,
- MPI - hello world! send/ receive and `ping-pong`
Parallel programming - GPU and CUDA:
- A concise beginner friendly guide to the GPUs - graphics processing units, GPU Programming - CUDA,
- CUDA - hello world and so on!
About the Author
Scientific programming is a rapidly growing multidisciplinary field that uses advanced computing capabilities to understand and solve complex problems.
The Scientific programming school team helps you to learn the use of scientific programming languages, such as CUDA, Julia, OpenMP, MPI, C++, Matlab, Octave, Bash, Python Sed and AWK including RegEx in processing scientific and real-world data. The team is formed by PhD educated instructors in the areas of Computational Sciences.
The team deploys interactive courses at Scientific Programming School (now Learnitive.com) which is an interactive and advanced e-learning platform for learning scientific coding giving you the opportunity to run scientific codes/ OS commands as you learn with playgrounds and Interactive shells inside your browser.