"Low-GEMM-V" is a suite of matrix multiplication algorithms that rely on the BLIS approach, which is a highly optimized method for this operation. These algorithms have been specifically designed for a RISC-V low power processor and are implemented in this architecture. The library provides efficient matrix multiplication capabilities that are well-suited for embedded systems, scientific computing, and machine learning applications.
The qblis_Low-Power library is described and evaluated fully in A BLIS-like matrix multiplication for machine learning in the RISC-V ISA-based GAP8 processor. If you intend to use or reference this works for an academic publication, please consider citing it:
@article{10.1007/s11227-022-04581-6,
author = {Ram\'{\i}rez, Cristian and Castell\'{o}, Adri\'{a}n and Quintana-Ort\'{\i}, Enrique S.},
title = {A BLIS-like Matrix Multiplication for Machine Learning in the RISC-V ISA-Based GAP8 Processor},
year = {2022},
issue_date = {Nov 2022},
publisher = {Kluwer Academic Publishers},
address = {USA},
volume = {78},
number = {16},
issn = {0920-8542},
url = {https://doi.org/10.1007/s11227-022-04581-6},
doi = {10.1007/s11227-022-04581-6},
abstract = {We address the efficient realization of matrix multiplication (gemm), with application in the convolution operator for machine learning, for the RISC-V core present in the GreenWaves GAP8 processor. Our approach leverages BLIS (Basic Linear Algebra Instantiation Software) to develop an implementation that (1) re-organizes the gemm algorithm adapting its micro-kernel to exploit the hardware-supported dot product kernel in the GAP8; (2) explicitly orchestrates the data transfers across the hierarchy of scratchpad memories via DMA (direct memory access); and (3) operates with integer arithmetic.},
journal = {J. Supercomput.},
month = {nov},
pages = {18051–18060},
numpages = {10},
keywords = {Matrix multiplication, RISC-V GAP8, High performance}
}
- Install the gap_sdk repository on your local machine following the instructions in gap_sdk.
- Navigate to the project directory using the command line.
- Follow the instructions in the gap_sdk repository's README to install the necessary dependencies.
- Clone this repository inside the gap_sdk directory:
git clone https://github.com/crissmath/qblis_gpduino
make clean all run
- Enrique S. Quintana-Ortí, Universidad Politécnica de Valencia, email
- Cristian Ramírez, Universidad Politécnica de Valencia, email
- Adrián Castelló, Universidad Politécnica de Valencia, email
This project is licensed under the APACHE LICENSE, VERSION 2.0 License - see the LICENSE.md file for details