关注RISC-V和Chisel以及开源IC和EDA在中国的发展
RISC-V 国际基金会组织的 RISC-V 暑期实习项目,延长一周,感兴趣的同学可以抓紧申请:
RISC-V Mentorship: MLIR Convolution Vectorization
The RISC-V Mentorship Program enables one or more 12-week internship-style projects per session, funded by RISC-V, to match mentors/project leaders together with mentees/interns . Mentees are guided through a series of milestones by one or more project mentors, with whom the mentees meet on a weekly basis.
Convolution is the core operation of deep learning models and computer vision applications. MLIR supports various convolution operations. Our project is to vectorize them for the RISC-V backend. There are several methods to implement convolution vectorization, such as optimizing nested loops, implementing vectorization algorithm, converting to GEMM, etc. This project needs to choose a vectorization method and implement a conversion pass for the convolution operations. As for the vector semantic support, MLIR has the “Vector” dialect for the general vector abstraction, and it also allows the backend-specific vector dialect, such as the “x86vector” dialect, “arm_neon” dialect, and “arm_neon” dialect. Like these dialects, the project also needs to propose an “RVV” dialect and work with existing dialects and tools.
Deliverables:
RISC-V Mentorship: Porting V8 to RISC-V R32G
The RISC-V Mentorship Program enables one or more 12-week internship-style projects per session, funded by RISC-V, to match mentors/project leaders together with mentees/interns . Mentees are guided through a series of milestones by one or more project mentors, with whom the mentees meet on a weekly basis.
This program pairs one mentee with an experienced mentor to deliver a V8 JavaScript engine port for a 32-bit RISC-V core.
The V8 JavaScript engine for RISCV64G has been upstreamed to Chromium recently. As a basic component for the Chromium web browser and node.js, it would enlarge RISCV’s application scenario. Although RV32G V8 port would be quite similar to RV64G V8 port , it is still in the TODO list. Porting and enable the RV32G on V8 will bring the embedded RISCV software ecosystem more applications, make RISC-V embed processors more competitive.
Deliverables (bullet list of components and the changes expected):
Acceptance criteria (bullet list with measurable results defined):
RISC-V Mentorship: Adding Vector Extension to V8/RV64G port
The RISC-V Mentorship Program enables one or more 12-week internship-style projects per session, funded by RISC-V, to match mentors/project leaders together with mentees/interns . Mentees are guided through a series of milestones by one or more project mentors, with whom the mentees meet on a weekly basis.
The WebAssembly SIMD ISA is fully supported in the main-stream architecture backend in the V8 JavaScript engine. However, as the RV64G V8 has just been upstreamed and the RISC-V Vector extension is still under the final ratify, the WebAssembly SIMD support for RISC-V with Vector extension has remained to be implemented. In this work, the “liftoff” compiler for WebAssembly, the register allocation for the standalone vector register files, and the assembler of the vector instructions should be coded. Mapping the WebAssembly’s 128bit SIMD instructions to the 128bit wide RISC-V Vector instructions could greatly accelerate those data and computation intensive WebAssembly applications.
Deliverables:
RISC-V Mentorship: Porting Spidermonkey to RISC-V
The RISC-V Mentorship Program enables one or more 12-week internship-style projects per session, funded by RISC-V, to match mentors/project leaders together with mentees/interns . Mentees are guided through a series of milestones by one or more project mentors, with whom the mentees meet on a weekly basis.
Spidermonkey is the JavaScript Engine inside Firefox. It has JIT compilers for generating native binary codes on the fly. This project aims to porting Spidermonkey to RV64GC platform.
Basic knowledge of compilers and language virtual machines are needed.
Deliverables:
Acceptance criteria: