Careers360 Logo
ask-icon
share
    Compare

    Quick Facts

    Medium Of InstructionsMode Of LearningMode Of Delivery
    EnglishSelf StudyVideo and Text Based

    Courses and Certificate Fees

    Fees InformationsCertificate AvailabilityCertificate Providing Authority
    INR 1000yesIIT Kanpur

    The Syllabus

    Introduction to CPUs
    • Introduction to High Performance Computation
    • Basic Design
    • Processors
    • Vectorization
    • Multicore Processors

    Introduction to Memory/Network/Parallel prog
    • Memory
    • Basics of Operating System (Missing Video
    • RAM
    • Interconnect
    • Parallel Computer Classification
    • Classes of Parallelism
    • Networks

    Parallel prog contd.
    • Top10 HPC Systems
    • Using GPUs for HPC
    • Parallel programming fundamentals
    • Scaling
    • Programming Practices

    Intro to Python /C, Arrays
    • Programming Language
    • Classes in Python
    • Inheritance
    • Modules in Python
    • Python Pitfalls
    • Python Arrays
    • C Arrays 1D
    • Higher-Dimensional C Arrays

    Speeding up C/Fortran/Python programs:
    • Python Codes Optimization 1
    • C++ Codes Optimization 1
    • Python Codes Optimization 2
    • C++ Codes Optimization 2
    • C++ Codes Optimization 3 (Cache locality)
    • Speeding up Using Numba

    Parallel Applications Multithreading
    • Finite Difference Method
    • Particle Simulations (Molecular Dynamics)
    • Using Multiprocessing Module
    • Cache Issues in Multiprocessing
    • Using Multithreading Module
    • Computing Sum(a*b) with Multithreads
    • Computing AX=Y with Multithreads

    MPI Porgramming
    • MPI Using Mpi4py
    • Point-To-Point Communication (1)
    • Point-To-Point Communication (2)
    • Unblocking Send/Receive
    • Collective Communication and Reduction Operation
    • Send/Receive for Finite Difference Scheme
    • MPI Sum with Examples

    CUDA programming
    • Introduction CUDA Programming
    • Introduction to C (1)
    • Introduction to C (2)
    • CUDA Programming (1)
    • CUDA Programming (2)
    • Examples Using CUDA Programming
    • Matrix Multiplication
    • Derivative Computation Using Finite Difference

    Cupy, OpenACC programming
    • Cupy Programming
    • CUDA Programming with Numba
    • Introduction to Open ACC Programming 1
    • Introduction to Open ACC Programming 2
    • Solving Laplace Equation / OpenACC UPDATE Directives and Clauses

    MPI/OpenMP in C
    • Introduction to MPI in C
    • MPI Environment
    • Point to Point Communications
    • Collective Communication & Reduction Operation
    • Using OPENMP

    Applications/Visualization/Profiling
    • FFT
    • Spectral Method
    • Profiling
    • Paraview

    Case Study
    • Project 1: Cahn-Hilliard Equation
    • Project 2: Compressible Flow
    • Project 3: Ising Model
    • Project 4: Magnetohydrodynamic
    • Project 5: Molecular Dynamics
    • Project 6: Nonlinear Schrodinger Eq.
    • Project 7: XY Model
    • Summary

    Articles

    Student Community: Where Questions Find Answers

    Ask and get expert answers on exams, counselling, admissions, careers, and study options.