Skip to content

sachugowda/pds-bits

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction to Parallel and Distributed Programming

Overview

This repository contains materials, notes, and practical implementations for the course "Introduction to Parallel and Distributed Programming". The course covers fundamental and advanced topics in parallel and distributed computing, focusing on data partitioning, parallel computation, communication models, fault tolerance, synchronization, and performance analysis.

Module 1: Introduction (Coming Soon)

Updates will be added soon.

Lab 1

For practical exercises related to Module 1, refer to: Lab 1, Bloack Diagram


Module 2: Distributed Processing with MPI

This module focuses on parallel computation across multiple nodes, efficient communication using OpenMPI, handling faults, and optimizing performance.

Lab 2

For practical exercises related to Module 2, refer to: Lab 2


Introduction to MPI

Introduction Communication in MPI

Introduction Data Distribution

Handling Input and Output in MPI

Collective Communications

Collective vs. Point-to-Point Communication in MPI

MPI Scatter, Gather, and Allgather

Derived datatypes: MPI_Datatype

Performance


Module 3: Multi-threading for single node performance

Lab 3

For practical exercises related to Module 3, refer to: Lab 3,

Processes, threads

Pthreads

Matrix-vector multiplication using Pthreads

Critical Section

Busy-Waiting

Mutex

MPI, Pthreads, and OpenMP

First Program in OpenMP

Mutext in OpenMP


How to Contribute

  • Feel free to submit issues and improvements via GitHub.
  • Share your resources

Resources

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published