Skip to content
/ matmul Public

Matrix Multiplication using AVX2, Strassen and FrodoKEM's matrix multiplication

Notifications You must be signed in to change notification settings

n30nx/matmul

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

In this repository, I have integrated Strassen's Matrix Multiplication with FrodoKEM's AVX2-based Matrix Multiplication, adding a size switch to optimize execution time and reduce cache miss rates.

Project structure

  • matrix.c: redundant file, just initializes the rand.
  • mul.c: matrix multiplication functions (includes strassen and FrodoKEM's algorithm)
  • mem.c: matrix allocation and deallocation functions
  • ops.c: simple matrix operations (addition and subtraction)
  • utils.c: handles matrix padding, unpadding, filling with random data, equality checks, and includes a non-trivial logarithm function (using a de Bruijn sequence).

About

Matrix Multiplication using AVX2, Strassen and FrodoKEM's matrix multiplication

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published