PLCT实验室的公开演讲,或者决定公开的组内报告
日期 | 报告人 | 题目 | slides | video | 备注 |
---|---|---|---|---|---|
date | author | title | slides | links | 请按照时间倒序插入把最新鲜的放在表头 |
20230929 | 郑昱笙 | bpftime: eBPF 用户态运行时和高速 Uprobe | slides | video | 用户态 eBPF 运行时 bpftime,支持 Uprobe 和 Syscall hook,和内核兼容并且 Uprobe 快 10 倍 |
20230419 | dram | 开一个函数栈帧不可能那么难吧 | slides | video | 从汇编入手的 RISC-V ELF ABI 栈帧结构介绍 |
20230308 | 于桐 | WebAssembly组件与模块 | slides | video | 介绍 Wasm 组件模型与模块架构及其相关的衍生产物 |
20230308 | 龙英池 | 现代体系结构自动向量化方法 | slides | video | N/A |
20230119 | 于桐 | eBPF简介与开发框架 | slides | video | 简要介绍eBPF及其常用的开发手段和框架 |
20220119 | 刘子康 | LLVM-compiler rt简介 | slides | video | 主要介绍Compiler rt的功能和现状 |
20220112 | 郑鈜壬 | CanoKey 应用、代码与实现 | slides | video | CanoKey 应用与实例,CanoKey 协议栈与代码组织 |
20211224 | 杨帆 | Cache-Coherence-in-Gem5 | slides | video | 介绍了gem5中一个经典的缓存一致性系统例子,“classic cache”设计中的问题,ruby介绍 |
20211222 | 乌鑫龙 | GP Relaxation in LLD | slides | video | 介绍RISCV中GP relaxation的基本原理,实现一个简单的GP relaxation的指令优化 |
20211218 | 汪辰 | OSDT2021 AOSP for RISC-V 社区开源进展报告 | slides | video | AOSP for RISC-V 社区开源进展报告 |
20211211 | 罗云千 | RISC-V向量指令集初探 | slides | video | 介绍 RISC-V Vector 扩展的指令设计 |
20211208 | 史历 | Register Allocation in LLVM | slides | video | WLLVM 后端寄存器分配算法及其实现(Basic 与 Greedy 寄存器分配器) |
20211024 | 汪辰,陆旭凡 | 2021 AOSP RISC-V 社区开源进展报告(OSDT Meetup) | slides1 slides2 | video | Wallace 乘法乘法器的原理以及如何使用 Booth Recoding 加速 Wallace 乘法器 |
20211025 | 张洪滨 | MLIR 的简介、实践、思考 | slides | - | N/A |
20211011 | 罗云千 | Wallace 乘法器 | slides | video | Wallace 乘法乘法器的原理以及如何使用 Booth Recoding 加速 Wallace 乘法器 |
20210929 | 刘子康 | TableGen入门与实战 | slides | video | 简要介绍LLVM中TableGen的语法特性和用法用途 |
20210927 | 罗云千 | Prefix Adder 入门 | slides | video | Prefix Adder 的原理介绍以及其 Chisel 实现 |
20210915 | 章翔 | JVM从入门到入门(三) | - | video | 关于JVM学习的入门知识分享 |
20210823 | 东东 | archbuild脚本解读 - 东东拷问现场 - Arch Linux 小队 | slides | video | archbuild脚本解读-在 Arch Linux x86_64 环境中构建 RISC-V 架构的软件包 |
20210811 | 章翔 | JVM从入门到入门(二) | slides | video | 关于JVM学习的入门知识分享之JVM的启动流程介绍 |
20210730 | 许东 | 在 arch linux 上搭建 RISC-V 轻量级用户模式开发环境 | slides | video | 在arch linux 上使用 QEMU 和 systemd nspawn 搭建 RISC V 轻量级用户模式开发环境 |
20210728 | 邵世通 | shecc介绍 | slides | video | shecc编译流程介绍,qemu仿真模拟器原理介绍,Makefile文件介绍 |
20210630 | 章翔 | JVM从入门到入门(一) | slides | video | 关于JVM学习的入门知识分享 |
20210626 | 王翔 | Introduce RISC-V debugging、OpenOCD and OpenSBI | slides1 slides2 | - | 介绍 OpenOCD 和 OpenSBI |
20210626 | 汪辰 | 年轻人的第一个RISC-V 操作系统 | slides | video | 介绍 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 Platform | slides | - | 介绍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 RISCV | slides | video | 介绍lazy binding的概念及其在RISC-V中的调用约定 |
20210520 | 刘铮 | 入职报告:Ignition解释器工作过程 | slides | video | 介绍Ignition解释器如何生成字节码,解释执行字节码,收集反馈信息 |
20210512 | 陈小欧 | Perf更详细的介绍 | slides | video | Perf更详细的介绍,更多介绍了常用的参数 |
20210512 | 陈嘉炜 | 添加Zce指令到RISCV-GNU-Toolchain | slides | video | 介绍添加ISA ZCE中的指令到RISC-V GNU Toolchain中的方法 |
20210331 | 陈小欧 | 如何使用gcov和linux-perf工具抓热点代码 | slides | video | N/A |
20210328 | 吴思宇 | RISC-V K 扩展功能介绍 | slides | video | RISC-V K 扩展功能和相关加密算法的介绍 |
20210324 | 车春池 | RISC-V and Rust and Embedded | slides | video | 浅谈 RISC-V 与 Rust 语言与嵌入式开发 |
20210310 | 陈小欧 | GNU GCC Testsuite | slides | video | GNU GCC Testsuite介绍和运行方法 |
20210310 | 乌鑫龙 | Progress of Scalar Crypto Support on LLVM | slides | video | LLVM 对于 RISCV K扩展的支持进展 |
20210310 | Lucas Zewen Ye | Progress of Scalar Crypto Support on QEMU | slides | video | Progress of K-ext Support on QEMU |
20210224 | 卢睿博 | Code Analysis Of RISC‐V P extensions in QEMU | slides | video | 基于QEMU中已提交的P扩展patch进行代码分析和介绍 |
20210129 | 吴思宇 | RISC-V B扩展(Bitmanip)概述 | slides | video) | RISC-V B扩展(Bitmanip)概述,包括一些指令和支持情况 |
20210129 | 叶泽文 | RISC-V Crypto Extension | slides | video | 简单介绍RISC-V K扩展 |
20210127 | 梁斌 | Debugging WebAssembly with modern tools | slides | video | 介绍谷歌目前对WASM的debug方法与改进 |
20210127 | 姜宇辰 | WASM Compilation Pipeline | slides | video | 介绍V8编译WASM的流程并分析Liftoff编译器源码 |
20210122 | 林思南 | An introduction to RISC-V ABI | slides | video | 对RISC-V psABI中的规范进行介绍和分析 |
20210120 | 卢睿博 | Implementation Framework And Present Support Analysis Of Gem5 | slides | video | gem5 实现框架分析和对 RISC‐V 支持现状 |
20210113 | 陈小欧 | Comparison Between Csmith and YarpGen | slides | video | 对比随机自动化测试工具Csmith和YARPGen |
20210113 | 梁斌 | How to debug V8 学习报告 | slides | video | N/A |
20210113 | 邢明杰 | 深度学习DSL简介 | slides | video | N/A |
20210113 | 姜宇辰 | A Brief Introduction to WebAssembly & WAMR | slides | video | Webassembly介绍和WAMR源码分析 |
20210106 | 乌鑫龙 | Rpitifulvm源码分析 | slides | video | N/A |
20201224 | 陈嘉炜 | RISCV-SIG社区工作进展、Zfinx进展 | slides | - | Code Speed SIG项目内容与进展,Codesize Reduction中Zfinx项目工作进展 |
20201218 | 陈嘉炜 | ZFINX GDB Disassembly | slides | video | 介绍反汇编的框架,和ZFINX反汇编实现工作的有关类容 |
20201204 | 陈小欧 | LLVM测试框架介绍 | slides | video | LLVM测试框架介绍以及如何写一个测试用例 |
20201118 | 段甲华 | Implementation analysis of RISC-V Zfinx extension in QEMU | slides | video | QEMU的代码转换分析与RISC-V的Zfinx扩展在QEMU中的实现分析 |
20201120 | 陈嘉炜 | Porting ZFINX support On RISC-V GNU ToolChain | slides | video1 video2 | 介绍GCC和Binutils中的移植操作与测试 |
20201111 | 陈嘉炜 | ZFINX WORKING IN GCC AND BINUTILS | slides | video | 介绍在GCC与Binutils中添加riscv-zfinx扩展的工作 |
20201111 | 王萌 | USB驱动框架及R T-Thread的USB host实现分析 | slides | video | N/A |
20201106 | 陈嘉炜 | 指令选择 | slides | video | 介绍编译器指令选择的概念和riscv-zfinx扩展 |
20201030 | 陈嘉炜 | 编译器优化简介 | slides | video | 介绍编译器优化的概念和一些基本优化示例 |
20201029 | 陆亚涵 | 对分析V8 riscv和mips的指令数量 | slides | - | N/A |
20201021 | 陈嘉炜 | RISC-V GNU Toolchain构建 | slides | video | RISC-V GNU Toolchain项目内容简介,仓库版本介绍,构建选择方法,交叉编译选择 |
20201015 | 吴伟 | RISC-V开源软件生态 | slides | - | 在 IC China 2020 的 RISC-V 分论坛中介绍 RISC-V 的开源软件社区 |
20201014 | 孙少策 | 成为LLVM的贡献者 | slides | video | 介绍如何成为LLVM贡献者的流程 |
20200923 | 陈嘉炜 | Google_XLS项目简介 | slides | links | Google XLS项目简介,语法优化介绍 |
20200912 | 孙少策 | Kaleidoscope语言代码解释(第八期) | slides | video | Kaleidoscope 相关的代码解释 |
20200905 | 孙少策 | Kaleidoscope语言代码解释(第七期) | slides | video | Kaleidoscope 相关的代码解释 |
20200905 | 孙少策 | Kaleidoscope语言代码解释(第六期) | slides | video | Kaleidoscope 相关的代码解释 |
20200901 | 孙少策 | Kaleidoscope语言代码解释(第五期) | slides | video | Kaleidoscope 相关的代码解释 |
20200828 | 孙少策 | Kaleidoscope语言代码解释(第四期) | slides | video | Kaleidoscope 相关的代码解释 |
20200826 | 孙少策 | Kaleidoscope语言代码解释(第三期) | slides | video | Kaleidoscope 相关的代码解释 |
20200823 | Boyang Han | Introduction to FIRRTL | slides | video | Introduction to FIRRTL, Installation of FIRRTL compiler, basic syntax of FIRRTL. |
20200819 | 孙少策 | Kaleidoscope语言代码解释(第二期) | slides | video | Kaleidoscope 相关的代码解释 |
20200812 | 王萌 | Linux设备树介绍及加载过程分析 | slides | video | N/A |
20200805 | 孙少策 | Kaleidoscope语言代码解释(第一期) | slides | video | Kaleidoscope 相关的代码解释 |
20200804 | 张定立 | OpenJDK对于RISC-V的支持现状以及路线图 | slides1 slides2 | N/A | N/A |
20200722 | Boyang Han | Circuit Capture of Chisel (Part 2. Naming) | slides | video | N/A |
20200722 | Boyang Han | Circuit Capture of Chisel (Part 1. Correctness) | slides | video | N/A |
20200715 | Boyang Han | Introduction to Chisel/FIRRTL Hardware Compiler Framework | slides | video | Introduction to Chisel/FIRRTL Hardware Compiler Framework |
20200624 | 王萌 | Spike-fesvr及外部设备实现分析 | slides | video | 介绍qemu_bios工具 |
20200619 | 陈嘉炜 | QEMU_BIOS简介 | slides | video | 介绍qemu_bios工具 |
20200617 | 汪辰 | 基于树莓派开发I2C裸机驱动 | slides | video | I2C 总线简介以及介绍如何基于基于树莓派开发 I2C 的裸机驱动 |
20200617 | 王萌 | Spike 代码框架及具体实现分析 | slides | video | N/A |
20200610 | 杨文章 | v8中snapshot的代码分析 | slides | video | v8项目中mksnapshot的机制分析 |
20200604 | 张洪滨 | 使用OpenROAD构建蜂鸟E203处理器核GDS | slides | video | 完成蜂鸟E203处理器核从RTL代码到GDS二进制文件的全流程设计 |
20200527 | 邹小芳 | V8移植简介 | slides | video | N/A |
20200527 | 杨文章 | Dive into v8 torque | slides | video | v8项目中torque语言的编译器源码分析 |
20200527 | 陆亚涵 | V8指令选择中的优化 | slides | - | N/A |
20200527 | 王鹏 | RISC-V rvv v0.9 v0.8 草案对比 第十一课 | slides | video | N/A |
20200513 | 陆亚涵 | V8测试流程介绍以及指令选择单元测试源码分析 | slides | - | N/A |
20200513 | 王鹏 | clang和rvv benchmark 第十课 | slides | video | N/A |
20200513 | 张爱珩 | 阅读 CDT plugins 插件代码 | slides | - | Eclipse CDT插件(gcc交叉编译工具链的实现)代码阅读分析 |
20200506 | 陆旭凡 | 将quickjs翻译到riscv平台可以执行的文件 | slides | - | 使用riscv交叉编译器将quickjs的源码编译到riscv平台可执行的二进制文件,并运行出benchmark结果 |
20200430 | 王鹏 | LLVM测试框架、后端代码实例 第九课 | slides | video | N/A |
20200429 | 张爱珩 | 编写、导出及安装Eclipse插件 | slides | - | 开发一个Eclipse插件并投入使用的基本流程 |
20200422 | 王鹏 | rvv-llvm学习1 第八课 | slides | video | N/A |
20200416 | 张爱珩 | GNU MCU Eclipse 及插件的安装和配置 | slides | - | 开发基于RISC-V架构的IDE所需环境的准备工作 |
20200415 | 王鹏 | rvv和玄铁c910对比总结 第七课 | slides | video | N/A |
20200401 | 王鹏 | 玄铁C910指令扩展总结 第六课 | slides | video | N/A |
20200401 | 陈家友 | 近期Assember工作总结 | slides | - | N/A |
20200311 | 王鹏 | c910扩展指令集添加 第五课 | slides | video | N/A |
20200311 | 张爱珩 | 基于RISC-V的IDEs的调研 | slides | - | 四种支持RISC-V架构的IDE调研 |
20200304 | 王鹏 | march=c910和论文分享 第四课 | slides | video | N/A |
20200226 | 郑志文 | OpenCV for RISC-V 第四课:RISC-V编译工具链GCC介绍 | slides | - | RISC-V编译工具链GCC种类及参数的介绍 |
20200226 | 王鹏 | 添加mcpu=C910和RISCV后端介绍 第三课 | slides | video | N/A |
20200219 | 郑志文 | OpenCV for RISC-V 第三课:OpenCV编译相关文件讲解 | slides | - | N/A |
20200219 | 王鹏 | 添加llvm-mc命令行选项 第二课 | slides | video | 添加llvm-mc命令行选项,mcpu的属性mattr用tablegen语言的部分定义 |
20200219 | 张爱珩 | 准备FPGA开发的环境工作总结 | slides | - | 在FPGA上实现RISC-V所需环境的准备工作 |
20200213 | 王英恺 | 虚拟机简介 | slides | - | N/A |
20200213 | 张江涛 | V8解释器字节码代码浅析 | slides | video | V8字节码源码解析 |
20200213 | 王天然 | 编译器入门 | slides | - | N/A |
20200212 | 郑志文 | OpenCV for RISC-V 第二课:RISC-V目标平台介绍 | slides | video | N/A |
20200212 | 王鹏 | RISCV后端和llvm-mc介绍 第一课 | slides | video | 介绍 llvm-mc相应的命令行选项,RISCV后端结合源代码介绍 |
20200212 | 张爱珩 | 关于在FPGA上跑通RISC-V的调研 | slides | - | 在FPGA上实现RISC-V所需硬件资源及开发工作 |
20200205 | 郑志文 | OpenCV for RISC-V 第一课 | slides | links | N/A |
20200205 | 陈影 | 玄铁C910玄铁C910初次接触 | slides | video | N/A |
20200205 | 张洪滨 | MLIR & python binding简介 | 参见文末 20200205-MLIR |
video | 内容参考:MLIR官方资料 |
报告题目: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官方资料
报告题目:RISCV是这么来的
报告时间:20211201
报告人:史玉龙
隶属项目:技术分享
内容简介:主要介绍RISCV及CPU架构的发展史
幻灯片或资料链接:
https://github.com/plctlab/PLCT-Open-Reports/
视频或专栏文章链接:
https://www.bilibili.com/video/BV1uU4y1M7Sd?spm_id_from=333.999.0.0
报告题目:gcc它干了什么
报告时间:20211215
报告人:史玉龙
隶属项目:技术分享
内容简介:主要介绍gcc编译的过程
幻灯片或资料链接:
https://github.com/plctlab/PLCT-Open-Reports/
报告题目:CMO指令介绍
报告时间:20220105
报告人:史玉龙
隶属项目:技术分享
内容简介:主要介绍关于内存管理指令——CMO指令的介绍,包括其作用、实现进展及gcc部分实现计划等
幻灯片或资料链接:
https://github.com/plctlab/PLCT-Open-Reports/
视频或专栏文章链接:
https://www.bilibili.com/video/BV1GF411v7Ch?spm_id_from=333.999.0.0
报告题目:highway库介绍
报告时间:20220216
报告人:史玉龙
隶属项目:技术分享
内容简介:主要介绍highway库的概念及实现时的代码移植要求和实现进展情况
幻灯片或资料链接:
https://github.com/plctlab/PLCT-Open-Reports/
报告题目:LLVM ORCJIT介绍
报告时间:20220314
报告人:樊其轩
隶属项目:技术分享
内容简介:介绍了JIT原理,LLVM ORCJIT api的设计和简单代码分析。
幻灯片或资料链接:
视频或专栏文章链接:
https://www.bilibili.com/video/BV13a41187NM
报告题目:CMake和C++11的学习汇报
报告时间:20220323
报告人:王壹
隶属项目:学习汇报
内容简介:介绍在实习期间学习的关于CMake和C++11的相关知识。
幻灯片或资料链接:
https://github.com/plctlab/PLCT-Open-Reports/
报告题目:移动语义和QT的学习汇报
报告时间:20220330
报告人:王壹
隶属项目:学习汇报
内容简介:介绍在实习期间学习的关于移动语义和QT的相关知识。
幻灯片或资料链接:
https://github.com/plctlab/PLCT-Open-Reports/
报告题目:如何给火狐(Firefox)贡献代码
报告时间:20220406
报告人:Coelacanthus
隶属项目:Arch Linux 小队
内容简介:介绍如何给火狐(Firefox)贡献代码。
幻灯片或资料链接:
https://github.com/plctlab/PLCT-Open-Reports/
视频或专栏文章链接:
https://www.bilibili.com/video/BV1fY41177mf
报告题目:让编程语言爱上RISC-V:以Crystal为例
报告时间:20220406
报告人:Coelacanthus
隶属项目:Arch Linux 小队
内容简介:介绍如何将一门编程语言移植到 RISC-V。
幻灯片或资料链接:
https://github.com/plctlab/PLCT-Open-Reports/
视频或专栏文章链接:
https://www.bilibili.com/video/BV11F41137Xz
报告题目: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
报告题目:pkgconfig 的前世今生
报告时间:20220511
报告人:Coelacanthus
隶属项目:Arch Linux 小队
内容简介:pkgconfig 的来源、设计与使用
幻灯片或资料链接:
https://github.com/plctlab/PLCT-Open-Reports/
视频或专栏文章链接:
https://www.bilibili.com/video/BV1av4y1N7a4
报告题目:X11 与 Wayland:Linux GUI 的曲折发展史
报告时间:20220518
报告人:Coelacanthus
隶属项目:Arch Linux 小队
内容简介:介绍 Linux 上常见的两种图形系统 X11 和 Wayland 的历史,设计与优劣
幻灯片或资料链接:
https://github.com/plctlab/PLCT-Open-Reports/
视频或专栏文章链接:
https://www.bilibili.com/video/BV1sS4y187Vr
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 简易模型建立
报告题目:关于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
报告题目:RISC-V Vector寄存器图解
报告时间:20220608
报告人:孙少策
隶属项目:LLVM小队
内容简介:使用图解的方式,来介绍RVV寄存器相关的一些概念。
幻灯片或资料链接:
https://github.com/plctlab/PLCT-Open-Reports/20220608-RISC-V%20Vector寄存器图解-孙少策.pdf
视频或专栏文章链接:
https://www.bilibili.com/video/BV1UU4y1R7Ep
报告题目:RISC-V 指令集扩展检测机制现状
报告时间:20220706
报告人:郑鈜壬
隶属项目:Chisel 小组
内容简介:
- 从 misa/mconfigptr 到设备树到内核到用户空间的扩展检测机制介绍
- Zk 与 Zicsr/Zifencei 的案例分析
幻灯片或资料链接: