PG Diploma in High Performance Computing Application Programming (PG-DHPCAP)
The theoretical and practical mix of the HPC Application development programs has the following objectives:
- To explore the fundamental concepts of Parallel programming and HPC Solutions and their applications.
- To develop in-depth knowledge and understanding of the High-Performance Computing domain.
- To learn the use of various HPC tools.
- To understand the applications using Map Reduce Concepts, OpenMP, CUDA, MPI, OpenACC, oneAPI.
- Basic introduction to ML, DL and AI
- Graduate in Engineering (10+2+4 or 10+3+3 years) in IT / Computer Science / Electronics / Telecommunications / Electrical / Instrumentation. OR
- MSc/MS (10+2+3+2 years) in Computer Science, IT, Electronics. OR
- Post Graduate Degree in Physics/ Computational Sciences/ Mathematics or allied areas, OR
Software Engineering concepts (4 Hrs)
C, C++ Programming and Data Structure (54 Hrs)
Difference between C and C++, pointers and Arrays using Pointers
Classes and Objects, Access Specifiers, Overloading, Inheritance, Polymorphism
Algorithms & Data Structures using C
Stacks, Queues, Linked Lists (Singly, Doubly, Circular), Trees, Graphs, Sorting (Bubble, Quick, Heap, Merge)
FORTRAN (12 Hrs)
Programs, Arithmetic Operations, Subroutines, Functions, Modules, Interface Formatting, and File Handling, Arrays, Pointers, Derived Data Types, Use of Program Libraries
Java Programming (40 Hrs)
Data Types, Operators and Language, Constructs, Inner Classes and Inheritance, Interface and Package, Exceptions, Threads, Java.lang, Java.util, Java. awt, Java.io.
Go Language (10 Hrs)
Linux shell scripting (30 Hrs)
Linux Commands, Processes scheduling & synchronization, Memory management, File Systems, Shell Scripting, Package Managers (RPM, APM, etc.)
Perl Scripting (20 Hrs)
Perl Fundamentals, Control structure and loops, Useful/necessary functions to memorize, Array Functions, Hash Functions, Array and hash manipulation, Inbuilt special variables, Regular Expressions basics, File Handling, Introduction to Modules and Packages, Database Connectivity
PHP (10 Hrs)
Introduction to PHP, Working with arrays, Functions, Forms, Handling date and Times, Working with Files
Computer Architecture and Interconnects (40 Hrs)
Basic concepts of computer organization, Classes of computer architecture, Processor vs. System architecture, Elements of computer systems, Goals of computer architecture, Memory Hierarchy, CISC vs. RISC architectures. Multi-Processor architecture, Memories and Caches, Cache coherency, Standard I/O interfaces GPU elements, An overview of the latest Intel processor., Distributed systems, cluster computing, grid computing, connectivity architectures, etc., SMP & NUMA, PCI
Introduction to communication system, issues in Computer Networking, OSI Layers, TCP/IP Models, Discussion of Networking Protocols, IP Addressing and Routing, Hub, Switch, Router, Interconnect Network (types, GB ethernet, OmniPath Architecture, and Infiniband)
Introduction to Processor & Co-processor Architectures (20 hrs)
Introduction to processor architecture
Introduction to different processor Architectures: Intel, AMD, ARM, IBM Power
Introduction to Co-processors: Intel, Nvidia- GPU, FPGA, Cross Compilation techniques.
Cloud Computing & Operations (33 Hours)
Introduction to Cloud Computing: Definition, Characteristics, Components, Cloud provider, SAAS, PAAS, IAAS and other Organizational scenarios of clouds, Administering & Monitoring cloud services, benefits and limitations, Deploy application over clouds. Comparison among SAAS, PAAS, IAAS, Cloud computing platforms: Infrastructure as service: Amazon EC2, Platform as Service: Google App Engine, Microsoft Azure Utility Computing, Elastic Computing, SLA, clusters, cloud analytics, challenges of cloud environment, Bare Metal Provisioning, HPC in the cloud, OpenStack and introduction to cloud stack
Introduction to Cloud Technologies: Hypervisors, Architecture of hypervisors, Compare SOAP and REST Web services, AJAX and mashups-Web services: SOAP and REST, SOAP versus REST, AJAX: asynchronous 'rich' interfaces, Mashups: user interface services. Virtualization, Virtual machine provisioning, virtualization applications in enterprises, Pitfalls of virtualization, Multitenant software: Multi-entity support, Multi-schema approach, Multi-tenancy using cloud data stores, Data access control for enterprise applications
Platforms & Deployment Strategies (27 Hrs)
Virtualization: Virtualization Basics, Virtual machine provisioning, virtualization applications in enterprises, Pitfalls of virtualization.
Containers: Container orchestration system, docker, singularity, Kubernetes orchestration system. hands on sessions using any container.
Internet of Things: IoT definitions, End Devices, Gateways, IoT platforms, Reference architecture, Introduction to IoT devices, Sensors and Actuators, Case studies of IoT solutions
Introduction to High-Performance Computing Profiling and debugging tools & Application Optimization (50 hrs)
Profiling and Debugging of codes tools: gprof, Vtune, gdb, Performance library like mkl, lapack, fft, Analysis tools like: ITAC, MPI libraries. Demo of the sample code by using the above tools
Introduction to micro-architecture analysis tools: LIKWID
Case Studies (Scientific & Engineering Domains)
Study and optimization of computational performance of applications
Resource Management & Monitoring tools, Schedulers & Job Submission (10 hrs)
Introduction to different HPC monitoring tools - ganglia, C-Chakshu, Grafana, Prometheus
Basics of scheduling, Introduction to resource management tools, Introduction to PBS, Torque and SLURM
Job Submission: Writing the batch job script, submission, monitoring. Application level checkpointing
CUDA Programming/ OpenCL, (40 Hrs)
Introduction to GPGPU, GPU Performance Vs CPU Performance, GPU Computing Application Domain, nVIDIA’s GPGPU Hardware Model, GPU Computing with CUDA, Thread Hierarchy, Memory Hierarchy, CUDA constructs, Case-Studies (Algorithms and Parallelization Approaches): Matrix – Multiplication,
Introduction to OpenCL, Host Program, Kernel Program
optimization & debugging using heterogeneous Programming.
OpenACC & one API (SYCL) (20 Hrs)
OpenAcc Introduction, Parallelize and optimize loop, Optimize data locality, OpenACC Interoperability
- To design artificial intelligence enabled products and services for realworld problems
- To understand accelerated computing and its capability in reducing ML/DL/AI workloads by evaluating algorithms in Machine Learning and Deep Learning.
- To efficiently use HPC infrastructure in AI workloads.
- To understand and apply various parallel programming libraries like CUDA, MPI, Python for parallel computing to implement HPC Solutions
Q: What is the eligibility of the PG Diploma course in HPC Application Programming?
A: The eligibility Criteria for PG-DHPCAP is Candidate holding any one of the following degrees
Graduate in Engineering (10+2+4 or 10+3+3 years) in IT / Computer Science / Electronics / Telecommunications / Electrical / Instrumentation. OR MSc/MS (10+2+3+2 years) in Computer Science, IT, Electronics. OR Post Graduate Degree in Physics/ Computational Sciences/ Mathematics or allied areas, OR MCA. The candidates must have secured a minimum of 55% marks in their qualifying examination.
Q: What is course fee of the PG-DHPCAP?
A: The course fee is INR. 1,15,000/- plus GST. However this course fees is sponsored for candidates from officially designated socially disadvantaged groups (SC & ST) in India who qualify the C-CAT exam under the National Supercomputing Mission (NSM) Capacity Building initiative.
Q: When the PG-DHPCAP course is commencing?
A: This PG-DHPCAP course is commencing from September 08, 2023 for which the NSM C-CAT is scheduled on July 15 / 16 2023.
Q: Duration of the course?
A: The duration of course is 900 hours 24 weeks approximately full-time course.
Q: Infrastructure Facilities available?
A: Fully equipped classrooms with capacity of 40 seats to accommodate students and state-of-art labs to explore you computing skills is made available.
Q: What is the value of the course in the international market?
A: The course has been a launched on a pilot mode by C-DAC and the course curriculum is designed based on the requirements of HPC industry requirements and trends of application prevailing in the industry and the opportunities that it generates; hence it will give the edge for the students who wish to make a mark in HPC domains and gives him the edge in Industry.
Q: How is the admission process to the PG Diploma HPC Application Programming course?
A: The eligible candidates who wish to apply to PG-Diploma courses of C-DAC, ACTS and also wish to apply for the “PG-Diploma in HPC Application Programming (PG-DHPCAP) ensure that he applies for both separately. Admission to NSM PG-Diploma courses is given based on ranking obtained in NSM C-CAT rank who has applied under the NSM capacity building programme. The ranking obtained in C-CAT cannot be consider for admission under NSM capacity building programme if the candidates have not applied to PG-Diploma in HPC Application Programming course through the NSM C-CAT application process.