Scientific Computing Essentials

Hands-on course on scientific computing utilizing High Performance Computing (HPC). The goal main of this course is to introduce you with the HPC systems and its software stack: Slurm, PBS, OpenMPI, MPI and CUDA.

  • 4
  • 24 Enrolled
  • Intermediate
  • Description

    This is the first ever hands-on scientific programming course that uses the High Performance Computing (HPC) systems software stack: Slurm, PBS Pro, OpenMP, MPI and CUDA.   The goal main of this course is to introduce you with the HPC systems and its software stack. This course has been specially designed to enable you to utilize parallel & 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.

    You will learn


    • Scientific programming in HPC clusters computers and is benefits, Supercomputing history and examples.
    • 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.
    • 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 example
    • 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
    • OpenMP basics, Open MP - clauses,  worksharing constructs, OpenMP- Hello  world!,  reduction and parallel `for-loop`,  section parallelization,  vector addition, MPI - hello world! send/ receive and `ping-pong`
    • Friendly guide to the GPUs - graphics  processing units, GPU Programming - CUDA, CUDA - hello world and so on!


    Scientific programming using a cluster of computers joins computational powers of the compute nodes to provide a more combined computational power. Therefore, as in the client-server model, rather than a simple client making requests of one or more servers, cluster computing utilize multiple machines to provide a more powerful computing environment perhaps through a single operating system.

    Don't forget to join our Q&A community where you can get free help anytime from other students and the instructor. This awesome course is a component of the Learn Scientific Computing project.


    Requirements

    • It is a self-learning course with all Linux environtments provided.
    • Foundations of C/C++

    Outcome

    • Hands-on learning capability of Scientific computing
    • HPC system's basic components
    • HPC software stack
    • HPC job schedulers and batch systems (Slurm and PBS Pro)
    • Introduction to parallel programming concepts: Open MP and MPI
    • GPU programming: CUDA
  • Instructor Profile

    Scientific Programming Team Instructor Teaching 25 students

    The Scientific Programming 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 teamed is formed by PhD educated instructors in the areas of Computational Sciences.

  • Student feedback

    4
    Course Rating
    0 %
    0 %
    50 %
    0 %
    50 %

    Reviews (2)

  • COURSE DISCORD

Scientific Computing Essentials

Hands-on course on scientific computing utilizing High Performance Computing (HPC). The goal main of this course is to introduce you with the HPC systems and its software stack: Slurm, PBS, OpenMPI, MPI and CUDA.

$10

Course includes

10 videos
29 playgrounds
16 illustrations
22 terminals

1-CLICK COURSE PURCHASE

Buy Now $10!

  Already purchased? Please Login with your purchasing email and resume from dashboard!

SIMILAR COURSES