Machine Learning & Computing Projects Overview
Image Transformation and Locality Analysis
Working in tandem in a pair programming setup, we delved into the efficiency of various data blocking techniques on the execution time of complex large-image transformations. Our journey involved crafting an image transformation tool, employing automated bash scripts for runtime data collection, and uncovering the intricate relationship between runtime efficiency and cache memory utilization.
Lossy Image Compression
Through collaborative pair programming, we ventured into the realm of lossy image compression, engineering a set of modular algorithms tailored for compressing and decompressing images. Extensive tests revealed our method's superior capability in preserving information over multiple compression cycles, outperforming standard course algorithms.
Universal Machine Emulator
In a challenging pair programming endeavor, we conceptualized and executed a universal machine emulator, supporting a minimalistic instruction set across a segmented memory architecture. Our hallmark achievement was 'fastum.c', a rendition that set new benchmarks for single-threaded emulation speed within our academic cohort.
RPN Calculator in Assembly
Our collaborative effort in pair programming led to the creation of a reverse polish notation (RPN) calculator, meticulously coded in UMASM, a pedagogical assembly language. This project was a direct extension of our work on the universal machine, showcasing our deepened understanding of low-level computing and instruction set architecture.