Skip to content

Latest commit

 

History

109 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

High-Performance Machine Learning - High-Performance Programming Course Project

HPP main image

Project Dates: Apr - May 2026

Description

  • A highly-optimized Multilayer Perceptron (MLP) neural network built to classify grayscale handwritten digits
  • Optimizations achieved a 156X training + testing speedup over the serial baseline while maintaining a classification accuracy of 96.57%
  • The MLP was written in C, contained 4 layers + 80,000 parameters, and was optimized for the Intel i9-14900
  • Optimizations included loop unrolling, AVX vectorization, OpenMP multithreading, and matrix operation fusion
  • Full report in repo root

HPP MLP image

Tools

  • Resources: 3Blue1Brown + Michael Nielsen's Neural Networks and Deep Learning
  • Coding & Compiling: VSCode + GCC
  • Optimization libraries: Intel AVX Vector extension + OpenMP Multithreading
  • Claude Code

Methodology

  • Synthesized video and textbook resources to construct serial baseline backpropagation and feedforward algorithms within 3 days from scratch
  • Targeted optimization hotspots according to Amdahl’s Law by prioritizing the largest activation/weight/bias matrices and their functions
  • Directed brainstorming sessions with partner, accelerating integration of serial/parallel optimizations
  • Achieved 78X speedup using techniques from class, then utilized Claude Code to identify 2 additional optimization hotspots, improving to 156X speedup
  • Recorded optimizations in 22-page final report and streamlined 9-min presentation to the full class

Results

final stats

Build Instructions

This codebase consists of three separate code architectures:

  • optimized contains our most efficient code. Navigate to the directory and compile/run on Linux systems with "make run".
  • serial_baseline contains our code derived from first principles. Navigate to the directory and compile/run on Linux systems with "make run".
  • python_reference_code contains the neural network from Michael Nielsen's "Deep Learning and Neural Networks". Navigate to the directory/src and compile/run on Linux systems with "python3 script.py".

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages