HPC Workshop

March 20 and March 27, 2021



This is a two-day workshop covering basics of computing using an High Performance Computing (HPC) Cluster, OpenMP library and programming GPUs using OpenMP library. The workshop includes lab components for the topics covered in the theory sessions.
  • The first day of the workshop covers the basics of HPC Cluster usage. How to submit a job to a job queue, how to specify required resources, running and monitoring the jobs etc. We consider a Linux/Unix based computing cluster with command line interface.
  • The second day of the workshop focuses on programming multi-core CPUs with OpenMP, and programming GPUs with OpenMP version 5.0. The session will start with introducing the hardware architectures, followed by OpenMP Primer, and GPU programming with OpenMP.
The online event is planned on March 20 and March 27, and is open to everyone.

Registration

Registration is free but mandatory. Please register for the workshop here. More details would be sent to the registered participants.

Program

The event is scheduled online. E-meeting details will be mailed to the registered participants.

March 20



Nikhil Hegde
Nikhil is an Assistant Professor with the department of Computer Science and Engineering at the Indian Institute of Technology Dharwad. His interests lie in the areas of Parallel and Distributed computing, and Programming Languages. Specifically, he is interested in developing abstractions and systems necessary to create parallel programs that are efficient and are easy to implement for an average programmer. Currently, he focuses on automating the creation of, and optimizing distributed implementations of irregular algorithms. He received Ph.D. from Purdue University in 2019. He also has over eight years of professional experience working in the industry developing hardware, middleware, and software for mobile platforms.
Start TimeEnd TimeTopics
09:30 10:45 Terminology, Logging-in, Linux shell commands, Resource Managers and Schedulers, Basic scripts, Job Queues, Environment Variables for writing job scripts
11:00 12:45 Lab Session
Logging-in from different OSes, understanding hardware configuration, moving data sets, Preparing scripts for job submission, running, and monitoring jobs
Lunch Break
14:00 15:15 Types of jobs (serial, parallel), programming and build environments (MPI, OpenMP, CUDA-C, Hybrid, Hadoop, Matlab etc.)
15:30 17:00 Lab Session
Developing, building, and running parallel jobs
Note: For the Lab Sessions, it is expected that the participants have access to an HPC cluster.


March 27



Unnikrishnan C.
Unnikrishnan is an Assistant Professor in the Computer Science and Engineering Stream at Indian Institute of Technology Palakkad. His research interests are in High Performance Computing, Compilers and Programming Languages. Currently his research focus is on Parallel Programming Models for Graph Analytics, Social Network Analysis, and Certified Compilation. He received PhD from Indian Institute of Science (IISc), Bangalore in 2018. He worked as a Research Fellow for one year at Singapore University of Technology and Design (SUTD), Singapore prior to joining IIT Palakkad.
Start TimeEnd TimeTopics
09:30 11:00 Multi-core CPU and GPU architecture, OpenMP constructs with small examples, and Message Passing Interface (MPI) for distributed computing.
11:30 13:00 Lab Session
Programming with OpenMP and MPI
Lunch Break
14:00 15:00 OpenMP 5.0 directives: target, team, distribute, simd etc.
OpenMP Examples
15:30 17:00 Lab Session
GPU programming with OpenMP
Note: For the Lab Sessions, it is expected that the participants have access to a machine with NVidia GPUs and any one of the following compiler tool chains: GCC 7.10 or above, llvm10.0.0 or above with offloading support, ICC version 18.0 or above.

Register Now.


Organizers

  • Nikhil Hegde, IIT Dharwad
  • Unnikrishnan C, IIT Palakkad
  • Rupesh Nasre, IIT Madras