PLCT-Open-Reports

December 22, 2023 · View on GitHub

PLCT实验室的公开演讲,或者决定公开的组内报告

报告的索引:


日期报告人题目slidesvideo备注
dateauthortitleslideslinks请按照时间倒序插入把最新鲜的放在表头
20230929郑昱笙bpftime: eBPF 用户态运行时和高速 Uprobeslidesvideo用户态 eBPF 运行时 bpftime,支持 Uprobe 和 Syscall hook,和内核兼容并且 Uprobe 快 10 倍
20230419dram开一个函数栈帧不可能那么难吧slidesvideo从汇编入手的 RISC-V ELF ABI 栈帧结构介绍
20230308于桐WebAssembly组件与模块slidesvideo介绍 Wasm 组件模型与模块架构及其相关的衍生产物
20230308龙英池现代体系结构自动向量化方法slidesvideoN/A
20230119于桐eBPF简介与开发框架slidesvideo简要介绍eBPF及其常用的开发手段和框架
20220119刘子康LLVM-compiler rt简介slidesvideo主要介绍Compiler rt的功能和现状
20220112郑鈜壬CanoKey 应用、代码与实现slidesvideoCanoKey 应用与实例,CanoKey 协议栈与代码组织
20211224杨帆Cache-Coherence-in-Gem5slidesvideo介绍了gem5中一个经典的缓存一致性系统例子,“classic cache”设计中的问题,ruby介绍
20211222乌鑫龙GP Relaxation in LLDslidesvideo介绍RISCV中GP relaxation的基本原理,实现一个简单的GP relaxation的指令优化
20211218汪辰OSDT2021 AOSP for RISC-V 社区开源进展报告slidesvideoAOSP for RISC-V 社区开源进展报告
20211211罗云千RISC-V向量指令集初探slidesvideo介绍 RISC-V Vector 扩展的指令设计
20211208史历Register Allocation in LLVMslidesvideoWLLVM 后端寄存器分配算法及其实现(Basic 与 Greedy 寄存器分配器)
20211024汪辰,陆旭凡2021 AOSP RISC-V 社区开源进展报告(OSDT Meetup)slides1 slides2videoWallace 乘法乘法器的原理以及如何使用 Booth Recoding 加速 Wallace 乘法器
20211025张洪滨MLIR 的简介、实践、思考slides-N/A
20211011罗云千Wallace 乘法器slidesvideoWallace 乘法乘法器的原理以及如何使用 Booth Recoding 加速 Wallace 乘法器
20210929刘子康TableGen入门与实战slidesvideo简要介绍LLVM中TableGen的语法特性和用法用途
20210927罗云千Prefix Adder 入门slidesvideoPrefix Adder 的原理介绍以及其 Chisel 实现
20210915章翔JVM从入门到入门(三)-video关于JVM学习的入门知识分享
20210823东东archbuild脚本解读 - 东东拷问现场 - Arch Linux 小队slidesvideoarchbuild脚本解读-在 Arch Linux x86_64 环境中构建 RISC-V 架构的软件包
20210811章翔JVM从入门到入门(二)slidesvideo关于JVM学习的入门知识分享之JVM的启动流程介绍
20210730许东在 arch linux 上搭建 RISC-V 轻量级用户模式开发环境slidesvideo在arch linux 上使用 QEMU 和 systemd nspawn 搭建 RISC V 轻量级用户模式开发环境
20210728邵世通shecc介绍slidesvideoshecc编译流程介绍,qemu仿真模拟器原理介绍,Makefile文件介绍
20210630章翔JVM从入门到入门(一)slidesvideo关于JVM学习的入门知识分享
20210626王翔Introduce RISC-V debugging、OpenOCD and OpenSBIslides1 slides2-介绍 OpenOCD 和 OpenSBI
20210626汪辰年轻人的第一个RISC-V 操作系统slidesvideo介绍 PLCT 开设的基于 RISC-V 的操作系统线下公开课情况
20210626廖春玉LLVM的RVV支持现状和经验slides-介绍RVV在LLVM上的支持情况
20210626陈小欧RISCV GNU Toolchain和LLVM回归测试的介绍slides-N/A
20210626张洪滨MLIR 向量支持的部分概述slides-N/A
20210626陆亚涵V8 for RISC-V: Working Toward a Tier-1 Platformslides-介绍V8在RISCV上的移植情况
20210626张定立关于「在 RISC-V 峰会召开前将 OpenJDK 移植到 RV32GC 」结果却没有赶上 Deadline 这件事slides-介绍OpenJDK在RV32GC上的移植情况
20210626史宁宁方舟、ART和OpenJDK的RISCV支持slides-讲述PLCT实验室在方舟编译器、ART和OpenJDK上的工作
20210626吴伟我们仍未知道那些年立过的FLAG数量 —— PLCT 2021 Roadmap 回顾slides-回顾PLCT实验室在2021年上半年的工作
20210526陈嘉炜lazy binding on RISCVslidesvideo介绍lazy binding的概念及其在RISC-V中的调用约定
20210520刘铮入职报告:Ignition解释器工作过程slidesvideo介绍Ignition解释器如何生成字节码,解释执行字节码,收集反馈信息
20210512陈小欧Perf更详细的介绍slidesvideoPerf更详细的介绍,更多介绍了常用的参数
20210512陈嘉炜添加Zce指令到RISCV-GNU-Toolchainslidesvideo介绍添加ISA ZCE中的指令到RISC-V GNU Toolchain中的方法
20210331陈小欧如何使用gcov和linux-perf工具抓热点代码slidesvideoN/A
20210328吴思宇RISC-V K 扩展功能介绍slidesvideoRISC-V K 扩展功能和相关加密算法的介绍
20210324车春池RISC-V and Rust and Embeddedslidesvideo浅谈 RISC-V 与 Rust 语言与嵌入式开发
20210310陈小欧GNU GCC TestsuiteslidesvideoGNU GCC Testsuite介绍和运行方法
20210310乌鑫龙Progress of Scalar Crypto Support on LLVMslidesvideoLLVM 对于 RISCV K扩展的支持进展
20210310Lucas Zewen YeProgress of Scalar Crypto Support on QEMUslidesvideoProgress of K-ext Support on QEMU
20210224卢睿博Code Analysis Of RISC‐V P extensions in QEMUslidesvideo基于QEMU中已提交的P扩展patch进行代码分析和介绍
20210129吴思宇RISC-V B扩展(Bitmanip)概述slidesvideo)RISC-V B扩展(Bitmanip)概述,包括一些指令和支持情况
20210129叶泽文RISC-V Crypto Extensionslidesvideo简单介绍RISC-V K扩展
20210127梁斌Debugging WebAssembly with modern toolsslidesvideo介绍谷歌目前对WASM的debug方法与改进
20210127姜宇辰WASM Compilation Pipelineslidesvideo介绍V8编译WASM的流程并分析Liftoff编译器源码
20210122林思南An introduction to RISC-V ABIslidesvideo对RISC-V psABI中的规范进行介绍和分析
20210120卢睿博Implementation Framework And Present Support Analysis Of Gem5slidesvideogem5 实现框架分析和对 RISC‐V 支持现状
20210113陈小欧Comparison Between Csmith and YarpGenslidesvideo对比随机自动化测试工具Csmith和YARPGen
20210113梁斌How to debug V8 学习报告slidesvideoN/A
20210113邢明杰深度学习DSL简介slidesvideoN/A
20210113姜宇辰A Brief Introduction to WebAssembly & WAMRslidesvideoWebassembly介绍和WAMR源码分析
20210106乌鑫龙Rpitifulvm源码分析slidesvideoN/A
20201224陈嘉炜RISCV-SIG社区工作进展、Zfinx进展slides-Code Speed SIG项目内容与进展,Codesize Reduction中Zfinx项目工作进展
20201218陈嘉炜ZFINX GDB Disassemblyslidesvideo介绍反汇编的框架,和ZFINX反汇编实现工作的有关类容
20201204陈小欧LLVM测试框架介绍slidesvideoLLVM测试框架介绍以及如何写一个测试用例
20201118段甲华Implementation analysis of RISC-V Zfinx extension in QEMUslidesvideoQEMU的代码转换分析与RISC-V的Zfinx扩展在QEMU中的实现分析
20201120陈嘉炜Porting ZFINX support On RISC-V GNU ToolChainslidesvideo1 video2介绍GCC和Binutils中的移植操作与测试
20201111陈嘉炜ZFINX WORKING IN GCC AND BINUTILSslidesvideo介绍在GCC与Binutils中添加riscv-zfinx扩展的工作
20201111王萌USB驱动框架及R T-Thread的USB host实现分析slidesvideoN/A
20201106陈嘉炜指令选择slidesvideo介绍编译器指令选择的概念和riscv-zfinx扩展
20201030陈嘉炜编译器优化简介slidesvideo介绍编译器优化的概念和一些基本优化示例
20201029陆亚涵对分析V8 riscv和mips的指令数量slides-N/A
20201021陈嘉炜RISC-V GNU Toolchain构建slidesvideoRISC-V GNU Toolchain项目内容简介,仓库版本介绍,构建选择方法,交叉编译选择
20201015吴伟RISC-V开源软件生态slides-在 IC China 2020 的 RISC-V 分论坛中介绍 RISC-V 的开源软件社区
20201014孙少策成为LLVM的贡献者slidesvideo介绍如何成为LLVM贡献者的流程
20200923陈嘉炜Google_XLS项目简介slideslinksGoogle XLS项目简介,语法优化介绍
20200912孙少策Kaleidoscope语言代码解释(第八期)slidesvideoKaleidoscope 相关的代码解释
20200905孙少策Kaleidoscope语言代码解释(第七期)slidesvideoKaleidoscope 相关的代码解释
20200905孙少策Kaleidoscope语言代码解释(第六期)slidesvideoKaleidoscope 相关的代码解释
20200901孙少策Kaleidoscope语言代码解释(第五期)slidesvideoKaleidoscope 相关的代码解释
20200828孙少策Kaleidoscope语言代码解释(第四期)slidesvideoKaleidoscope 相关的代码解释
20200826孙少策Kaleidoscope语言代码解释(第三期)slidesvideoKaleidoscope 相关的代码解释
20200823Boyang HanIntroduction to FIRRTLslidesvideoIntroduction to FIRRTL, Installation of FIRRTL compiler, basic syntax of FIRRTL.
20200819孙少策Kaleidoscope语言代码解释(第二期)slidesvideoKaleidoscope 相关的代码解释
20200812王萌Linux设备树介绍及加载过程分析slidesvideoN/A
20200805孙少策Kaleidoscope语言代码解释(第一期)slidesvideoKaleidoscope 相关的代码解释
20200804张定立OpenJDK对于RISC-V的支持现状以及路线图slides1 slides2N/AN/A
20200722Boyang HanCircuit Capture of Chisel (Part 2. Naming)slidesvideoN/A
20200722Boyang HanCircuit Capture of Chisel (Part 1. Correctness)slidesvideoN/A
20200715Boyang HanIntroduction to Chisel/FIRRTL Hardware Compiler FrameworkslidesvideoIntroduction to Chisel/FIRRTL Hardware Compiler Framework
20200624王萌Spike-fesvr及外部设备实现分析slidesvideo介绍qemu_bios工具
20200619陈嘉炜QEMU_BIOS简介slidesvideo介绍qemu_bios工具
20200617汪辰基于树莓派开发I2C裸机驱动slidesvideoI2C 总线简介以及介绍如何基于基于树莓派开发 I2C 的裸机驱动
20200617王萌Spike 代码框架及具体实现分析slidesvideoN/A
20200610杨文章v8中snapshot的代码分析slidesvideov8项目中mksnapshot的机制分析
20200604张洪滨使用OpenROAD构建蜂鸟E203处理器核GDSslidesvideo完成蜂鸟E203处理器核从RTL代码到GDS二进制文件的全流程设计
20200527邹小芳V8移植简介slidesvideoN/A
20200527杨文章Dive into v8 torqueslidesvideov8项目中torque语言的编译器源码分析
20200527陆亚涵V8指令选择中的优化slides-N/A
20200527王鹏RISC-V rvv v0.9 v0.8 草案对比 第十一课slidesvideoN/A
20200513陆亚涵V8测试流程介绍以及指令选择单元测试源码分析slides-N/A
20200513王鹏clang和rvv benchmark 第十课slidesvideoN/A
20200513张爱珩阅读 CDT plugins 插件代码slides-Eclipse CDT插件(gcc交叉编译工具链的实现)代码阅读分析
20200506陆旭凡将quickjs翻译到riscv平台可以执行的文件slides-使用riscv交叉编译器将quickjs的源码编译到riscv平台可执行的二进制文件,并运行出benchmark结果
20200430王鹏LLVM测试框架、后端代码实例 第九课slidesvideoN/A
20200429张爱珩编写、导出及安装Eclipse插件slides-开发一个Eclipse插件并投入使用的基本流程
20200422王鹏rvv-llvm学习1 第八课slidesvideoN/A
20200416张爱珩GNU MCU Eclipse 及插件的安装和配置slides-开发基于RISC-V架构的IDE所需环境的准备工作
20200415王鹏rvv和玄铁c910对比总结 第七课slidesvideoN/A
20200401王鹏玄铁C910指令扩展总结 第六课slidesvideoN/A
20200401陈家友近期Assember工作总结slides-N/A
20200311王鹏c910扩展指令集添加 第五课slidesvideoN/A
20200311张爱珩基于RISC-V的IDEs的调研slides-四种支持RISC-V架构的IDE调研
20200304王鹏march=c910和论文分享 第四课slidesvideoN/A
20200226郑志文OpenCV for RISC-V 第四课:RISC-V编译工具链GCC介绍slides-RISC-V编译工具链GCC种类及参数的介绍
20200226王鹏添加mcpu=C910和RISCV后端介绍 第三课slidesvideoN/A
20200219郑志文OpenCV for RISC-V 第三课:OpenCV编译相关文件讲解slides-N/A
20200219王鹏添加llvm-mc命令行选项 第二课slidesvideo添加llvm-mc命令行选项,mcpu的属性mattr用tablegen语言的部分定义
20200219张爱珩准备FPGA开发的环境工作总结slides-在FPGA上实现RISC-V所需环境的准备工作
20200213王英恺虚拟机简介slides-N/A
20200213张江涛V8解释器字节码代码浅析slidesvideoV8字节码源码解析
20200213王天然编译器入门slides-N/A
20200212郑志文OpenCV for RISC-V 第二课:RISC-V目标平台介绍slidesvideoN/A
20200212王鹏RISCV后端和llvm-mc介绍 第一课slidesvideo介绍 llvm-mc相应的命令行选项,RISCV后端结合源代码介绍
20200212张爱珩关于在FPGA上跑通RISC-V的调研slides-在FPGA上实现RISC-V所需硬件资源及开发工作
20200205郑志文OpenCV for RISC-V 第一课slideslinksN/A
20200205陈影玄铁C910玄铁C910初次接触slidesvideoN/A
20200205张洪滨MLIR & python binding简介参见文末 20200205-MLIRvideo内容参考:MLIR官方资料

MLIR Toy Tutorial 概述-20200226-研究生张洪滨

报告题目:MLIR Toy Tutorial 概述

报告时间:2020年02月26日

报告人:张洪滨

隶属项目:Google Summer of Code 2020

内容简介:基于一个Toy语言实例,介绍从源语言到生成LLVM IR的MLIR编译流程。

幻灯片或资料链接:

https://www.bilibili.com/video/av91878526

视频或专栏文章链接:

MLIR ODS 框架的使用示例 -- 自定义Operation

https://zhuanlan.zhihu.com/p/105576276

MLIR 表达式变型

https://zhuanlan.zhihu.com/p/105905654

MLIR 实现泛化的表达式变型

https://zhuanlan.zhihu.com/p/106472878

MLIR 表达式优化 -- 部分Lowering

https://zhuanlan.zhihu.com/p/107137298

MLIR 表达式Lowering到LLVM IR

https://zhuanlan.zhihu.com/p/108386819

MLIR 向源语言添加struct类型

https://zhuanlan.zhihu.com/p/108575517https://zhuanlan.zhihu.com/p/104948867)

版权、资料来源及致谢备注:

报告中内容部分参考自MLIR官方资料

20211201 - RISCV是这么来的 - 史玉龙

报告题目:RISCV是这么来的

报告时间:20211201

报告人:史玉龙

隶属项目:技术分享

内容简介:主要介绍RISCV及CPU架构的发展史

幻灯片或资料链接:

https://github.com/plctlab/PLCT-Open-Reports/

视频或专栏文章链接:

https://www.bilibili.com/video/BV1uU4y1M7Sd?spm_id_from=333.999.0.0

20211215 - gcc它干了什么 - 史玉龙

报告题目:gcc它干了什么

报告时间:20211215

报告人:史玉龙

隶属项目:技术分享

内容简介:主要介绍gcc编译的过程

幻灯片或资料链接:

https://github.com/plctlab/PLCT-Open-Reports/

20220105 - CMO指令介绍 - 史玉龙

报告题目:CMO指令介绍

报告时间:20220105

报告人:史玉龙

隶属项目:技术分享

内容简介:主要介绍关于内存管理指令——CMO指令的介绍,包括其作用、实现进展及gcc部分实现计划等

幻灯片或资料链接:

https://github.com/plctlab/PLCT-Open-Reports/

视频或专栏文章链接:

https://www.bilibili.com/video/BV1GF411v7Ch?spm_id_from=333.999.0.0

20220216 - 关于highway库的调研报告 - 史玉龙

报告题目:highway库介绍

报告时间:20220216

报告人:史玉龙

隶属项目:技术分享

内容简介:主要介绍highway库的概念及实现时的代码移植要求和实现进展情况

幻灯片或资料链接:

https://github.com/plctlab/PLCT-Open-Reports/

20220314 - LLVM ORCJIT介绍 - 樊其轩(Alexfanqi)

报告题目:LLVM ORCJIT介绍

报告时间:20220314

报告人:樊其轩

隶属项目:技术分享

内容简介:介绍了JIT原理,LLVM ORCJIT api的设计和简单代码分析。

幻灯片或资料链接:

pdf版本ppt

视频或专栏文章链接:

https://www.bilibili.com/video/BV13a41187NM

20220323 - 关于CMake和C++11的学习汇报 - 王壹

报告题目:CMake和C++11的学习汇报

报告时间:20220323

报告人:王壹

隶属项目:学习汇报

内容简介:介绍在实习期间学习的关于CMake和C++11的相关知识。

幻灯片或资料链接:

https://github.com/plctlab/PLCT-Open-Reports/

20220330 - 关于移动语义和QT的学习汇报 - 王壹

报告题目:移动语义和QT的学习汇报

报告时间:20220330

报告人:王壹

隶属项目:学习汇报

内容简介:介绍在实习期间学习的关于移动语义和QT的相关知识。

幻灯片或资料链接:

https://github.com/plctlab/PLCT-Open-Reports/

20220406 - Coelacanthus - 如何给火狐(Firefox)贡献代码

报告题目:如何给火狐(Firefox)贡献代码

报告时间:20220406

报告人:Coelacanthus

隶属项目:Arch Linux 小队

内容简介:介绍如何给火狐(Firefox)贡献代码。

幻灯片或资料链接:

https://github.com/plctlab/PLCT-Open-Reports/

视频或专栏文章链接:

https://www.bilibili.com/video/BV1fY41177mf

20220406 - Coelacanthus - 让编程语言爱上RISC-V:以Crystal为例

报告题目:让编程语言爱上RISC-V:以Crystal为例

报告时间:20220406

报告人:Coelacanthus

隶属项目:Arch Linux 小队

内容简介:介绍如何将一门编程语言移植到 RISC-V。

幻灯片或资料链接:

https://github.com/plctlab/PLCT-Open-Reports/

视频或专栏文章链接:

https://www.bilibili.com/video/BV11F41137Xz

20220406 - CMake立大功:glibc更新引发的陈年旧案 - XieJiSS

报告题目:CMake立大功:glibc更新引发的陈年旧案

报告时间:20220406

报告人:XieJiSS (Pan RZ)

隶属项目:Arch Linux 小队

内容简介:关于我们如何与 RV64 gcc subword atomic 打交道

幻灯片或资料链接:

https://github.com/plctlab/PLCT-Open-Reports/

视频或专栏文章链接:

https://blog.jiejiss.com/A-RISC-V-gcc-pitfall-revealed-by-a-glibc-update/

https://www.bilibili.com/video/BV1Vq4y1a7Ny

20220511 - Coelacanthus - pkgconfig 的前世今生

报告题目:pkgconfig 的前世今生

报告时间:20220511

报告人:Coelacanthus

隶属项目:Arch Linux 小队

内容简介:pkgconfig 的来源、设计与使用

幻灯片或资料链接:

https://github.com/plctlab/PLCT-Open-Reports/

视频或专栏文章链接:

https://www.bilibili.com/video/BV1av4y1N7a4

20220518 - Coelacanthus - X11 与 Wayland

报告题目:X11 与 Wayland:Linux GUI 的曲折发展史

报告时间:20220518

报告人:Coelacanthus

隶属项目:Arch Linux 小队

内容简介:介绍 Linux 上常见的两种图形系统 X11 和 Wayland 的历史,设计与优劣

幻灯片或资料链接:

https://github.com/plctlab/PLCT-Open-Reports/

视频或专栏文章链接:

https://www.bilibili.com/video/BV1sS4y187Vr

20200205-MLIR

1.初见MLIR
2.MLIR的法宝
3.MLIR的惊鸿一瞥
4.MLIR的生产线--Dialects和他的小伙伴们
5.MLIR Dialect的零件生产者 – TableGen
6.MLIR 开放项目 -- python bindings
7.MLIR python bindings的问题&Dialect Operation build方法
8.MLIR python bindings的问题&Dialect Operation build方法
9.MLIR python binding -- pybind11
10.将pybind11示例嵌入到MLIR中
11.基于CMake构建系统的MLIR Example扩展
12.MLIR python binding 简易模型建立

20220406 - CLIC调研报告-史玉龙

报告题目:关于CLIC的调研报告

报告时间:20220406

报告人:史玉龙

隶属项目:gnu-toolchain 小队

内容简介:介绍RISCV架构的CLIC中断管理

幻灯片或资料链接:

https://github.com/plctlab/PLCT-Open-Reports/

视频或专栏文章链接:

https://www.bilibili.com/video/BV1TS4y1P7Tv?spm_id_from=333.851.dynamic.content.click

20220608-RISC-V Vector寄存器图解-孙少策

报告题目:RISC-V Vector寄存器图解

报告时间:20220608

报告人:孙少策

隶属项目:LLVM小队

内容简介:使用图解的方式,来介绍RVV寄存器相关的一些概念。

幻灯片或资料链接:

https://github.com/plctlab/PLCT-Open-Reports/20220608-RISC-V%20Vector寄存器图解-孙少策.pdf

视频或专栏文章链接:

https://www.bilibili.com/video/BV1UU4y1R7Ep

20220706 - RISC-V 指令集扩展检测机制现状 - 郑鈜壬

报告题目:RISC-V 指令集扩展检测机制现状

报告时间:20220706

报告人:郑鈜壬

隶属项目:Chisel 小组

内容简介:

  • 从 misa/mconfigptr 到设备树到内核到用户空间的扩展检测机制介绍
  • Zk 与 Zicsr/Zifencei 的案例分析

幻灯片或资料链接:

pdf

在线视频回放