Accelerating Linear Computation Coding (LCC) Algorithms Through Software Optimizations

Symbolbild zum Artikel. Der Link öffnet das Bild in einer großen Anzeige.
Created with DALL-E, November 2024

Accelerating Linear Computation Coding (LCC) Algorithms Through Software Optimizations

Linear Computation Coding (LCC) has emerged as a promising strategy for approximating constant matrix-vector multiplications (CMVMs) for large matrices. This technique is particularly valuable in neural networks, where the computational cost during the inference phase is primarily driven by the multiplication of constant matrices with arbitrary vectors. LCC facilitates efficient computations and supports hardware-friendly parallel implementations on reconfigurable platforms such as FPGAs.

This project aims to enhance the efficiency of existing LCC algorithms through their implementation in C or C++, with a focus on optimization for both CPU and GPU architectures. Students will work on translating Python algorithms to low-level programming languages, exploring various optimization strategies to improve runtime performance.

Project Goals:

  • Implement existing LCC algorithms in C or C++.
  • Optimize algorithm performance for CPU and GPU utilization.
  • Explore parallelization techniques to enhance computational efficiency.

Prerequisites:

  • Interest in machine learning and computational optimization.
  • Basic knowledge of linear algebra and programming.
  • Proficiency in C or C++; familiarity with GPU programming (CUDA/OpenCL) is a plus.

Are you interested? Get in touch with Hans Rosenberger and Johanna Fröhlich.