Skip to content

Latest commit

 

History

History
857 lines (582 loc) · 57.3 KB

open-internships.md

File metadata and controls

857 lines (582 loc) · 57.3 KB

甲辰计划开源实习生联合招聘及培养

We Love Interns 仓库演化介绍

本仓库目前主要包含甲辰计划开源实习生联合招聘计划的岗位信息,同时也包含了PLCT实验室的所有实习生招聘信息。本仓库(weloveinterns)2017年建立,一开始是创始人(lazyparser)为了吸引更多潜在实习生加入、同时为实习生提供成果展示的机会。后来随着团队的发展、剥离、合并,逐渐成为多个不同公司和研究团队、社会群体共享的实习生招聘信息和培训信息集散地。2019年PLCT实验室正式成立之后,逐步成为PLCT实验室的官方招聘页面;2024年甲辰计划开始之后,成为甲辰计划的招聘页面。这个项目的衍生下游,例如苦芽科技的 kuloveinterns,共同构成了实习生社区的一部分。

关于甲辰计划开源实习生联合培养

详细背景介绍请移步《甲辰计划主理人发起开源实习生联合招聘培养项目》。

2024年6月8日,甲辰计划主理人吴伟向甲辰计划成员单位发布【开源实习生联合招聘培养】新项目。这个项目的动机和出发点是「成员单位用最小的金钱和管理资源投入,完成对就自己企业有用的RISC-V生态建设目标的加速」,充分结合甲辰计划主理人在过去10年的大规模实习生培养经验,依托PLCT实验室在开源社区领域已经建立的工作积累,自甲辰龙年开始,每年开放超过2000名实习名额,并招募超过1000人次的学生参与实习。

关于PLCT实验室(PLCT Lab)

PLCT全称是程序语言与编译技术实验室,隶属于中国科学院软件研究所(ISCAS)智能软件研究中心(ISRC)。PLCT实验室致力于成为编译技术领域的开源领导者,推进工具链及运行时系统等软件基础设施的技术革新,具备主导开发和维护重要基础设施的技术及管理能力。与此同时,致力于培养一万名编译领域尖端人才,推动先进编译技术在国内的普及和发展。

PLCT全职员工的招聘可以从 PLCT-Weekly 仓库找到请注意自从 2023 年 6 月开始 PLCT 实验室开始经历创立以来的第一次大裁员,一直执行严格的财务收缩政策,目前全职入职的几率非常小。 如果你是即将毕业的应届生,欢迎按照下属方式投递简历,应届生也可以走实习生的招聘通道。但是录取率同样很低。

关于苦芽科技(含「赛博酸橙」小队)

苦芽科技是2023年6月PLCT实验室第一次大裁员之后成立的初创公司,联合创始人李威威是前PLCT实验室模拟器团队主管,联合创始人王俊强是PLCT实验室操作系统团队TARSIER团队主管(TARSIER团队已经于2023年6-8月解散)。苦芽科技的建立参见 苦芽成立通告

酸橙小队是另一组2023年6月PLCT实验室第一次大裁员之后被剥离的小队,在短暂的独立运营半年之后,于2024年4月并入苦芽科技作为子部门运营。酸橙小队同时是「RISC-V软件移植与优化锦标赛」的承办组织团队。

苦芽科技与PLCT实验室同根同源,在甲辰计划主理人发起开源实习生联合培养项目后即宣告加入,提供多个实习岗位和不少于200名实习名额用于开源贡献。

开源联合实习的合同签署说明

  • 首次签署实习合同为三个月,实习生随时可以加入和退出,实习证明以合同生效至实际退出之日为准。
  • 首次签署实习为开源远程实习。PLCT实验室是本次实习岗位的培养承担组织。
  • 实习期满之后实习生可以自由与甲辰计划成员企业协商续签,本实习对后续实习合同没有制约关系,实习形式与内容由用人单位和实习生双方自行协定。

开源联合实习的女性等少数群体STEM支持

  • 甲辰计划联合实习生提供至少 20% 岗位数量为女性工程师预留。PLCT实验室、苦芽科技为女性等少数群体预留 50% 名额。

如何正确的投递简历

在投递简历之前最好对我们有更多一点了解。以下是阅读材料:

  • 《极简项目管理》:git-repo公众号发表。吴伟撰写的目前PLCT实验室的管理方式,甲辰计划开源联合实习生的管理也遵循同样模式。请先阅读本书已熟悉风格和要求。
  • 《我们如何进行实习生招聘》:git-repo微信阅读
  • 《我们如何对实习生进行能力评定和培养》repo微信阅读
  • 《实习生存手册(烂尾版)》:git-repo 目前还在撰写中,随便看看。

阅读之后,接下来就可以发邮件了。以下内容请认真阅读。不符合条件邮件不会收到回复。

有意者请投递简历至: 吴老师 [email protected]

邮件标题请注明: 岗位编号 - 姓名 - 手机号码 - 学校

(兼职实习的伙伴可以用【兼职】取代【学校】)

邮件正文请: 进行跟应聘职位相关的自我介绍,不超过300字。

邮件必须附带简历。没有PDF格式简历的邮件不保证会收到回复

实习要求和注意事项

所有岗位都需要满足的:

  • 有强烈地上进心,希望自己能够变得更强、更好。
  • 并且能够积极而谦卑地与他人一起共事,及时的响应团队成员的消息。
  • 岗位默认都是远程实习,因此需要你具有比较好的自律能力。
  • 希望你能够有至少三个月的实习时间,并能够保证每周有一些连续的时间可以用来实习。

技术岗位(开发、测试、助教)需要满足的:

  • 技术岗位默认要求能力等级达到LV2及以上。参见:我们如何面试实习生我们如何给实习生评级
  • 熟练使用 Linux 命令行,并且能够写简单的 Bash 脚本。参考 linux技能表
  • 熟练使用 git 进行团队合作。参考 git技能列表
  • 知道如何描述 bugs/issues 以及礼貌地向其他人求助,做到尽量不浪费他人的时间,将复现 bug 需要的信息提供完整。
  • 加分:自学了 RISC-V 指令集,包括 RV32GC 和 RV64GC。在自己的电脑上部署运行起来QEMU-RISCV64以及Spike模拟器。
  • 加分:对于网络知识有基本了解并熟练使用,例如SSH任意端口登陆、Port Forwarding、反向链接、ProxyCommand 等配置自行掌握。

运营岗位需要满足的:

  • 喜欢跟人打交道。能够倾听。能够观察和共情到他人的情感和需求。主动沟通。
  • 对外界有强烈的好奇心。
  • 可选:能看懂简单的Python程序。参考 python技能表
  • 可选:最好是有GitHub账号,知道如何开新分支,提交PR。这个如果不知道可以看看GitHub官网的帮助,很详细。
  • 可选:具备网站制作、社区运营、公众号运营、社团组织、活动策划、美工设计等技能可以加分。

一些注意事项:

  • 需要注意开源社区都是个人出道,所有的行为都是公开的,要有一颗大心脏。
  • 实习有实习费。每个月底统计外部可见产出,跟mentor商量实习费金额。次月25日左右发放。劳务费每个月根据产出浮动,浮动区间 0k - 5k,正常产出一般是税前 2k-3k 之间。厉害的产出不受5k的限制,可以更高。
  • 实习双方随时都可以解除契约。实习生离职前需要跟mentor沟通下工作交接,并商议好最后一笔实习费发放(如果有产出的话)。

开放岗位列表

(Next Job ID: 132)

J131 libultrahdr RISC-V 开发实习生【甲辰计划联合实习生培养】

岗位介绍

libultrahdr 的 RISC-V 支持,以及 RVV 1.0 优化支持。

repo: https://github.com/google/libultrahdr

Android 14+ 引入和主推的带HDR效果的JPG格式图像支持,向后兼容JPG。Linux 里 imagemagick 系(包括主流桌面环境的图片编辑工具)已经有做支持,但需要这个库(这个库是Google的参考实现)。

工作内容

  • 基础适配代码实现、跟上游沟通合入、RISC-V Vector v1.0 支持。
  • 分析代码并进行技术分享,构建完善测试基础设施。
  • 相关衍生或关联的软件包的移植工作。

岗位要求

  • LV3+。该岗位的 mentor 没有 libultrahdr 实际贡献经验,因此我们要求实习生本身有很强的兴趣和自驱力。否则的话可能度过一无所成的三个月。
  • 说得过去的英文文字交流能力(可以借助 Google Translate 或 ChatGPT),能够在开源社区正常沟通。

甲辰计划联合培养

  • 首次签署实习合同为三个月,实习生随时可以加入和退出,实习证明以合同生效至实际退出之日为准。
  • 首次签署实习为开源远程实习。PLCT实验室是本次实习岗位的培养承担组织。
  • 实习期满之后实习生可以自由与甲辰计划成员企业协商续签,本实习对后续实习合同没有制约关系,实习形式与内容由用人单位和实习生双方自行协定。

J130 BL808 Rust支持库开发实习生【甲辰计划联合实习生培养】

岗位介绍

BL808是一款异构多核的RISC-V AIoT芯片,支持Wi-Fi 802.11b/g/n、Bluetooth 5和Zigbee;而RustSBI是开源的完整RISC-V安全引导固件解决方案。目前由RustSBI团队维护的BL808 Rust支持库同时支持嵌入式开发、固件引导程序和操作系统内核开发的功能。

支持库bouffalo-hal包含三个模块:硬件中间层hal、裸机运行环境rt和镜像融合工具blri。裸机Rust开发的常用管理方法和C语言不同,本项目中硬件中间层hal包含具有高级语言抽象和软约束的外设结构体,也包括MMIO格式的外设、寄存器和位域描述,它实现了Rust生态中embedded-hal标准的traits。裸机运行环境rt支持从ROM代码直接运行镜像,适用于嵌入式开发、RTOS开发和RustSBI等固件的裸机支持。blri工具用于生成ROM可识别的镜像头,它可融合不同编译目标的裸机程序,因此在异构芯片上的作用尤其重要。

BL系列的无线互联芯片往往具有WiFi、Bluetooth和其它无线连接外设,它们需要良好地与Rust生态现有的无线协议栈结合,来将Rust语言的软约束和安全特性应用到无线协议栈中。BL系列无线芯片的协议栈可以部分地使用Rust语言重写,来获得更好的安全特性,便于通过安全认证,并能够与Rust系统软件生态有机结合起来。

在支持库源码之外,开发者需要快速构建基于BL808等芯片的原型,且需要快速获取外设和型号等芯片细节信息。我们需要开发和维护一款基于LLM技术的Agent智能体,运用RAG、Prompt Engineering等相关技术,以交互界面的形式提供Bouffalo芯片信息和bouffalo-hal支持库示例,来为开发者和客户节省原型构建的时间。

目前,支持库以开源形式维护,已被RustSBI等社区深度使用,受到社区好评。我们仍然需要更多的开发力量,积极与Rust、RISC-V社区交流,丰富BL808 Rust芯片的生态和应用场景,通过为一款代表性的RISC-V物联网芯片提供完整的技术支持,来为RISC-V国际生态贡献力量。

工作内容

  1. 开发bouffalo-hal支持库,在熟悉、了解BL808等BL系列芯片外设的基础上,为bouffalo-hal项目丰富功能。调研和适配运用于BL芯片的RustSBI实现(如RustSBI Prototyper)。
  2. 调研Rust生态无线协议栈和辅助软件包,完善BL808的无线互联软件生态。
  3. 开发和维护提供BL808等芯片原型设计、信息查询等功能的LLM Agent。
  4. 为bouffalo-hal、bouffalo-rt和BL808无线软件编写测试用例,完善项目的集成测试功能。使用用于BL芯片的RustSBI实现引导不同的操作系统和发行版,解决兼容性问题。
  5. 完成BL808 Rust有关的开源社区日常维护工作;若有能力,积极与有关研究界和产业界生态成员联系,积极举办技术分享等有关开源活动。

岗位要求

  • 能力等级LV2及以上。
  • 熟悉RISC-V指令集架构和Rust编程语言,有裸机应用(rCore、Asterinas等Rust操作系统、Rust for Linux、嵌入式Rust和RustSBI等引导程序和固件)开发经验优先,有RISC-V操作系统发行版适配经验优先。
  • 熟悉嵌入式开发常见的UART、SPI等基础外设,能够使用逻辑分析设备,或具有控制屏幕、SD卡和闪存等板级外设的经验优先;具有PSRAM调试经验优先。
  • (可选)具有无线协议栈软件开发经验,了解常见物联网无线协议的分层,具有提取和更换协议栈软件部分模块的能力。
  • (可选)熟练掌握常见 Prompt Engineering算法、主流RAG算法及框架,LLM Agent的构建方法及工具,能够维护开源LLM应用,或能够为LLM Agent开发Web前端界面。
  • 拥有对应的开发设备,如具有BL808芯片的开发板等。RustSBI团队可提供开发所需的BL808开发板。

J129 RISC-V开发板软件生态联合观测实习生【甲辰计划联合实习生培养】

岗位介绍

作为甲辰计划的成员单位,PLCT实验室在RuyiSDK工程的范畴内发起了一个名为「RISC-V 操作系统支持矩阵」的观测工程。这个观测的目标是测试和验证每一款 RISC-V 开发板可以跑哪些操作系统和软件,以及每一款软件可以支持哪些 RISC-V 指令集扩展集合、从哪个版本开始支持、现状如何。

随着 RISC-V 开发板的快速增多,现有测试小队员工的精力不再能够快速覆盖所有的测试点。而这项工作的技术门槛并不高,需要耐心和细心,适合对 RISC-V 硬件和软件有兴趣的同学们快速参与进来。

甲辰联合招聘

本岗位属于甲辰计划联合实习生培养项目,目前计划每个开发板提供 2-3 名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。

截止 20240719 支持该岗位的甲辰计划成员有:

  • PLCT实验室
  • 苦芽科技(Kubuds)
  • 进迭时空
  • 矽速科技(Sipeed)
  • 群芯闪耀(Milk-V)
  • 迅龙软件
  • 英麒智能
  • 算能

工作内容

工作默认在具体的某一款或多款 RISC-V 设备上进行。需要实习同学自行准备 RISC-V 设备(可以通过甲辰计划 「RISC-V 开发板随缘漂流计划」 免费申请)。

  • 测试(特定) RISC-V 开发板等设备的操作系统、应用软件、工具链和运行时系统的可用性、稳定性与性能。
  • 提交测试报告,编写相关文档。同时,鼓励自己动手修复找到的缺陷。
  • 相关文档的 i18n / 国际化工作。
  • 参与技术分享、交流。

能力要求

  • LV2 或“一生一芯”学习经历证明。
  • 自己刷过 RISC-V Linux 发行版或 RT-Thread 等 RTOS。
  • 对 RISC-V 技术有好奇心。

J128 Deepin 操作系统开发实习生(RISC-V架构)【甲辰计划联合实习生培养】

岗位介绍:

Deepin 是国内非常受欢迎的 Linux 发行版,但是必须要承认目前 RISC-V 架构上的支持是落后于 RISC-V 操作系统第一梯队的。目前还是 preview 版本,群芯闪耀、算能等厂商热情地欢迎 Deepin RISC-V 的更新并愿意提供构建和测试设备,就差能干活的实习生了!

随着 Deepin 正式加入甲辰计划,一位 Deepin 社区老人勇敢的站了出来。我们非常欣慰地看到苦芽科技赛博酸橙团队负责人李程先生将作为 J128 实习岗位的首席导师(Principle Mentor),负责协调 ≥100 名实习生的工作内容,并负责 mentor 的招募和岗前培训。Revy 等另外几位 Deepin 社区熟人会作为 mentor 进行双向选择和指导。甲辰计划欢迎更多的社区贡献者加入进来指导新人。

本岗位属于甲辰计划联合实习生培养项目,目前计划提供超过100名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。

截止 20240620 提供 J128 岗位信息的甲辰计划成员组织有:

  • 苦芽科技 80
  • PLCT实验室 20
  • 另有5-6家公司需要等待内部hc审批确认之后追加发放。

工作内容

  1. 测试验证 Deepin RISC-V,确认现状,进行 gap 分析。
  2. 巩固和扩展 Deepin RISC-V 所需的基础架构和自动化构建测试环境。
  3. 打包修包,让开发者日常使用的各种软件(Eclipse、VSCode、Firefox、Chromium、Thunderbird 等)丝滑运行在 Deepin RISC-V 上。
  4. 支持目前市面上所有 RISC-V SBC 及更高算力设备,包括 Pioneer Box、 MUSE Book、 Lichee Book、 VisionFive 2 等。
  5. 有社交能力的同学还可以参与高校联系,建立 RISC-V 社区、组织技术沙龙。

岗位要求

  • 对 Deepin 社区热爱。
  • 所有实习生在入职之前,就应该自行尝试过运行 Deepin RISC-V,自行完成 RISC-V 环境的配置。
  • 需要LV2级以上。
  • 研究生、本科或大专在读(国内高校默认要求学信网可以查到在读状态、国外高校需要具有体现本人姓名和预期毕业时间的身份卡片或类似证明)。
  • 远程实习的同学需要自备至少一款 RISC-V SBC 或更高算力设备;本岗位同时在武汉开放部分工位,感兴趣的同学请在后续联系首席导师进一步了解。

J127 香山笔记本电脑研发实习生(嵌入式基础软件开发方向)【甲辰计划联合实习生培养】

岗位介绍:

中国科学院软件研究所有一个实验性项目是使用香山芯片制造笔记本电脑在内的一系列设备。PLCT实验室承担了使用香山南湖芯片试制笔电的任务,与深圳群芯闪耀(Milk-V)公司建立项目合作,并荣幸邀请到RISC-V大使傅炜先生作为常驻指导老师。

这份岗位是【嵌入式底层软件开发实习】,由于涉及到大量试验设备,需要坐班,坐班地点在深圳市宝安区西乡Milk-V办公室。

工作内容

  • 负责 RISC-V 平台 U-boot、Linux Kernel、Buildroot的移植裁剪和定制。
  • 参与 RISC-V 平台 Linux 底层外设驱动的开发及调试。
  • 负责软件相关文档的编写。
  • 与团队成员合作,解决技术问题,确保项目按时交付。

岗位要求

  • 需要 LV3 级以上。需要计算机、电子信息、通信或者自动化相关专业或自学了相关知识。
  • 研究生、本科或大专在读(国内高校默认要求学信网可以查到在读状态、国外高校需要具有体现本人姓名和预期毕业时间的身份卡片或类似证明)。
  • C语言和 Shell Scripting 要非常溜。
  • 熟悉 Linux 下常用的调试技术。
  • 玩过 Linux 内核外设驱动调试,熟悉 I2C、SPI、UART 等常用硬件接口。
  • 有 Ubuntu、Debian、Buildroot 或 Yocto 开发经验者优先.
  • 有 RISC-V 相关平台的开发经验者优先。
  • 具备良好的沟通能力,能够与多个团队成员进行有效的协作

本岗位属于甲辰计划联合实习生培养项目,目前计划提供多名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。

截止 202406019 提供本岗位信息的甲辰计划成员组织有:

  • 群芯闪耀(Milk-V) 2
  • PLCT实验室 2

J126 openKylin 开发实习生【甲辰计划联合实习生培养】

岗位介绍:

openKylin 社区是目前加入甲辰计划的、唯一的 Linux 发行版社区,在 RISC-V 生态系统领域有着长期深入的投入。近日,甲辰计划(由苦芽科技牵头)发起 J126 岗位,进一步推送国内外知名操作系统对 RISC-V 的支持。苦芽科技在2024年将在 openKylin 社区中聚焦于以下几项工作:

  • openKylin 在机器人软件系统(ROS)领域的适配与应用支持。
  • openKylin 在搭载 SG2380、SG2042 等高性能 RISC-V 处理器的桌面计算机上的软件性能及稳定性优化。openKylin 已经有了很好的适配基础,该项工作主要聚焦于 JIT 优化。
  • 尝试使用 Clang/LLVM 工具链构建 openKylin 所有核心组件。
  • 在合肥、上海、南京、武汉、深圳等五个以上城市组织 openKylin 社区活动,吸引超过 1000 人参加活动并招募超过不少于20名加入 openKylin 社区实习。

本岗位属于甲辰计划联合实习生培养项目,目前计划提供多名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。

截止 202406015 提供 J126 岗位信息的甲辰计划成员组织有:

  • 苦芽科技 20
  • 英麒智能 5
  • 群芯闪耀(Milk-V) 5

英麒智能位于南京市麒麟人工智能产业园,致力于人工智能、大模型、智能传感与感知、智能边缘计算、RISC-V 开源指令集架构研发等领域,为多领域提供先进技术解决方案,打造领先的边缘计算平台。在边缘计算加速领域,英麒智能基于开源指令集、创新敏捷设计,力争构建优化的 DSA 设计流程,实现设计优化自动化,提高鲁棒性,减少迭代循环时间,使能芯片快速上市。引领经济、绿色、高性能的开放边缘计算的革新。

深圳市群芯闪耀科技有限公司(Milk-V)致力于为开发者、企业和消费者提供高质量的 RISC-V 软硬件解决方案,并以推动 RISC-V 硬件和软件生态系统的发展为己任。群芯闪耀科技坚定地支持开源事业,并希望通过自身和社区的努力,使得 RISC-V 产品能如银河中的星星般繁多和璀璨。了解更多信息,请访问 https://milkv.io/。

苦芽科技一直深耕 RISC-V 软件生态,在甲辰计划发起伊始就已加入,与甲辰计划多家成员企业建立了长期业务合作,并积极回馈推动开源社区建设。

工作内容

  • openKylin 在机器人软件系统(ROS)领域的适配与应用支持。苦芽科技将会指定有操作系统和机器人经验的工程师长期在 openKylin 社区担任实习生导师。
  • openKylin 在搭载 SG2380、SG2042 等高性能 RISC-V 处理器的桌面计算机上的软件性能及稳定性优化。openKylin 已经有了很好的适配基础,该项工作主要聚焦于 JIT 优化。
  • 尝试使用 Clang/LLVM 工具链构建 openKylin 所有核心组件。

岗位要求

  • 需要 LV2 级以上。
  • 研究生、本科或大专在读(国内高校默认要求学信网可以查到在读状态、国外高校需要具有体现本人姓名和预期毕业时间的身份卡片或类似证明)。

J123 AI编译器开发(TPU-MLIR方向)实习生【甲辰计划联合实习生培养】

岗位介绍:

TPU-MLIR 项目官网[1] 介绍:

是算能深度学处理器的TPU编译器工程。该工程提供了一套完整的工具链,其可以将不同框架下预训练的神经网络,转化为可以在算能TPU上高效运算的二进制文件bmodel。

MLIR 是目前非常火热的 AI 编译器构建框架。 TPU 是算能用于AI推理的加速器。 算能即将在2024年下半年推出的 SG2380 是一款很受甲辰计划主理人期待的 RISC-V 芯片,很有机会用于桌面、笔记本、构建服务器领域。同时包含 32TOPS 的 TPU 算力,将会使 AI 软件栈的需求更为强烈。

TPU-MLIR 是算能开源的一套基于 MLIR 的前端库。J123 岗位的最大野心是重构 TPU-MLIR 并从头重新实现出来完全开源的 TPU 软件栈。

本岗位属于甲辰计划联合实习生培养项目,目前计划提供多名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。

截止 202406018 提供本岗位信息的甲辰计划成员组织有:

  • PLCT实验室 10
  • 苦芽科技 20
  • 算能 无数量限制

[1] https://github.com/sophgo/tpu-mlir/

工作内容

  • 分析现有 tpu-mlir 代码,修复 bugs, 补充文档, 进行技术分享, 制定重构计划。
  • 利用逐步公开的 TPU 资料从头重写一套底层实现。
  • 尝试桥接 Buddy Compiler 与 TPU。
  • 尝试桥接 Mojo 与 TPU。

岗位要求

  • 需要 LV3 级以上。
  • 研究生、本科或大专在读(国内高校默认要求学信网可以查到在读状态、国外高校需要具有体现本人姓名和预期毕业时间的身份卡片或类似证明)。

J122 ROS机器人开发实习生(RISC-V架构)【甲辰计划联合实习生培养】

岗位介绍:

RISC-V 已经开始进入机器人领域,基于 RISC-V 主控芯片的 ROS 小车已经堂堂出现,默认运行 openEuler RISC-V 系统。ROS开发实习的岗位目标是维护好 openEuler 24.03 LTS 及其后续版本中 ROS 相关的包的升级维护以及在 RISC-V 架构上的优化。报名的同学会先按照PLCT实验室的面试流程进行LV2能力测试,通过之后默认会进入 openEuler ROS SIG 完成 6-12 周的修包、测试、文档、技术报告总结,适应了开发节奏之后进入特定算法的RISC-V优化任务中。

本岗位属于甲辰计划联合实习生培养项目,目前计划提供超过120名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。

截止 20240608 提供 J122 岗位信息的甲辰计划成员组织有:

  • PLCT实验室 50
  • 苦芽科技 50
  • 英麒智能 10-20
  • 群芯闪耀(Milk-V) 10-20
  • 另有5-6家公司需要等待内部hc审批确认之后追加发放。

工作内容

所有实习生在刚进入的前两周需要在指导下完成 openEuler RISC-V ROS 环境的配置和测试工作用于完成自我能力证明,并确认是否真的感兴趣。所有实习岗位要求学生具备自学和实践动手能力。

完成基本培训之后,有以下内容可以与 mentor 进行协商细分

  1. 测试分析ROS性能,寻找瓶颈 (较高难度,需要复习通信和操作系统等专业知识)
  2. 扩展更多功能包 (ROS专业,体系架构联系较弱,需要Coding能力)
  3. 对 RISC-V支持(RISCV+ROS)
  4. 深入分析ROS源码并给出分析报告和技术分享(要求有出道需要的厚脸皮和大心脏)
  5. AI算法扩展与优化(AI相关算法在 RISC-V 设备上的优化;AI相关算法在 TPU/NPU/GPU 上的优化)
  6. openEuler ROS 真机测试(由群芯闪耀提供 Milk-V ROS 小车,基于玄铁 TH1520 主控)

导师(mentor)及社区(communities)

  • openEuler ROS SIG Maintainer、中国科学院软件研究所王晓云工程师将作为 J122 实习岗位的首席导师(Principle Mentor),负责协调120名ROS实习生的工作内容,并负责mentor的招募和岗前培训。吴伟等另外几位 ROS SIG Maintainers 会作为 mentor 进行双向选择和指导。甲辰计划欢迎更多的社区贡献者加入进来指导新人。
  • 苦芽科技社区运营顾问章翔先生会负责社区建设及线下活动组织。每个月在不同城市会进行 ROS Meetup。详细内容欢迎订阅甲辰计划微信公众号(jiachenjihua)
  • OS社区会在甲辰计划范围内扩展。 openKylin 作为甲辰计划成员组织,将会在后续获得来自苦芽科技的实习名额支持。
  • RISC-V硬件会在甲辰计划范围内扩展。欢迎甲辰计划成员单位联系甲辰计划主理人进行实习工作机会、ROS运行系统、RISC-V支持硬件等方面的沟通。

岗位要求

  • 需要LV2级以上。由于 RISC-V ROS 抽象层级多、与物理世界交互,需要尤其具有耐心。
  • 研究生、本科或大专在读(国内高校默认要求学信网可以查到在读状态、国外高校需要具有体现本人姓名和预期毕业时间的身份卡片或类似证明)。
  • 工作内容中部分要求实际操作机器人硬件设备,有可能需要按需去实验区域操作,此类工作优先选择北京、深圳、南京、杭州、上海、武汉六个城市的学生。

P121 RISC-V 测试实习生(朱旭昌小队,Sail/ACT 测试方向) 【20240527 开放 2 名】

工作内容:

  • 参与PLCT实验室在RISCV-Sail模型和ACT(riscv-arch-test)等相关开源项目(包括riscof/riscv-isac/riscv-ctg等)的测试。在开源社区内进行ISSUE和PR的提交与反馈。

岗位要求:

  • 能力等级:LV2 及以上
  • 对 RISC-V 指令集有一定的了解,掌握RV32I拓展指令的知识。
  • 了解ACT测试及对应测试框架,能本地跑通一次ACT测试。
  • 有一定英语水平,能够在国际开源社区流畅与外国人交流。
  • Bonus1:对sail整个项目有一定了解,了解sail的前后端及其编译过程。
  • Bonus2:对计算机组成原理以及对应的模拟器的实现有所了解。
  • Bonus3:有过ocaml语言编写历史或者C语言能力出众。

P120 RISC-V 测试实习生(郑景坤小队,RuyiSDK 支持矩阵)【20240527 开放 5 名】

PLCT 实验室新成立了丁丑小队,主要负责 RuyiSDK 支持矩阵,涵盖了对主流 RISC-V 开发板的主流操作系统的支持情况,作为一站式入口提供在 RuyiSDK 官网首页,方便用户迅速查找自己手上的开发板能用什么操作系统、怎么使用,快速上手。目标是覆盖市面上所有 RISC-V 开发板。

目前进行中/已完成的工作可查看 ruyisdk/support-matrix 仓库。

工作内容:

  • 测试(所有)目前在售 RISC-V 设备的操作系统可用性。
  • 测试常用软件、工具链等在 RISC-V 设备上的可用性、稳定性与性能。
  • 提交测试报告,编写相关文档。
  • 相关文档的 i18n / 国际化工作。

岗位要求:

  • 能力等级:LV2+
  • 大学英语四级/六级或同等水平,能够在即时通讯软件、国际开源社区流畅与外国人交流的程度,能够做简单的技术文档翻译工作。
  • 使用过至少一种 Linux 发行版,能够独立看着官方文档进行配置以自己日常使用需求的程度。
  • 微信等即时通讯软件响应速度快。尤其是工作日。
  • 做事细心、有耐心。有良好的沟通表达能力。
  • Bonus: 使用/调试过至少一款开发板,当然,如果是 RISC-V 开发板更好。
  • Bonus²: 有和社区对线(非暴力沟通)的经验。

P119 RISC-V 测试实习生(蔡玮霖小队,RuyiSDK 测试方向) 【20240527 开放 2 名】

原第三测试小队。现主要负责 RuyiSDK 测试方向,包括 Ruyi 包管理器的测试和 Ruyi IDE 的测试; Ruyi 包管理器的打包。

总目标:

  • 测试目标:设计一套完善的系统测试流程,主要应用过程驱动测试和数据驱动测试。
  • 打包目标:让 Debian/Ubuntu/Fedora/openEuler/Archlinux/Gentoo 使用各自的包管理器方便地安装和升级 Ruyi 包管理器。

工作内容:

写代码和做调研,产出物通常为代码、文档、 PPT。

  • 测试用例开发。主要应用 ruyi-mugenopenQA,了解 RuyiSDK 的测试目标,知道测试的目的是什么,改进测试用例、策略和流程。
  • 测试框架调研。吸收新的测试框架或框架设计思想,以改进现有的测试流程,比如 lit
  • 测试框架开发。测试使用的 ruyi-mugen 实际应用中很难提升测试覆盖率,设计新的测试框架在提升覆盖率的同时兼顾复杂的过程测试。

岗位要求:

  • LV2 及以上。在没有外界支援的情况下使用 Bash、 Python 两种程序语言完成开发工作,在使用其他语言开发时提供 Python 接口。
  • 能够理解英文文档。没有硬性等级要求,但是要有这样的能力。
  • 在 Linux 上工作程度的能力。能够使用单 Linux/MacOS 工作,能够以远程连接的方式在 Linux 主机/容器上工作,要熟悉常见的国内外 Linux 发行版。
  • 知道什么是测试。了解软件测试的方法论,理解自动化测试的脚本生成,知道过程驱动测试、数据驱动测试、关键字驱动测试,能够在有限的算力下实现更高的测试效益。
  • 了解软件包打包。能够为 Debian/Fedora 打出可用的软件包。
  • 步调一致。微信(或其他通讯方式)响应速度快、自驱力强,有及时进行信息同步的意识。

P118 RISC-V 测试实习生(张馥媛小队,短视频教学普及方向) 【20240523 开放 2 名】

岗位介绍:对RISC-V有兴趣?平时爱刷短视频?这里有个实习岗位很适合你~ get新技能,熟练之后,尝试变成可以传授这个技能的专家吧!把你学会的RISC-V知识做成短视频~

工作内容:

  • 调研RISC-V教学内容,形成调研报告。
  • 学习RISC-V知识,测试复现已有的教学视频并编写教学短视频脚本。
  • 录制/拍摄教学视频及后期剪辑。
  • 协助mentor处理运营相关事务。

岗位要求:

  • LV2 及以上。
  • 爱刷短视频,了解流行元素。
  • 有制作教学视频或技术分享类视频的经验。
  • 自学了 RISC-V 指令集。在自己的电脑上部署运行起来QEMU-RISCV64。
  • 微信响应速度快、自驱力强、良好的沟通和表达能力。

P117 Linux Kernel RISC-V 开发实习生 (20240510 开放 10 名)

工作内容:

  • 写代码,帮助国内 RISC-V 厂商的 IP/SoC 代码进入 Linux Kernel 主线。
  • 帮助维护由PLCT实验室托管维护的 Linux Kernel codebase(目前主要是 6.6 版本长期维护)。
  • 写文档、做技术分享和讨论。
  • 参与英文会议,跟全球社区开发者 battle & review。
  • 根据自己的兴趣参与本地或同城高校的 RISC-V 技术交流推广活动。

岗位要求:

  • LV3 及以上。
  • 玩过 kernel 代码,熟练 debugging。喜欢写 Kernel 代码。
  • 微信响应速度快、自驱力强。

额外说明事项:

  • 实习劳务费每个月根据产出浮动,浮动区间 0k - 5k,大多数学生正常产出一般是税前 2k-3k 之间。不算高。 完成(merge)有点厉害的 upstream 任务则另外以 5k 为单位叠加

BJ116 Gold Linker RISC-V 移植实习生(20240427 开放1名)

任务描述

让 Gold Linker 支持 RISC-V,并且持续优化和维护。

能力要求

LV3 以上。需要完成下手任务的前4步才能投简历。

学习步骤和工作步骤

Linker的移植从简单到复杂,先支持静态链接(static linking),再支持动态链 接(dynamic linking)。

  1. 确保手头有最新的: ELF格式手册: https://refspecs.linuxbase.org/elf/elf.pdf RISC-V ISA手册: https://riscv.org/technical/specifications/ RISC-V ABI手册: https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md GNU Binutils源代码: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git

  2. 阅读ELF格式手册和 RISC-V ABI 手册,Relocation 相关的部分着重(一周)

  3. 编写一个简单的 ELF parser,能parse最简单的 helloworld.o,尤其是 .rel/.rela 段,需要跟 readelf -Wr 输出一致(一周)

  4. 结合RISC-V ISA系统性的汇报RISC-V带立即数编码的指令和关联的relocation类型 (一周)【完成这一步就可以发简历了】

  5. 开始在GOLD linker实做RISC-V静态链接支持(3-5周): A. 添加RISC-V dummy框架,确保能编译出后端 B. 添加基本的静态链接需要的hook,确保能出发相关的代码 C. 添加h elloworld 静态链接重定位支持

  6. 系统性的学习动态链接的知识,汇报GOT/PLT表机制原理(一周)

  7. 调研 RISC-V GOT/PLT 表结构并汇报(一周)

  8. 在 GOLD linker 实作RISC-V动态链接支持(两周 ~ 四周)

  9. 系统性的学习TLS(thread local storage)相关知识(一周)

  10. 在 GOLD linker 实作 TLS optimization (一周 ~ 两周)

  11. IFUNC支持(两周)

全程三个月 ~ 六个月。计划明年6/7月upstream。对参与者来说是难得的机会。

BJ115 openEuler RISC-V 操作系统开发实习生(OERV团队) 【20240501 开放名额:20】

岗位介绍:

参与 openEuler 官方 risc-v sig 的维护工作,探索 RISC-V 操作系统领域前沿技术,建设和推广 openEuler RISC-V 生态。

请注意自2024年3月开始,OERV团队完成孵化,成为与PLCT实验室平级的团队。上机考试和面试等由OERV团队负责人王经纬老师主导。

实习内容:

  • 跟踪 openEuler 在 RISC-V 架构的软件包构建情况并进行修复
  • 参与以 llvm 构建发行版的「LLVM 平行宇宙计划」的软件包构建情况、进行尝试性修复与提交
  • 协助 maintainer 调研并解决 oerv 系统 issue
  • 构建并丰富openEuler软件生态,参加社区 SIG 组开源运作
  • 调研分析操作系统领域最新动向和前沿技术,结合产品场景应用落地
  • 根据自己的兴趣参与本地或同城高校的 RISC-V 技术交流推广活动

岗位要求:

  • 基础能力 Lv2 及以上。
  • 对 RISC-V 指令集有一定了解,对 RISC-V 生态建设感兴趣。
  • 对 linux 发行版有一定使用经验,尝试或使用过包括但不限于 openEuler/archlinux/fedora/Debian 等发行版的 RISC-V 镜像。
  • 掌握中文普通话、英文[通常要求 CET4/6 通过]。
  • 微信响应速度快,每周7天中至少能够有3天、工作时间有至少连续3个小时在线一起工作。

BJ110 LLVM Flang 开发实习生 (20240720 开放 20 名)

岗位介绍:

Flang 是 LLVM 的 Fortran 语言前端,处于积极开发之中。Flang 当前存在很多问题有待修复,也有一些功能尚未实现。

已经确认有待修复的问题可以参见:

计划中、尚未实现的功能可以参见:

实习内容:

  • 参与 Flang 已知问题的修复,并将工作提交到上游
  • 参与 Flang 尚未实现功能的开发,并将工作提交到上游
  • 利用 gfortran 测试集等对 Flang 进行测试,针对失败用例进行修复或整理提交 issue 到上游

岗位要求:

  1. 基础能力 LV2 及以上,熟练使用脚本语言,shell/python 等。
  2. 熟悉 LLVM 编译器,了解 Fortran 语言。
  3. 可以流畅书写和阅读英文。
  4. 有 LLVM/MLIR 相关开发经验者优先。

OC109 QtRVSim 开发实习生 (20240211 开放 2 名)

岗位介绍:

https://github.com/cvut/qtrvsim 添砖加瓦。PLCT实验室与该开源项目作者建立了初步的合作联系。

实习内容:

注意部分内容有可能已经完成了,请务必在开始之前联系PLCT实验室进行沟通。

TL;DR of the topics (in random order):

  • finish porting more complex unit tests and extend them
  • compressed ISA support
  • 64bit ISA support in gui (it is hard to fit it there)
  • DWARF location display (when C code is simulated)
  • declarative specification of (at least simple) pseudoinstructions (for both encoding and decoding). Right now, it is a special case for compilation only.
  • detail view of instruction encoding
  • recording of pipeline utilization with visualization like this (https://image.slidesharecdn.com/chapter4theprocessor-100520050519-phpapp01/95/chapter-4-the-processor-55-728.jpg?cb=1274344463)
  • time travel debugging ("step back" ability, probably for basic components only, not memory, peripherals...)

岗位要求:

  1. LV3及以上。
  2. 熟练英文文字交流。
  3. 懂得礼貌友好的进行英文社区沟通。

BJ108 RISC-V 测试实习生(北京坐班) (20240211 开放 10 名)

岗位介绍:

中国科学院软件研究所PLCT团队开发和维护着包括 openEuler RISC-V 在内的多个 Linux 发行版。为了保证 RISC-V 平台用户的使用体验,在操作系统的自动化测试之外,需要大量的进行物理设备上的测试验证。本岗位的工作内容是借助于 ISCAS RISC-V Lab 中丰富的 RISC-V 开发板和计算机,对包括 openEuler、 RevyOS、 RT-Thread 在内的多种操作系统进行实际的安装、使用、测试,并验证浏览器、办公软件等常用软件在 RISC-V 上的运行稳定性。

实习内容:

  1. 根据测试要求,将 openEuler 等多款操作系统安装在 Pioneer Box、 LicheePi 4A 等 RISC-V 设备上,并测试功能可用性、稳定性、性能。
  2. 评审和修改完善相关的技术文档。
  3. 参与测试用例的撰写,包括手工测试用例和自动化测试脚本等。
  4. 参与技术分享,包括中文和英文会议的发言等。
  5. 工作突出的同学有机会代表测试小队在各类 RISC-V 会议上进行演讲。

岗位要求和说明:

  1. 需要达到 LV2 能力等级,并且没有在软件所实习过。
  2. 做事细心不浮躁,写文档有耐心。
  3. 在投递简历之前,需要已经自学过 RISC-V 是什么,并且能够在 Linux 环境下的 QEMU 上跑起来 openEuler RISC-V。
  4. 要求北京学校在校大学生,可以来软件所北京本部坐班,工作日每周至少2天。实习生费用按照出勤天数(100元/天)+外部可见产出(可变)叠加的方式。
  5. 注意不提供住宿和任何补助,北京以外其他城市同学可以看看其他岗位信息,基本都是可以远程的。

BJ107 DynamoRIO RISC-V 移植开发实习生(20240720开放 3 人)

岗位介绍:

DynamoRIO 是一个运行时的二进制动态插桩系统,广泛地用于程序的分析、模拟、优化以及性能评估等等。目前 DynamoRIO 的核心模块已经支持 RISC-V,但仍有大量工作需要推进。

实习内容:

和 mentor 一起参与 DynamoRIO for RISC-V 的开发,并将自己的工作直接提交到上游。

岗位要求:

  1. 基础能力 Lv2 及以上;
  2. 对 RISC-V 指令集有一定了解;
  3. 可以流畅书写和阅读英文;
  4. 投递简历之前,我们希望你已经了解并尝试使用过 DynamoRIO。

BJ88 RISC-V SAIL 开发实习生 (20240101 开放 10 名)

工作内容:

  • 参与PLCT实验室在SAIL等相关开源项目的开发。在开源社区直接提交代码。

入职要求:

  • LV3+,对RISC-V形式化模型的内部实现有兴趣。
  • 远程实习,不需要坐班。

BJ74 编译器性能评测实习生 (20241002 开放2名)

岗位名称: 编译器性能评测实习生

mentor: 廖春玉 等。

工作内容: 搜集开源 benchmarks,用 GCC 和 LLVM 分别编译 benchmark,对比 benchmark 的性能数据。具体:

  • 需要使用 GCC 和 Clang 编译 benchmark,对比 benchmark 的指令数和 codesize 等指标。
  • 每日用 Clang 编译 benchmark,完善CI;分析自动化脚本的输出,如果指令数和 codesize 比前一天的有所增加提示具体 benchmark 的信息,并保留 log 和 Clang 的 commit IDs.
  • 根据需要配置不同版本和配置的本地工具链,随时手动复现结果并进行汇编或 trace 级别的分析。

报名要求:

  1. LV3及以上;熟练使用脚本语言,shell/python 等。
  2. 熟悉 GCC 和 LLVM 编译器。 能够成功编译并读懂测试集输出的数据。(例如 [email protected]:llvm/llvm-test-suite.git )
  3. 了解 benchmark 的方法学,熟悉创建测试集,比如 spec cpu 2006, coremark 等。
  4. 熟练使用 llvm-test-suite,对其实现过外部 benchmark 扩展功能支持的优先。

BJ73 SystemVerilog编译器工程师(slang to mlir), (进行中,名额 1)

(NOTE: 这是由兆松科技提供外部mentor支持的联合培养实习岗位)

注意:申请者至少需要保证每周投入到项目的时间不少于20小时,不少于半年的连续投入。

职位描述:

  • 评估CIRCT框架当中Moore dialect等方言的设计,以及对SystemVerilog的支持情况。
  • 基于开源SystemVerilog编译器slang的前端,设计可以生成CIRCT项目当中Moore dialect(或者自定义dialect)的编译器前端。
  • 参考CIRCT Moore编译器(rust)的实现,在slang编译器当中实现Moore dialect(或者自定义dialect)的代码生成。

任职要求:

  • 扎实的数据结构基础知识,熟练掌握C++,熟练使用C++ STL,最好了解STL实现原理。
  • 熟练使用Linux,会编写shell脚本。
  • 学习过数字电路,以及最好有编译原理基础知识。
  • 足够自信的英语阅读和书写能力,需要和上游无障碍沟通。
  • 有LLVM/CIRCT/MLIR开发经验者优先考虑。
  • LV3+ 及以上能力等级。

参考信息:

BJ72 eunomia-bpf intern (20240101 开放 2 名)

(本岗位为外部社区联合贡献岗位,mentor来自 eunomia-bpf 社区。)

eunomia-bpf 社区是一个致力于探索、改进、扩展 eBPF 相关开发工具链和运行时的开源社区,我们维护了一系列的开源项目、文档教程,并且积极探索将 eBPF 从内核态扩展到用户态、简化 eBPF 的开发和移植、发布流程、使用 LLM 自动生成 eBPF 代码、将 Wasm 和 eBPF 结合起来等等相关解决方案。希望我们能有机会一起扩展整个 eBPF 生态的边界,并且做出能持续长久、有影响力的开源项目。

工作内容:

  1. 维护 eunomia-bpf 社区中的项目,并积极向内核和相关上游社区贡献代码
  2. 追踪 eBPF 相关领域的研究和工程实践,了解、响应社区开发者的需求,以及给出让人耳目一新的解决方案
  3. 向 PLCT 内部和全世界输出文档、教程、演讲和论文,分享和扩大我们的工作影响力,普及 eBPF 相关知识和实践(比如我们之前在 Kubecon 和 Linux Plumbers 等等的 Talk)

岗位要求:

  1. LV2+ (如果你自我评级 LV2 的话,可以先从文档和测试工作做起?)
  2. 在投递岗位之前学习过 eBPF,如果没接触过的话,这里有个关于如何学习 eBPF 的小建议:https://eunomia.dev/zh/tutorials/0-introduce/ (花个两三天看看也好?)
  3. 学习过 C/C++ 和操作系统相关知识
  4. 希望能在以下任何一个方向有一些了解或背景:eBPF 的内核实现本身,LLVM/编译工具链与运行时,WebAssembly,二进制插桩与反编译,LLM/langchain/GPT,可观测性和性能分析,可编程网络(没有也没关系,如果你愿意并且有能力现学的话?)
  5. 英文阅读能力和解决、调试复杂问题的能力

BJ71 RT-Thread 社区实习生 (20241002 开放 15 名)

RT-Thread诞生于2006年,是一款以开源、中立、社区化发展起来的物联网操作系统。 RT-Thread主要采用 C 语言编写,浅显易懂,且具有方便移植的特性(可快速移植到多种主流 MCU 及模组芯片上)。RT-Thread社区是一个开放、开源的社区。RT-Thread拥有非常丰富的软件包,基于这些软件包可以快速构建产品原型。并且拥有较好的POSIX接口支持,可方便的移植Linux应用。为了更好的服务蓬勃发展的RISC-V生态,我们期望可以将RT-Thread已有的软件生态都很好的对接到RISC-V平台上。同时,RT-Thread Smart微内核系统支持用户态应用程序,rootfs等的构建程序,后面也会积极推进Smart for riscv 版本,也欢迎大家积极参与进来!

RT-Thread相关的工作可以分为三类:A类(MCU)、B类(Smart)、C类(libc)

A类(MCU)-工作内容:

  • 维护RT-Thread的代码;
  • 开发或完善RISC-V架构相关的BSP及驱动;
  • 开发或完善测试用例,提升RT-Thread的可维护性;
  • 在RISC-V平台上构建良好的POSIX生态,测试并完善POSIX接口支持;
  • 在RISC-V平台上构建良好的软件包生态,测试并完善软件包对RISC-V平台上的支持;
  • 在RISC-V上搭建基于RT-Thread的Arduino生态;
  • 编写文档来介绍RT-Thread&&RISC-V相关的知识,当前的文档在:https://www.rt-thread.org/document/site/#/

B类(Smart)-工作内容:

  • 参与并推进 RT-Thread Smart for riscv;
  • 开发或完善RISC-V架构相关的BSP及驱动;
  • 完善应用支持,迁移更多的GNU应用到 RT-Thread Smart for riscv 平台上;
  • 完善 Smart for riscv 的 GUI 生态,移植LVGL、Wayland及终端Terminal软件;
  • 编写文档来介绍RT-Thread Smart&&RISC-V相关的知识,当前的文档在:https://www.rt-thread.org/document/site/#/

C类(libc)-工作内容:

  • 一个国际的开源项目:开发维护一套 riscv mcu 下的 mlibc 库;
  • 小型化的 libc 库,针对体积做特殊优化;
  • 使用这个 mlibc 出一份 riscv 工具链;

岗位要求:

  • 电子、计算机、通信、自动控制等专业;
  • c语言基础扎实,熟悉计算机体系结构;
  • 熟悉一种或数种嵌入式CPU软硬件平台,例如STM32,RISC-V等;
  • 有强烈的学习能力和学习新知识的欲望;

BJ37 GCC 开发实习生(20240101 开放 10 名)

工作内容

  • 最近PLCT实验室在参与RISC-V国际基金会的相关新指令扩展的工作,具体内容是为 unratified extensions (就是还在制定中的扩展指令集)进行 GNU Toolchain 的实现,用于验证草案本身在设计上是否存在遗漏缺失、是否在功能或性能上有改进的空间。目前面向大学生及研究生招募开发者,以PLCT实验室实习生的身份,直接参与到RISC-V基金会管理下的GCC工具链开发中,并有可能后续直接将代码(patch)提交到上游(upstream)。最近开始有业界一线的大佬指导和review实习生的代码,是非常难得的学习机会。
  • 与此同时,实习生岗位 BJ18 Clang/LLVM 开发实习生以及 BJ15 QEMU/Spike 开发实习生同样持续招聘。一个完整扩展指令参考实验和验证包括编译器、二进制工具、模拟器,都是需要的。

入职要求:

  • LV3+,能进行英语交流,对编译技术有基本了解。如果事先了解过ELF格式、RISC-V或其他指令集、相关ABI文档,那么都算是加分项。
  • 远程实习,不需要坐班。

BJ17 V8 开发实习生(20240101 开放 5 名)

工作内容:

  • 参与PLCT实验室 V8 for RISC-V 相关项目的开发。在开源社区直接提交代码。

入职要求:

  • LV4及以上,熟练的英语交流。
  • C++ 要熟练。新特性了然于胸。
  • 需要已经看过 V8 的源代码,自行构建 riscv64 后端成功。
  • 需要熟悉 JavaScript 语言。如果看过 WebAssembly 加分。
  • 远程实习,不需要坐班。

BJ45 MLIR 开源开发实习生 aka Buddy Compiler 开发(20241002 新开放50名)

我们相信MLIR将会成为未来编译器框架的实施标准。因此从2021年开始,PLCT实验室将 MLIR 列入了「关键开源基础设施」名单,已经跟 LLVM、GCC 一样成为PLCT实验室的长期管理对象。

工作内容:

  • 参与PLCT实验室 MLIR 相关开源项目的开发。
  • 参与 Buddy Compiler 开发。

入职要求:

  • LV3+,能进行英语交流,对编译技术有很好的了解。对 MLIR 项目有浓厚的兴趣。
  • 远程实习,不需要坐班。

BJ18 Clang/LLVM 开发实习生(进行中,名额 15)

工作内容: 参与PLCT实验室 Clang/LLVM 相关项目的开发、技术分析、报告撰写。在开源社区直接提交代码。

入职要求: LV3+,能进行英语交流,对编译技术有基本了解。 远程实习,不需要坐班。

历史岗位(已经不再招募实习生)

  • Android(AOSP) RISC-V 移植开发实习生 BJ77~BJ80 【暂停招聘】
  • BJ101 FORCE-RISCV 开发实习生 (已满,暂停招聘)
  • BJ103 SG2042 操作系统开发实习生 (停止招聘,被新岗位JD替代)
  • BJ104 SG2042 数据库移植实习生 (停止招聘,被新岗位JD替代)
  • BJ105 ART 虚拟机性能评测实习生 (暂停招聘)
  • BJ106 openEuler RISC-V 操作系统开发实习生 (停止招聘,转入软件所其他部门)
  • BJ33 Spidermonkey 开发实习生【暂停招聘】
  • BJ38 LuaJIT 开发实习生【暂停招聘】
  • BJ38 LuaJIT 开发实习生【暂停招聘】
  • BJ39 Web 前端开发实习生【暂停招聘】
  • BJ47 Gentoo RISC-V 操作系统构建实习生 (20240101 开放 2 名)
  • BJ59 开源软件项目经理实习生【暂停招聘】
  • BJ60 开源技术社区运营经理实习生【暂停招聘】
  • BJ61 蝉语实习生【暂停招聘】
  • BJ63 Maple-C 编译器 Linux 构建验证及 RISC-V 移植实习生【暂停招聘】
  • BJ66 科技文档翻译实习生(日语、韩语)【暂停招聘】
  • BJ67 操作系统RISC-V成熟度观测实习生(跟踪所有国内外知名Linux发行版)【暂停招聘】
  • BJ68 OpenWrt RISC-V 移植及观测实习生【暂停招聘】
  • BJ69 Deepin RISC-V 操作系统构建实习生【暂停招聘】
  • BJ81 RISC-V科研实习生:P扩展在 Linux Kernel 中对解压缩算法等模块的加速可能性研究及原型实现 【暂停招聘】
  • BJ82 实现基于 LoongArch 架构的 RISC-V 模拟器 LARVa 【暂停招聘】
  • BJ84 RVWhl Python Package 开发实习生【暂停招聘】
  • BJ90 开源社区运营助理(SG2042 and Duo)实习生 (已满,暂停招聘)
  • BJ91 开源社区运营助理(LicheePi 4A 等 RISC-V SBC)实习生 (已满,暂停招聘)
  • HZ85 CXL软硬件联合开发【暂停招聘】
  • HZ86 CXL开源硬件IP开发【暂停招聘】
  • NJ49 Fedora RISC-V 操作系统构建实习生【暂停招聘】
  • NJ50 Debian/Ubuntu RISC-V 操作系统构建实习生【暂停招聘】
  • NJ51 Arch Linux RISC-V 操作系统构建实习生【暂停招聘】
  • NJ52 测试开发实习生(这是开发岗位)【暂停招聘】
  • NJ53 软件测试实习生(这是测试岗位)【暂停招聘】
  • NJ53a openEuler RISC-V 操作系统构建实习生【暂停招聘】
  • NJ55 开源EDA实习生【暂停招聘】
  • NJ57 Android(AOSP) RISC-V 移植开发实习生【停止招聘】
  • BJ112 QEMU RISC-V 开发实习生 【结束招聘:任务完成】
  • BJ111 TH1520 U-Boot 移植实习生
  • HZ48 Chisel 开发实习生
  • BJ32 Dart for RISC-V 开发实习生【暂停招聘:缺少mentor & 无人投简历】
  • BJ15 QEMU/Spike 开源模拟器开发实习生【暂停招聘:缺少mentor】
  • BJ58 libcxx-simd 项目实习生招聘【结束招聘:任务完成】
  • BJ65 DynamoRIO 开发实习生(负责 RISC-V 移植及优化)【结束招聘:任务完成】
  • BJ75 OpenJDK 实习生(Lilliput、RISC-V)【结束招聘:无人投简历】
  • BJ70 Aya 全套生态开发实习【结束招聘:无人投简历】
  • BJ76 OpenCV RISC-V P 扩展移植实习生【结束招聘:任务完成】
  • BJ89 编译器功能支持实习生【暂停招聘:缺少mentor】
  • BJ92 Milk-V Duo OpenWRT 开发实习生【结束招聘:任务完成】
  • BJ97 Milk-V Duo IDE 开发实习生【结束招聘:无人投简历 & 被新岗位覆盖】
  • BJ96 Milk-V Duo SDK 开发实习生【结束招聘:无人投简历 & 被新岗位覆盖】
  • BJ98 Flutter RISC-V 开发实习生【结束招聘:无合格候选人】
  • BJ114 Pixman RISC-V 优化实习生 【工作已完成,结束招聘】
  • BJ102 Buddy Compiler 开源社区运营助理实习生 (已满,暂停招聘)
  • BJ99 RISC-V OpenSSL 开发实习生【结束招聘:无合格候选人】
  • BJ113 操作系统移植: ThreadX 移植到 RISC-V (Milk-V Duo) 【工作已完成,结束招聘】
  • BJ34 OpenJDK 开发实习生【结束招聘:无合格候选人】
  • BJ64 Mono 系统开发实习生(负责 RISC-V 移植及优化)【暂停招聘:缺少mentor & 无人投简历】
  • BJ87 RISC-V ACT 开发实习生 【结束招聘:无人投简历】
  • BJ100 RISC-V nettle 开发实习生【结束招聘:无人投简历 & 缺少 mentor】
  • BJ93 Milk-V Duo Yocto 开发实习生【结束招聘:无人投简历 & 被新岗位覆盖】
  • BJ94 Milk-V Duo Buildroot 开发实习生 (20240101 开放 1 名)【结束招聘:无人投简历 & 被新岗位覆盖】
  • BJ95 Milk-V Duo Linux Kernel 开发实习生 (20240101 开放 2 名)【结束招聘:无人投简历 & 被新岗位覆盖】