Machine structures

NumC

NumC
NumC

Summary

This is my implementation of the matrix calculation features of the popular Python library NumPy. It is not exactly as efficient, but it is much faster than a naive implementation.

What I did:

  • Defined a matrix struct and code mathematically optimal matrix functions
  • Wrote setup file to install custom module
  • Wrote Python-C interface
  • Sped up computation by doing conventional code optimizations (inlining functions, manual loop unrolling, etc.)
  • Optimized matrix functions further by utilizing SIMD instructions and OpenMP