CS61kaChow
NumC is a project focused on implementing matrix operations in C, inspired by the functionality of the numpy library in Python.
Overview
NumC is a project focused on implementing matrix operations in C, inspired by the functionality of the numpy library in Python.
Description
- Built a simple version of Python’s NumPy in C for mathematical and logical operations on arrays and matrices
- Achieved 1750x speedup for exponential operations and 110x speedup for general multiplications through parallelization techniques and algorithmic optimizations such as SIMD, OpenMP, and Intel AVX intrinsics
- Applied debugging tools such as GDB and Valgrind, leading to identification and resolution of issues
- For detailed instructions and specifications, refer to the project spec
Skills
- Advanced C programming techniques
- Understanding of Python-C interface for overloading operators
- Memory management and optimization strategies
- Error handling and exception throwing
- Collaboration and teamwork