We use cookies to ensure that we give you the best experience on our website. By continuing your visit on the website, you consent to the use of the cookies. If you want to find out more about the cookies we use, you can access our Privacy Policy.
The RISC-V Mentorship Program matches mentors and project leaders together with mentees from around the globe. We are excited to share with our community the projects and experiences of our 2022 participants!
About this event
The RISC-V Mentorship Program matches mentors and project leaders together with mentees from around the globe. We are excited to share with our community the projects and experiences of our 2022 participants!
Speakers
Edwin Joy
InCore Semiconductors
Verification Engineer
Priyansh Rathi
Indian Institute of Technology Roorkee
Student
Shahzaib Kashif
Usman Institute of Technology
Research Assistant
Takumi Hiraoka
University of Tokyo
Undergraduate Student
Dr. Xi Wang
RIOS Lab
Postdoctoral Researcher
Shenwei Hu
RIOS Lab
Master's Student
P1umer (@p1umer)
University of Chinese Academy of Sciences
Moazzam Moriani
University of London
Undergraduate Student
When
Wednesday, January 18, 2023 3:30 PM – 5:00 PM (UTC)
Agenda
3:30 PM
Opening Remarks
Megan Lehn, RISC-V International
3:35 PM
Feature Optimizations for RISC-V Compliance Test Generator (CTG) and RISC-V ISA Coverage (ISAC)
Edwin Joy, InCore Semiconductors; Priyansh Rathi, Indian Institute of Technology Roorkee
3:50 PM
A Software Engineer's Journey in RISC-V
Shazaib Kashif, Usman Institute of Technology
4:00 PM
Implementing the Level-3 OpenBLAS Kernel using RISC-V Vector Instructions
I tried to implement the Level-3 OpenBLAS kernels (e.g. gemm) using RISC-V Vector (RVV) instruction through this LFX project. OpenBLAS is an optimized BLAS (Basic Linear Algebra Subprograms) library based on GotoBLAS2 1.13 BSD version. BLAS has three levels computation, and Level-1 is about vector-scalar and Level-2 is about matrix-vector and Level-3 is about matrix-matrix. OpenBLAS is optimized for each architecture to achieve high performance in those computation. But Level-3 OpenBLAS kernel didn’t support RVV 1.0, so I was trying to implement it. First I understood the basic concept of OpenBLAS by seeing the code of existing OpenBLAS kernel and executing it. Then I implemented 4x4 and 8x4 micro-kernel using RVV intrinsic. Finally, I tried to implement those kernel based on the concept of OpenBLAS using RVV inline assembly. Before starting this project, I was worried about contributing to such a large OSS, but by following those steps I was starting to feel it easier and enjoy it. Through this mentorship project, I learned the concept of OpenBLAS and how to write RVV assembly code and the importance of breaking large tasks into smaller steps. Lastly I would like to thank my mentor who guided me and helped me a lot, and another mentee who worked with me on this project with passion.
Takumi Hiraoka, University of Tokyo
4:11 PM
Automatic Test Generation and Verification for RISC-V Vector Extension
RISC-V Vector (RVV) extension has been proposed to achieve high-performance executions of vectorization computing. However, RVV introduces 217 new instructions, 7 new CSRs and diverse configuration parameters. Such complexity makes it difficult to produce a golden test suite for developers, especially due to the combinations of distinct RVV parameter configurations like vlen, vsew, vmul, etc. In order to address such issue, RIOS Lab cooperate with the RISC-V foundation and design a configurable RVV test generator for the RISC-V community. We first designed and implemented the RVV Sail Model as the golden model to execute the RVV instructions. With the Sail model support, we further developed a configurable test generator with quantifiable coverage for RISC-V Vector Extension. Users are able to select instructions to be tested and set configuration parameters combination, then the associative tests are automatically generated. The entire flow is compatible with the latest RISCOF infrastructures which are massively utilized by RISC-V tests. We will also demonstrate our RVV support for RISCV-ISAC and RISCOF to obtain a quantitative coverage report.
Xi Wang and Shenwei Hu, RIOS Lab, Tsinghua University
4:27 PM
No Man's Land: Security Threats in the New Architecture of Operating Systems
P1umer, University of Chinese Academy of Sciences
4:35 PM
Writing High-Performance Software for RISC-V
OpenBLAS is an open source implementation of BLAS (Basic Linear Algebra Subprograms). BLAS is a basic component useful for dense matrix applications. This ranges from scientific computing to machine/deep learning. Now it is finally being ported to the RISC-V ISA.
This talk goes over the general approach and challenges in optimizing a subset of BLAS--GEMM (General Matrix Multiply). GEMM--or General Matrix Multiply--is the heart of many BLAS libraries and it is one the most critical and useful operations. Thus, the ubiquity of the operation demands peak performance. How one would go about obtaining peak performance for GEMM is the main subject of this talk.
Moazzam Moriani, University of London