This project investigates performance-critical numerical algorithms commonly used in scientific computing and large-scale systems. It consolidates multiple implementations and analyses into a unified study of how algorithm design, memory hierarchy, and low-level optimizations affect runtime efficiency.
The focus is on measurable performance improvements, combining theoretical analysis with empirical benchmarking.
- Implemented multiple versions of general matrix–matrix multiplication
- Applied loop reordering, blocking, and cache-aware optimizations
- Evaluated performance using execution time and floating-point throughput (FLOPS)
- Implemented numerical methods for solving large linear systems
- Analyzed computational complexity and scaling behavior
- Studied trade-offs between performance and numerical stability
- Developed optimized implementations of the Sieve of Eratosthenes
- Focused on memory access patterns, cache efficiency, and scalability
- Compared baseline and optimized versions to quantify speedup
- Conducted systematic benchmarking and runtime profiling
- Analyzed performance in terms of instruction count, memory hierarchy effects, and algorithmic structure
- Interpreted results using empirical data and performance models
- Performance engineering and optimization
- Cache-aware algorithm design
- Numerical computing and linear algebra
- Scalability analysis and benchmarking
- High-performance computing fundamentals
- Languages: C / C++
- Execution environment: Linux-based systems
- Performance evaluated through controlled experiments and repeated runs
This project demonstrates how low-level optimization and architectural awareness significantly impact the efficiency of numerical workloads. It highlights a systems-oriented approach to computation, bridging algorithm theory with real hardware behavior.
Hugo Wan
The work reflects core skills used in HPC, performance engineering, and systems-oriented software development, and is applicable to compute-intensive domains such as scientific simulation and machine learning.