https://github.com/nguyenpanda/gemm
Parallel Computing Assignment - K251 - HCMUT - VNU
https://github.com/nguyenpanda/gemm
cpp23 cuda forkjoin matrix-multiplication mpi openmp openmpi parallel-computing simd simd-instructions strassen-multiplication
Last synced: 2 days ago
JSON representation
Parallel Computing Assignment - K251 - HCMUT - VNU
- Host: GitHub
- URL: https://github.com/nguyenpanda/gemm
- Owner: nguyenpanda
- Created: 2025-10-13T07:22:32.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2026-01-18T02:05:56.000Z (4 months ago)
- Last Synced: 2026-03-06T12:49:12.687Z (2 months ago)
- Topics: cpp23, cuda, forkjoin, matrix-multiplication, mpi, openmp, openmpi, parallel-computing, simd, simd-instructions, strassen-multiplication
- Language: C++
- Homepage:
- Size: 23.9 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# OpenMP Introduction
This repository by `nguyenpanda` contains `C/C++` code and examples for the `Parallel Computing` course taught by `Dr. Thanh-Dang Diep`, who is a lecturer at `Ho Chi Minh City University of Technology (HCMUT), VNU-HCM`.
## Build & Run
```bash
cd # e.g., performance, test, ...
make execute
```
Tip: run `make help` to see all available targets defined in each `Makefile`.
## Repository layout
```bash
repo_root
├── performance
│ ├── .env
│ ├── main.cpp
│ └── Makefile
│ ...
│ ...
├──
│ ├── .env
│ ├── main.cpp
│ └── Makefile
├── includes
│ ├── matrix.h
│ ├── nguyenpanda.h
│ └── omp_intro.h
├── Makefile # top-level (primary) Makefile
├── README.md
└── template
├── .env
├── main.cpp
└── Makefile
```
- The top-level `repo_root/Makefile` is the primary entry point.
- To override `OpenMP` or `runtime` environment variables for a specific exercise, edit `.env` file.
- To add or tweak compile flags (e.g., `CXXFLAGS`, `LDFLAGS`, `INCLUDES`), edit `Makefile` in ``. Or adding via command line while compile using `EXTRA_CXXFLAGS` or `EXTRA_MACRO` (e.g., `cd performance && make execute EXECUTE=build/BM_MatAdd.exe EXTRA_CXXFLAGS="-O3 -Ofast -Wall"`)
## Directories
A quick map of what each directory (``) demonstrates:
| **Name** | **Description** | **Note** |
|:--------:|-----------------|----------|
| include | Contains the core of this repo | The implementation is done in header file, because of `C++` template |
| performance | All benchmarks are done in this repo | Using `Google Benchmark` and contains its own |
| test | Testing the correctness of algorithm | Using `Numpy` |