Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sohhamseal/scalable-systems-programs

A little less effort to learn parallel programming...
https://github.com/sohhamseal/scalable-systems-programs

cuda mpi openmp

Last synced: 26 days ago
JSON representation

A little less effort to learn parallel programming...

Awesome Lists containing this project

README

        

# Scalable-Systems-Programs
### Parallel Programming Examples Repository

Welcome to the Parallel Programming Examples repository! This repository provides hands-on examples and programs related to scalable systems and parallel programming in C. The examples cover parallel programming using OpenMP, MPI and CUDA.

## Scalable Systems

Scalable systems refer to computer systems that can efficiently handle a growing amount of work, providing increased performance as resources are added. This section provides an overview of scalable systems and key concepts.

## MPI (Message Passing Interface)

[MPI](https://www.mpi-forum.org/) is a standard for writing parallel programs that perform message passing. It is widely used for distributed-memory systems and high-performance computing.

### MPI Programs
- **Maximum of all array elements**
- **Maximum and Minimum of array elements**
- **Generate and display a Histogram**
- **Use the trapezoidal rule to calculate the approximate integral value**

## OpenMP

[OpenMP](https://www.openmp.org/) is an API that supports multi-platform shared-memory parallel programming in C, C++, and Fortran. It is widely used for parallelizing code to take advantage of multi-core processors.

### OpenMP Programs
- **Maximum and Minimum of array elements**
- **Use the trapezoidal rule to calculate the approximate integral value**
- **Calculate the approxmate pi value using definite integral**
- **Multiply a matrix with a vector**
- **Tokenize the provided string as input**


## CUDA

[CUDA](https://developer.nvidia.com/cuda-zone) is a parallel computing platform and programming model developed by NVIDIA for general computing on their GPUs (Graphics Processing Units).

### CUDA Programs
- **Vector Addition**
- **Matrix Addition**
- **Matrix Multiplication**

## Usage

Each language-specific folder contains a set of easy-to-understand and popular parallel programming examples. Navigate to the respective folders for detailed instructions and code.

Feel free to explore, learn and contribute to this repository. Happy coding!