High-Performance Level-1 and Level-2 BLAS

The introduction of the Basic Linear Algebra Subroutine (BLAS) in the 1970s laid the path to the different libraries to solve the same problem with an improved approach and improved hardware. The new BLAS implementation led to High-Performance Computing (HPC) innovation, and all the love went to the level-3 BLAS due to its humongous application in different fields not bound to computer science.However, level-1 and level-2 got neglected, and we here tried to solve the problem by introducing the new algorithm for the vector-vector dot product, vector-vector outer product and matrix-vector product, which improves the performance of these operations in a significant way. We are not introducing any library but algorithms, which improves upon the current state-of-art algorithms. Also, we rely on the FMA instruction, OpenMP, and the compiler to optimize the code rather than implementing the algorithm in assembly. Therefore, our current implementation is machine oblivious and depends on the compiler’s ability to optimize the code. This paper makes the following contribution: