Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/caite21/parallel-programming
Collection of Multithreading C/C++ Programs
https://github.com/caite21/parallel-programming
Last synced: about 2 months ago
JSON representation
Collection of Multithreading C/C++ Programs
- Host: GitHub
- URL: https://github.com/caite21/parallel-programming
- Owner: caite21
- Created: 2024-02-08T23:48:08.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-09-18T01:31:50.000Z (4 months ago)
- Last Synced: 2024-09-19T04:42:16.555Z (4 months ago)
- Language: C
- Homepage:
- Size: 59.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Parallel Programming
## Resource Synchronization 📁
Multiple "task" threads repeatedly attempt to acquire their required subset of shared resources. The program synchronizes the tasks with a mutex and monitors the tasks by printing to stdout.**Code Structure:** The TaskManager class ([task_manager.h](https://github.com/caite21/Parallel-Programming/blob/main/resource_synchronization/include/task_manager.h)) contains multiple Task structs ([task.h](https://github.com/caite21/Parallel-Programming/blob/main/resource_synchronization/include/task.h)). There is a monitor thread and a thread for each task.
**Usage:**
- make testOr
- make
- ./main inputFile monitorTimeMilliseconds numIterations## File Transfer Client Server 📁
The client reads commands from an input file and sends execution requests to the server. Packet communication includes handshakes to ensure reliability.**Usage:** Run the server and the client on the commands in commands.dat. In different terminals, type:
- make server0
- make client1
- make client2## OpenMP Gauss-Jordan Elimination 📁
An optimally parallelized OpenMP program that solves linear systems of equations through Gauss-Jordan Elimination with partial pivoting.**Note:** MatrixIO.c has been made private and the program will not run without it.
**Usage:**
- make
- ./main num_threads## Matrix Multiplication 📁
Performs efficient multithreaded matrix multiplication with a specified number of threads.**Note:** IO.c has been made private and the program will not run without it.
**Usage:**
- make
- ./main num_threads