For our first RISC-V Meetup of 2023, we have a report on an attempt to create the world’s smallest RISC-V based AI processor and a tutorial on how to add a builtin function to GCC for RISC-V.
!!! Change of Arrangements !!!
This is now a purely virtual meeting, using this Zoom link. All our speakers were coming from the Southampton area, and with the landslip at Hook, there are no trains between Southampton and London today. Please register to attend in person here.
The Zoom link will be open from 18:00 for networking, and the event will start at 18:30 prompt. We’ll keep the link open afterwards for discussion.
Not a BCS member? Don’t worry! Our monthly newsletter provides the latest news, information and events in the world of IT. We’re here to keep you updated! Sign up today at campaign.bcs.org/bcs-supporter. If you would just like to be added to the friends of the Open Source SG mailing list, then please send an email to firstname.lastname@example.org with subscribe in the subject. You can unsubscribe at any time by emailing email@example.com.
Creating the world’s smallest RISC-V based AI processor
Ren Chen, Ethan Lim, Amdadullah Md, Isaac Whale and Daniel Zelinka, University of Southampton
In previous years, this group has heard about the work of Southampton students developing small extensions to RISC-V to improve the performance of AI inference in low power contexts. This earlier work used standard RISC-V cores under development by the OpenHW Group. The work was carried out as group design projects of the MSc in Computer Systems Engineering.
For this year’s project we have attempted to combine the world’s smallest RISC-V Core, SERV, with our small AI extensions. The goal is to create what could be the world’s smallest RISC-V based AI processor. Suitable for use in very small, low power applications or to explore what is possible with massively parallel simple AI nodes at the edge.
But this is not just a talk about a project to create a novel AI processor. It is also a talk about how a project working to a tight timescale with demanding deliverables can go wrong, and what we did to rescue it and get useful results that will serve as a starting point for future projects.
Ren Chen, Ethan Lim, Amdadullah Md, Isaac Whale and Daniel Zelink are MSc students at the University of Southampton. Their project was supervised by Prof Mark Zwolinski and Dr Mark Vousden of the University of Southampton. The industry advisors were Olof Kindgren, Jeremy Bennett and Will Jones.
Tutorial: Adding builtin functions to GCC for RISC-V
Nandni Jamnadas, Embecosm
Many low level features of architectures are implemented in GCC as builtin functions. Builtin functions look superficially like any C function, but are in fact intrinsic to the compiler and represented as patterns to be matched in the machine description. Builtin functions are often used to access unique functionality of individual machine instructions, and , being integrated within the compiler, they are more efficient than using simple inline assembly code. For RISC-V, they offer an excellent way to expose the functionality of instruction set extensions to the C/C++ programmer.
Nandni Jamnadas is a member of the Embecosm GNU compiler team, and also serves as the lead for the CORE-V GNU tool chain project. She is a UK Electronics Skills Foundation Scholar from Royal Holloway College, University of London.