RISC-V

Specification

In this project, I wrote all the RISC-V assembly code necessary to run a simple Artificial Neural Network (ANN) on the Venus RISC-V simulator. In part A, I implemented basic operations such as a vector dot product, matrix-matrix multiplication, the argmax and an activation function. In part B, I combined these basic functions in order to load a pretrained network and execute it to classify handwritten digets from the MNIST benchmark set.

I used RISC-V to:

  • implement computation functions
  • interact with files and utilize the heap
  • write a comprehensive set of tests