Professional portfolio of parallel computing work focused on performance optimization, memory hierarchy awareness, and scalable execution across CPU, GPU, and distributed environments.
| Project | Key Technique | Tech Stack | Description |
|---|---|---|---|
hw1_odd-even-sort |
Odd-even transposition | MPI, C++ | Distributed odd-even sorting with message-passing coordination. |
hw2_mandelbrot-set |
Work partitioning | Pthreads, MPI, OpenMP, C++ | Parallel Mandelbrot generation with threading and hybrid MPI/OpenMP variants. |
hw3 |
Blocked APSP | CUDA, OpenMP, C++ | Blocked Floyd-Warshall with CPU and GPU implementations. |
hw4 |
GPU kernel optimization | CUDA, C++ | CUDA-based parallel implementation for assignment-specific workload. |
hw5 |
Communication tuning | UCX | Configuration and diff for high-performance communication setup. |
lab3 |
Image processing | CUDA, OpenACC, C++ | Sobel filter and MNIST processing across GPU and accelerator models. |
lab4 |
Shared-memory tiling | CUDA, C++ | Optimized Sobel filter using shared memory and tile-based access. |
The CUDA Sobel filter is fast because it stages input tiles in shared memory, reducing repeated global memory loads for overlapping convolution windows. This increases data reuse, minimizes global memory traffic, and raises computational intensity by performing more arithmetic per byte fetched. Coalesced global reads and shared-memory reuse keep the kernel bandwidth-efficient.
The blocked Floyd-Warshall implementation uses cache blocking to improve locality and reduce cache misses. By operating on tiles, it keeps working sets in shared memory (GPU) or cache (CPU), cutting global memory access and improving arithmetic intensity across phases. The structure also enables parallel execution with predictable memory access patterns.
- Makefile-based builds are provided in
hw1_odd-even-sort/,hw2_mandelbrot-set/, andhw3/(usemake -C <dir>). - CUDA targets require
nvccand a compatible NVIDIA toolchain. - MPI/OpenMP builds assume
mpicc/mpicxxand OpenMP-enabled compilers in the environment.