本仓库目前主要包含甲辰计划开源实习生联合招聘计划的岗位信息,同时也包含了PLCT实验室的所有实习生招聘信息。本仓库(weloveinterns)2017年建立,一开始是创始人(lazyparser)为了吸引更多潜在实习生加入、同时为实习生提供成果展示的机会。后来随着团队的发展、剥离、合并,逐渐成为多个不同公司和研究团队、社会群体共享的实习生招聘信息和培训信息集散地。2019年PLCT实验室正式成立之后,逐步成为PLCT实验室的官方招聘页面;2024年甲辰计划开始之后,成为甲辰计划的招聘页面。这个项目的衍生下游,例如苦芽科技的 kuloveinterns,共同构成了实习生社区的一部分。
详细背景介绍请移步《甲辰计划主理人发起开源实习生联合招聘培养项目》。
2024年6月8日,甲辰计划主理人吴伟向甲辰计划成员单位发布【开源实习生联合招聘培养】新项目。这个项目的动机和出发点是「成员单位用最小的金钱和管理资源投入,完成对就自己企业有用的RISC-V生态建设目标的加速」,充分结合甲辰计划主理人在过去10年的大规模实习生培养经验,依托PLCT实验室在开源社区领域已经建立的工作积累,自甲辰龙年开始,每年开放超过2000名实习名额,并招募超过1000人次的学生参与实习。
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名实习名额用于开源贡献。
甲辰计划宣布认可“一生一芯”计划CBAS新认证体系,获认证同学自动获得开源实习生联合培养工程的实习OFFER
甲辰计划主理人吴伟先生受邀为“一生一芯”计划的活动录制致辞视频。在致辞中,吴伟先生高度评价了“一生一芯”计划对于国内和全球的芯片和系统软件领域的贡献,并宣布甲辰计划即日起承认“一生一芯”计划CBAS新认证体系,甲辰计划「开源实习生联合招聘培养」工程中所有2300名实习岗位都将会对“一生一芯”认证持有者直接开放。这也意味着,一位“一生一芯”的学员在拿到“一生一芯”CBAS体系认证的同时,就自动获得了由甲辰计划成员企业发放的多个实习OFFER。
MoonBit 编程创新挑战赛是由粤港澳大湾区数字经济研究院(福田)基础软件中心主办,面向全球开发者的挑战大赛。大赛目标是以编程竞赛推动计算机软件开发专业建设,助力人工智能云原生领域创新人才梯队培育,培养编程语言这一基础软件领域的后备人才。本大赛鼓励开发者通过设计、开发创新性计算机系统项目,学习人工智能云原生开发平台,培养系统级的设计、分析、优化与应用能力,提升开发技术、创新实践、团队协作能力。大赛服务国家人才培养战略,以赛促学、以赛促教,为高水平计算机人才成长搭建交流、展示、合作的开放平台。
在MGPIC决赛之日(11月23日),甲辰计划宣布MoonBit 编程创新挑战赛(MGPIC)的比赛结果进入甲辰计划认可体系,甲辰计划「开源实习生联合招聘培养」工程中所有2500+实习岗位欢迎MoonBit 编程创新挑战赛(MGPIC)参与了初赛的所有参赛选手。这也意味着,一位MGPIC的参赛选手,只要完成了作品并提交获得了完初赛排名,就自动获得了甲辰计划开源实习机会,免上机考试直接进入各个岗位的 mentor pick 环节。
- 首次签署实习合同为三个月,实习生随时可以加入和退出,实习证明以合同生效至实际退出之日为准。
- 首次签署实习为开源远程实习。PLCT实验室是默认的培养承担单位;不同的岗位可能有不同的承担单位,可以根据自己的实习需要进行协商。
- 实习期满之后实习生可以自由与甲辰计划成员企业协商续签,本实习对后续实习合同没有制约关系,实习形式与内容由用人单位和实习生双方自行协定。
- 甲辰计划联合实习生提供至少 30% 岗位数量为女性等应聘者预留。
在投递简历之前最好对我们有更多一点了解。以下是阅读材料:
- 《极简项目管理》:git-repo 、公众号发表。吴伟撰写的目前PLCT实验室的管理方式,甲辰计划开源联合实习生的管理也遵循同样模式。请先阅读本书已熟悉风格和要求。
- 《我们如何进行实习生招聘》:git-repo、微信阅读。
- 《我们如何对实习生进行能力评定和培养》repo、微信阅读。
- 《实习生存手册(烂尾版)》:git-repo 目前还在撰写中,随便看看。
阅读之后,接下来就可以发邮件了。以下内容请认真阅读。不符合条件邮件不会收到回复。
有意者请投递简历至: 吴老师 [email protected]
邮件标题请注明: 岗位编号 - 姓名 - 手机号码 - 学校
(兼职实习的伙伴可以用【兼职】取代【学校】)
邮件正文请: 进行跟应聘职位相关的自我介绍,不超过300字。
邮件必须附带简历。没有PDF格式简历的邮件不保证会收到回复。
所有岗位都需要满足的:
- 有强烈的上进心,希望自己能够变得更强、更好。
- 并且能够积极而谦卑地与他人一起共事,及时的响应团队成员的消息。
- 岗位默认都是远程实习,因此需要你具有比较好的自律能力。
- 希望你能够有至少三个月的实习时间,并能够保证每周有一些连续的时间可以用来实习。
技术岗位(开发、测试、助教)需要满足的:
- 技术岗位默认要求能力等级达到LV2及以上。
- 熟练使用 Linux 命令行,并且能够写简单的 Bash 脚本。
- 熟练使用 git 进行团队合作。
- 知道如何描述 bugs/issues 以及礼貌地向其他人求助,做到尽量不浪费他人的时间,将复现 bug 需要的信息提供完整。
- 加分:自学了 RISC-V 指令集,包括 RV32GC 和 RV64GC。在自己的电脑上部署运行起来QEMU-RISCV64以及Spike模拟器。
- 加分:对于网络知识有基本了解并熟练使用,例如SSH任意端口登陆、Port Forwarding、反向链接、ProxyCommand 等配置自行掌握。
运营岗位需要满足的:
- 喜欢跟人打交道。能够倾听。能够观察和共情到他人的情感和需求。主动沟通。
- 对外界有强烈的好奇心。
- 可选:能看懂简单的Python程序。
- 可选:最好是有GitHub账号,知道如何开新分支,提交PR。这个如果不知道可以看看GitHub官网的帮助,很详细。
- 可选:具备网站制作、社区运营、公众号运营、社团组织、活动策划、美工设计等技能可以加分。
一些注意事项:
- 需要注意开源社区都是个人出道,所有的行为都是公开的,要有一颗大心脏。
- 实习有实习费。每个月底统计外部可见产出,跟mentor商量实习费金额。次月25日左右发放。劳务费每个月根据产出浮动,浮动区间 0k - 5k,正常产出一般是税前 2k-3k 之间。厉害的产出不受5k的限制,可以更高。
- 实习双方随时都可以解除契约。实习生离职前需要跟mentor沟通下工作交接,并商议好最后一笔实习费发放(如果有产出的话)。
(Next Job ID: 149)
随着 RISC-V 向量扩展 (RVV) 的指令集规范、工具链和硬件设备等软硬件生态日益完善,越来越多的开源社区正在开展面向 RISC-V 平台的适配与性能优化工作。我们希望帮助社区开发者更好地评估优化效果,并监测开源软件在 RISC-V 平台上的性能变动。
我们已经使用 Jenkins 为 OpenCV 算法库构建了一个 RISC-V 设备上的自动化测试与性能分析平台,该平台聚焦于面向 RVV 的优化,能够帮助开发者自动完成项目构建和测试工作,并提供基础的性能对比与分析功能。 在此基础上,我们希望:
- 添加更多硬件设备,从而满足更大的测试规模;
- 支持更多平台(如 ARM Neon), 对比不同平台的优化效果,从而指导面向 RISC-V 平台优化工作的方向;
- 添加每日构建-测试流程,并将测试结果可视化,从而跟踪和监测算法库在 RISC-V 平台上的性能变动;
- [可选] 寻找并覆盖更多开展 RVV 优化工作的开源社区。
该岗位默认包含平台开发任务和平台运维任务,但可以选择仅承担其中一项,请在邮件中注明【 开发与运维/ 仅开发 / 仅运维 】三者之一。
对于平台运维任务,要求 LV1 及以上,且需要坐班:
- 北京高校在校学生,可以来软件所北京本部(知春路)坐班,工作日每周至少2天/4个半天;
- 具备良好的沟通能力和较强的责任心;
- 使用过至少一种 Linux 发行版, 能够依据手册为开发板烧录系统,能够使用 ssh 远程连接到开发板;
- 具备一定的动手能力,能按说明在设备机柜中安装开发板和辅助设备;
- 具备基础的网络软硬件知识,能够使用交换机、路由器组建局域网,会用 静态 IP/DHCP 等方法为设备分配 IP 地址;
- 加分项:具备较强的自学能力,愿意学习下列“开发任务”中的所需技能。
对于平台开发任务,要求 LV2 及以上,可以远程:
- 了解 CI/CD 的工作方式,搭建或使用过 Jenkins 工具;
- 熟练使用脚本语言(如 Shell、Python)进行构建自动化;
- 熟练使用 CMake 工具,会使用 GNU/LLVM 进行交叉编译;
- 加分项: 在自己的开源项目中使用了 GitHub Actions 或 GitLab CI/CD。
- 加分项: 具备一些 Web 前端开发能力
注意这是一个编译器开发的岗位,岗位目标是将 moonbit 移植到 RISC-V 上并尽最大可能进行优化。
MoonBit是编程语言以及开发者平台,专注于AI原生通用程序语言的设计、编译器、运行时、IDE以及构建系统的开发,由IDEA研究院MoonBit团队开发。MoonBit 预期在 2024/11/22 达到 Beta 阶段,并释放出一个编译器参考实现的源代码。
粤港澳大湾区数字经济研究院(International Digital Economy Academy,简称IDEA研究院)致力于人工智能和数字经济领域的前沿研究与产业落地,是一家国际化创新型机构。
RuyiSDK 是中国科学院软件研究所正在开发的面向 RISC-V 开发人员的工具集,由PLCT实验室开发维护。PLCT实验室看到MoonBit语言的潜力,并计划在2024Q4-2025Q2期间开放不少于100名实习岗位用于探索 MoonBit 语言及其运行时环境的能力边界,并在 RuyiSDK 中集成对 MoonBit 的支持。甲辰计划开源实习生联合招聘培养的参与单位将有可能进一步增加岗位名额。
整个岗位需要热爱编程、热爱探索新编程语言、并且在无数次尝试中获得快乐的开发者。如果你正在大学宿舍中无聊于一日一日生活的重复,那么PLCT实验室的这份实习岗位就有可能是为你准备的:实习工作完全开源,不需要坐班,完全远程,绝对的实力至上主义。
- [1] 英文网址: https://www.moonbitlang.com/
- [2] 中文网站: https://www.moonbitlang.cn/
- LV3+ 并且对编译原理熟悉自信,接触过LLVM源代码。
- 自己学习了 MoonBit 语言并完成了一些例子程序的尝试。
- 熟悉常见的数据结构和算法常识,能够根据教科书中例子写出正确的MoonBit程序。
- 对于编程充满热情,充满能量。
- 加分:如果在学习过程中参与完善了 MoonBit 的文档、甚至帮助 MoonBit 的编译器定位和修复 Bugs 都可以获得加分。
- 加分:熟悉 RISC-V 架构,手里有 RISC-V 开发板,跑起来 Linux on RISC-V。
该岗位旨在优化 OpenCV 在 RISC-V 向量扩展 (RISC-V Vector, RVV) 平台上的性能表现。 OpenCV 是世界上规模最大、应用最为广泛的开源计算机视觉算法库,包含 2500 多种算法。 为了优化算法库在 CPU 上的性能,OpenCV 支持多种 SIMD 或向量架构,包括SSE2-SSE4.2, AVX2, AVX512 (x86); NEON (ARM); RVV (RISC-V)。而为了避免编写和维护同一优化算法面向多个平台的副本, 社区在平台特定的 Intrinsic 函数之上封装了 Universal Intrinsic。 然而,某些内核函数对性能非常关键,并且可以使用其他平台上不存在的一些特定于硬件的指令来最有效地实现它们。在这种情况下,Universal Intrinsic 方法将不起作用。相反,应该为此类性能关键型内核引入平台特定的优化。 RVV 的向量特性让我们有机会去进一步优化这些关键函数的性能,这就是我们想做的事情。 具体来说,需要使用 RVV 的平台特定 Intrinsic 函数为 OpenCV 中的核心函数实现特定优化。并在不同硬件设备上开展性能分析,据此进一步采用循环展开、寄存器分组等方法深入调优。
- 参考现有的 ARM Neon (opencv/3rdparty/carotene) 优化实现,补充和完善 RVV (opencv/3rdparty/hal_rvv/hal_rvv_1p0) 优化。
- 使用 RISC-V 开发板评估性能优化效果。
- 使用 ARM 开发板对比优化效果。
- OpenCV 代码仓库: https://github.com/opencv/opencv
- RVV Intrinsic: https://github.com/riscv-non-isa/rvv-intrinsic-doc
- OpenCV 中 ARM Neon 特定优化实现:https://github.com/opencv/opencv/tree/4.x/3rdparty/carotene
- OpenCV 中 RVV 特定优化实现:https://github.com/opencv/opencv/tree/4.x/3rdparty/hal_rvv
- 用于开展性能评估的开发板: CanMV-k230 (RVV, VLEN=128), SpacemiT Muse Pi (RVV, VLEN=256) 和 ATOMPI-CA1 (ARM A55), 以上设备均由此岗位的 mentor 提供远程访问。
- 学习过 C++ 编程,了解使用 Intrinsic 编写向量优化代码的方法。
- 熟悉 RISC-V 指令集架构,能够部署和使用 RISC-V GNU 工具链和 QEMU 模拟器。
- 具备较强的代码分析和问题解决能力,能够使用 GDB 等工具调试 RISC-V 程序。
- 加分项:拥有使用 OpenCV 进行项目开发的经历,熟悉计算机视觉算法。
- 加分项:具备任意架构的 SIMD intrinsics 开发经验。
- 加分项:对开源贡献有较高热情,能够使用英文在开源社区中沟通交流。
OpenCV、GDAL、NumPy、Shapely、SciPy 等基础库是科学计算和地理信息处理的核心工具,广泛应用于数据分析、遥感处理、高性能计算等领域。随着 RISC-V 架构的快速发展,为这些库提供全面、高效的支持是构建开源软件生态的重要一环。目前,许多基础库在 RISC-V 架构上的支持仍在完善中,存在兼容性和性能优化空间。通过移植和优化这些库,可以推动其在 RISC-V 平台上的应用扩展,并为开源社区贡献更多高质量代码。
- 库的移植与优化:
- 分析 OpenCV、GDAL、NumPy、Shapely、SciPy 等库在 RISC-V 平台上的适配需求,并实现相关功能的移植。
- 针对 RISC-V 微架构特性,优化库中性能关键的算法或代码路径。
- 测试与问题修复:
- 使用基础库自带测试集验证其在 RISC-V 平台上的正确性与稳定性,修复失败用例并提交到上游社区。
- 针对测试中发现的兼容性问题,补充相关文档或改进代码实现。
- 性能评估与调优:
- 编写性能测试用例,对比x86、ARM平台评估移植后的库在 RISC-V 平台上的运行效率。
- 应用向量扩展(V 扩展)等 RISC-V 特性,对特定场景进行深度优化。
- 社区参与与文档撰写:
- 撰写库的 RISC-V 平台移植指南,帮助开发者快速入门。
- 与上游社区合作,推动移植和优化工作的合并及后续维护。
- 基础能力 LV2 及以上,熟悉 C/C++ 编程语言,具备扎实的编译器与操作系统基础知识。熟练使用脚本语言(如 Shell、Python)进行构建自动化与问题排查。
- 熟悉 RISC-V 指令集架构,了解相关硬件特性及其对软件性能的影响,熟悉 GNU 工具链(如 GCC、binutils)或 LLVM 工具链者优先。
- 能够流畅阅读和撰写英文技术文档,能与上游社区进行良好的沟通。
- 具有基础库或系统级软件开发经验者优先。
当前,以人工智能和基础软件为核心的科技创新已成为国家战略的重要组成部分,推动着全球产业变革和技术竞争。作为我国亟需突破的关键领域之一,人工智能大模型、基础软件及开源指令集RISC-V的快速发展,为构建自主可控的基础软件生态奠定了坚实的技术基础。通过发展自主知识产权的基础软件技术和硬件架构,不仅可以实现对国际主导技术的有效替代,更能建立独立的创新体系,增强国家在新一代信息技术领域的国际竞争力。
我们的工作旨在进行 “大模型+基础软件+RISC-V”相关的研究,大致可分为LLM 4 System和System 4 LLM两种类别,同时以RISC-V为代表的新的后端硬件应用场景也提供了新的挑战和机遇。为此,我们计划开展AIOS(AI Agent as OS)和LLM Compiler相关的研究:
基于大型语言模型(LLM)的智能代理的集成和部署充满了挑战,影响了其效率和功效。这些问题包括 LLM 上代理请求的优先级调度和资源分配、代理与 LLM 交互期间上下文的维护、具有不同能力和专业的异构代理的集成。而代理数量和复杂性的快速增加进一步加剧了这些问题,通常会导致资源瓶颈和次优利用。
AIOS通过将大语言模型嵌入到操作系统中作为操作系统的大脑,从而使操作系统“有了灵魂”——这是迈向通用人工智能的重要一步。具体来说,AIOS旨在优化资源分配,简化跨代理的上下文切换,实现代理的并发执行,为代理提供工具服务,并维护代理的访问控制。
LLM Compiler是一个框架,通过自动识别哪些任务可以并行执行以及哪些任务是相互依赖的,可以高效且有效地编排LLMs的并行函数调用,包括开源和闭源模型。
LLMs的推理能力使他们能够执行多个函数调用,使用用户提供的函数来克服其固有的局限性(例如知识限制、算术技能差或无法访问私有数据)。虽然多功能调用允许它们解决更复杂的问题,但当前的方法通常需要对每个函数进行顺序推理和操作,这可能导致高延迟、高成本,有时甚至导致不准确的行为。LLM Compiler 通过将问题分解为多个可以并行执行的任务来解决这个问题,从而有效地编排多功能调用。使用 LLM Compiler,用户可以指定工具以及可选的上下文示例,LLM Compiler会自动计算函数调用的优化编排。LLM Compiler 可与 LLaMA 等开源模型以及 OpenAI 的 GPT 模型一起使用。在一系列表现出不同并行函数调用模式的任务中,LLMCompiler 一致地证明了延迟加速、成本节省和准确性提高。
-
AIOS Foundation:https://aios.foundation
-
AIOS: LLM AGENT OPERATING SYSTEM:https://github.com/agiresearch/AIOS?tab=readme-ov-file
-
AIOS Compiler:https://arxiv.org/abs/2405.06907
-
LLM Compiler:https://github.com/SqueezeAILab/LLMCompiler/tree/main
-
An LLM Compiler for Parallel Function Calling
-
陈云霁老师组:AutoOS: Make Your OS More Powerful by Exploiting Large Language Models
-
陈海波老师组:
我们正在寻找对科研工作充满热情的实习生,加入我们的科研团队。实习生将参与前沿项目的研究工作,包括论文学习、代码实现、实验设计、数据分析以及协助撰写论文等。通过与资深研究员和技术专家合作,实习生将获得在真实科研环境中工作、验证新理论、并发表研究成果的机会。
- 协助团队进行文献调研,梳理当前领域的研究进展;
- 参与项目的代码实现,完成指定的功能需求;
- 配合团队进行实验设计、执行与数据收集;
- 根据研究进展,参与撰写实验报告和科研论文;
- 配合团队在科研过程中完成其他相关任务。
- 自主RISC-V架构下的高性能基础软件系统,涵盖操作系统、编译器等。
- 面向特定应用领域的大模型及算法优化框架,具备高效能和低功耗的特性。
- 相关核心技术的知识产权与专利布局,推动自主技术标准的制定。
- 产出成果可包括但不限于:调研文档、代码实现、实验数据、论文初稿等。
- 产出相关高水平论文并参与会议投稿
- IJCAI 2025 年 1 月 17 日
- ICML 2025 年 1 月 8 日
- SIGKDD 2025 年 2 月 9 日
- ACL 2025年2月16日
- 署名和贡献:如实习生在项目中做出实质性贡献,将按照贡献程度在论文中进行署名。
- 知识产权:实习期间产生的研究数据、分析结果及其他相关知识产权均归属于软件所或科研团队。如产生专利,实习生将依据贡献参与专利排名,但所有知识产权归属软件所所有。
- 计算机、软件等相关专业,本硕博皆可,有科研或项目经验优先。
- 熟悉python语言和常见的深度学习、自然语言处理框架,比如pytorch,huggingface等。
- 具备良好的团队协作能力,沟通能力,自我驱动力,自学能力。
- 加分项:
- 具备NLP、LLM、AI Agent相关基础理论知识,熟悉编译器、操作系统等基础软件的基本构成和原理,了解RISC-V相关的特性和指令集架构。
- 在ACL, EMNLP, ICLR, NeurIPS, ICML, KDD, AAAI等AI领域顶级会议上发表过论文的候选人优先。
- 在ASPLOS,HPCA,ISCA,MICRO,OSDI,PLDI,SOSP,POPL,CGO等系统领域顶级会议上发表过论文的额候选人优先。
RevyOS 是由PLCT实验室的 RevyOS 小队支持开发的一款针对 XuanTie 芯片生态的 Debian 优化定制发行版,围绕玄铁C906、C910、C920、C908等芯片提供了完整而全面的适配和优化支持,现已可以在8款 RISC-V 设备上运行。详细支持可在RevyOS/docs中进行查看。
目前已公开的工作内容可查看 RevyOS 项目内的仓库。
随着 RevyOS 所适配的设备逐渐增多,现有 RevyOS 小队员工需要花费更多的时间完成测试工作,现需要你完成在部分 RevyOS 所适配的设备上的一些测试工作,并及时上报issue。如果你对于 RISC-V 发行版有兴趣并且有开发板调试经验,那么欢迎你的加入。
工作默认在具体的某一款或多款 RevyOS 所支持的 RISC-V 设备上进行。需要实习同学自行准备 RISC-V 设备(可以通过甲辰计划 「RISC-V 开发板随缘漂流计划」 免费申请)。
- 测试(特定) RISC-V 设备上 RevyOS 的运行情况,从镜像刷写到软件功能、工具链和运行时系统的可用性、稳定性,以及性能数据的对比。
- 将以上测试点总结提交为测试报告。
- 相关文档的 i18n / 国际化工作。
- 及时更新外部可见的使用文档。
- LV2及以上,有git的使用经验
- 希望你在投递简历前了解过 RISC-V 和RevyOS,有试用经验最好。
- 能够执行测试用例,记录测试结果,协助撰写测试报告。跟踪并复现反馈的 Bug,协助开发人员进行问题排查(加分)。
- 大学英语四级/六级或同等水平,能够在即时通讯软件、国际开源社区流畅与外国人交流的程度,能够做简单的技术文档翻译工作。
- 使用过至少一种 Linux 发行版,有半年的日常使用经验。
- 微信等即时通讯软件响应速度快。尤其是工作日。
- 做事细心、有耐心。有良好的沟通表达能力。
- 使用/调试过至少一款开发板。
乘影 GPGPU 是清华大学教育基金会开源项目,由清华大学集成电路学院何虎教授团队研发。其指令集架构以 RISC-V 向量扩展为核心,相比标量指令具有更丰富的表达含义和更高的编程灵活性。经过多年研发,乘影 GPGPU 已经打通了包括通用 GPU 指令集架构、微架构设计、专用张量计算单元和 OpenCL 软件工具链在内的全套实现。
为了进一步发挥 RISC-V 的生态优势,增强国产 GPU 在 RISC-V 生态中的适配性,PLCT 实验室加入到了乘影 GPGPU 的开源生态建设中,负责推动工具链对乘影 RISC-V 自定义指令集的支持,完善乘影 GPGPU 从高层编程范式到编译器及运行时库的全软件栈实现,促进全栈视角下的软硬件协同创新。
我们在此招募有志于投身 RISC-V 生态建设,愿意为国产开源 GPU 软件工具链贡献力量的伙伴,特别是希望积累开源社区实践经验的在校学生。如果你擅长从拆解编译器和工具链等软件栈的黑盒中收获乐趣,毕业后计划从事相关领域工作,欢迎加入我们,RISC-V 生态下将有很多坑位为你提供;如果你对高性能计算、并行编程或 AI 编译有兴趣,读研期间希望参与相关研究,欢迎加入我们,“RISC-V-based GPGPU”的赛道可以为你提供新的视角;即便你尚未明确未来方向,只要你有“我要做出一番事业”的积极态度和参与 RISC-V 开源生态的技术热情,我们也欢迎你投递简历。
- 等级要求:LV2
- 基础技能:
- 熟悉 Linux 平台下的开发流程,有 Git 使用经验;具备一定编程基础,会构造代码样例进行调试和验证工具链可行性。这两项的检验标准为能构建出乘影 GPGPU 的 LLVM 编译器并成功运行 README 中的 vecadd 示例。
- 简单了解 GPU 架构和异构编程模型,知道 CUDA 或 OpenCL 程序在 CPU 和 GPU 上的执行方式。
- 加分项(满足任意一项均可):
- 了解 LLVM 编译器后端,能找到 RISC-V 的指令规格与寄存器信息以及编译的指令选择阶段在源码中的具体路径,并列举基础的实现细节。
- 有 CUDA、OpenCL、SYCL 等并行编程语言的使用经验,能举例讲解高性能计算示例(如矩阵乘法)的优化思路。
- 了解 Triton 或 MLIR,能从用户使用或性能优化角度评价它们的特点。
- 软技能:我们团队采用敏捷开发模式,以“最小可验证成品”为任务单元,每次会预留适当时间给实习生在贡献前学习相关知识和调研开源代码,因此不用太担心自己的知识储备和技术积累。但我们要求在与导师和团队小伙伴的沟通中做到“事事有回音”,做一名可靠的团队成员,并在写代码、提 PR、回复评审、修改 PR、整理文档的每件小事中秉持“Double Check”的态度,逐步成长为可胜任的开源贡献者。
这是一个项目经理的实习岗位。PM需要进入到具体的开源项目及社区中,推动开源项目开发、测试及发布的节奏。PM需要与许多充满激情、性格各异但都一直忙碌的开发者进行沟通,尝试在一个没有明确时间约束和金钱激励的世界中,为所有贡献者创造一个高生产力的环境,确保项目计划能够(尽可能)按照规划顺利的推进。
这是一个综合性的岗位,需要实习生PM具有非常积极向上的心态、耐心、和善的沟通感觉,同时目标坚定,手段繁多。与开源社区经理(CM)的不同在于,PM侧重于开源项目的开发跟踪,而CM侧重于社区的良好氛围、规模的建设壮大。
该岗位是甲辰计划开源实习生联合招聘培养的一部分,目前有多个开源社区热情迫切的欢迎您的到来,包括且不限于 MoonBit、RT-Thread、Buddy Compiler、RuyiSDK、Wine-CE、Clang/LLVM、SAIL等。
- 建立需求沟通整理跟踪反馈回复的渠道和过程机制,并推动执行。
- 积极跟踪开源社区项目各个群聊中的记录并主动整理形成需求 issues 或者缺陷报告 issues。跟踪各种 issues 的进展并及时摇人。
- 积极观察到需要帮助的新人贡献者并给予必要的指导和 on-boarding 说明。
- 建立定期的工作交流会议,记录会议,建立进度看板。
- 根据具体情况因人而异的建立好互动激励模式。
- 即使跟踪可能的项目延期、任务冲突、人员沟通矛盾导致的问题并与开源项目的所有者进行沟通。
- 建立需求收集和讨论的渠道,在开发人员的帮助下分级分类,吸引贡献者加入。
- 维护开源社区 CoC。
- 等级要求:LV1
- 基础技能:熟练掌握《非暴力沟通》《关键对话》《关键冲突》《人件》《人月神话》《程序开发心理学》《卓有成效的管理者》《非营利组织的管理》这些书中内容。
- 加分项
- Linux 安装与使用经验,基本的 Bash 和 Python 脚本编写能力。
- 英文流利加分;会日语、韩语、法语、俄语、西班牙语均加分。
- 在开源社区贡献过代码或者测试报告者加分。
我们正在寻找对模拟器和二进制翻译感兴趣的实习生,参与 Box64 在 RV64 后端的性能与兼容性测试。随着开源 x86-64 模拟器 Box64 在 RISC-V 平台的支持逐步完善,持续而广泛的性能和兼容性测试尤为重要。你将直接与 Box64 核心开发者合作,获得深入的技术指导,快速积累相关测试经验。
- 测试游戏和应用程序:在 RISC-V 环境中运行并评估各类游戏和应用的兼容性与性能。
- Box64 RV64 后端性能与兼容性测试:通过测试分析应用表现,发现并记录问题,为优化提供数据支持。
- 维护兼容性列表:管理并更新游戏和应用的兼容性数据库。
- 等级要求:LV2
- 基础技能:Linux 安装与使用经验,基本的 Bash 和 Python 脚本编写能力。
- 加分项
- 热爱各种游戏,对不同类型的游戏均有涉猎。
- 有 Wine 使用经验,理解相关概念。
- 有任意模拟器的使用或调试经验。
- 跨平台开发与测试经验:在 RISC-V 上运行 x86-64 应用的独特体验。
- 前沿项目参与机会:参与新兴的 RISC-V 生态项目。
- 导师支持:Box64 核心开发者将作为 mentor 提供指导,帮助你快速成长。
这是一个难得的实习机会,适合热爱游戏、乐于探索技术的你,欢迎加入我们,共同推动 RISC-V 生态发展!
MoonBit是编程语言以及开发者平台,专注于AI原生通用程序语言的设计、编译器、运行时、IDE以及构建系统的开发,由IDEA研究院MoonBit团队开发。MoonBit 目前处于 Beta-Preview 阶段。我们期望能在 2024/11/22 达到 Beta 阶段,2025年内达到 1.0 阶段。
粤港澳大湾区数字经济研究院(International Digital Economy Academy,简称IDEA研究院)致力于人工智能和数字经济领域的前沿研究与产业落地,是一家国际化创新型机构。
RuyiSDK 是中国科学院软件研究所正在开发的面向 RISC-V 开发人员的工具集,由PLCT实验室负责承建。PLCT实验室看到MoonBit语言的潜力,并计划在2024Q4-2025Q2期间开放不少于100名实习岗位用于探索 MoonBit 语言及其运行时环境的能力边界,并在 RuyiSDK 中集成对 MoonBit 的支持。甲辰计划开源实习生联合招聘培养的参与单位将有可能进一步增加岗位名额。
本岗位是一个复合型目标的岗位目标,我们希望从 Linux 发行版的 core-utils 类似的 Unix 小工具开始,逐步尝试用 MoonBit 来实现一系列场用的软件,最终严肃的开始大型工业级软件(我听到有人说操作系统内核和浏览器:P)的立项。
整个岗位需要热爱编程、热爱探索新编程语言、并且在无数次尝试中获得快乐的开发者。如果你正在大学宿舍中无聊于一日一日生活的重复,那么PLCT实验室的这份实习岗位就有可能是为你准备的:实习工作完全开源,不需要坐班,完全远程,绝对的实力至上主义。
- [1] 英文网址: https://www.moonbitlang.com/
- [2] 中文网站: https://www.moonbitlang.cn/
- 自己学习了 MoonBit 语言并完成了一些例子程序的尝试。
- 熟悉常见的数据结构和算法常识,能够根据教科书中例子写出正确的MoonBit程序。
- 对于编程充满热情,充满能量。
- 加分:如果在学习过程中参与完善了 MoonBit 的文档、甚至帮助 MoonBit 的编译器定位和修复 Bugs 都可以获得加分。
- 加分:熟悉 RISC-V 架构,手里有 RISC-V 开发板,跑起来 Linux on RISC-V。
参与FreeBSD 开源项目开发,适配任意riscv开发板,使得其可通过FreeBSD标准方式安装并在开源社区直接提交代码。
- 为RISC-V开发板适配FreeBSD内核,目前已有的Unmatched可用做参考
- 适配pkg系统,完成FreeBSD riscv pkg构建工作
- 与上游维护者沟通,推动代码合入上游
- LV3+,该岗位的 mentor 没有 FreeBSD 实际贡献经验,因此我们要求实习生本身有很强的兴趣和自驱力。否则的话可能度过一无所成的三个月
- 对 RISC-V 指令集,FreeBSD操作系统有一定了解
- 对工作内容提到的方向有兴趣;工作细心认真、有耐心
- 应能自行尝试运行 FreeBSD 系统,完成基本的开发环境配置
参与 Wine-CE 开源项目的开发,建设和推广 Wine-CE生态。在开源社区直接提交代码。苦芽科技CEO李威威、苦芽科技CTO王俊强作为实习导师(mentor)指导 Wine-CE 项目的工作。
背景信息: 苦芽科技加入 Wine-Chimera Edition 开源项目,助力 RISC-V 生态建设
- 调研并解决Wine-CE项目issue
- 更新qemu/box64/wine等子项目版本
- 构建并丰富Wine-CE软件生态,参加社区的开源运作
- 能力等级 Lv2+。
- 对wine/qemu/box64有基本的了解,有很强的兴趣和自驱力。
- 具备较强的代码分析和问题解决能力。
甲辰联合招聘
本岗位属于甲辰计划联合实习生培养项目,目前计划提供多名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。
截止 20241014 支持该岗位的甲辰计划成员有:
- 苦芽科技(Kubuds)
为以下两个项目实现 RISC-V Vector v1.0 的移植与优化:
参考现有的 AArch64(ggml-aarch64.c)实现,完成 RVV 的相关适配与优化,尤其关注性能提升。
- 负责将 whisper.cpp 和 llama.cpp 移植到 RISC-V 架构上,实现 RISC-V Vector v1.0 支持。
- 与上游维护者沟通,推动代码合入上游。
- 能力等级 LV3+。
- 该岗位的 mentor 没有 whisper.cpp / llama.cpp 的实际贡献经验,因此我们要求实习生本身有很强的兴趣和自驱力。
- 有任意主流架构的汇编代码 / SIMD intrinsics 编写经验。
- 具备较强的代码分析和问题解决能力,能够在英文开源社区中进行有效沟通。
- 对开源贡献有极大的兴趣,具备较强的自驱力与责任心,能够独立推动项目进展。
Eulaceura 建基于国内企业级操作系统社区,致力于为用户提供完整稳定易用的操作系统发行,并将 RISC-V 列入第一级支持范围中。
早期的开发模式是基于社区内的稳定版本加以支持和维护。随着近年来 RISC-V 支持的逐步完善并纳入社区主线,对于稳定发布版已经不需要进行太多的变更。
然而企业级产品的连续性要求和共建成员的实际生产需求,导致了系统内的基础组件无法及时与上游来源保持同步。大版本的发行机制也会造成一定程度的滞后性,使得用户无法及时获知现阶段开发成果。
我们认为作为根社区,在保障组件可控的同时也应该及时关注来源的变化。这不仅是社区活力的体现,而且可以让大版本更新更加平滑畅顺。将升级工作放到平时,不必为版本跃迁而要在短时间内投入大量精力应对。
RISC-V 硬件产品也正不断地推陈出新。在 RISC-V 蓬勃发展的当下,各种新特性的加入需要软件的持续演进和快速更新;社区内丰富的南北向生态值得更加快速和广泛地被支持。
这是 Eulaceura 「理解、成为、超越」目标的一环。我们希望能够将社区的变化即时传递给用户,同时让开发者可以提前参与到下一个版本的活动中来,为 RISC-V 的产品体验添砖加瓦。
- 核心——系统内核和关键组件的开发、维护与升级
- 北向——应用软件程序包的添加维护、使用场景的扩展
- 南向——开发板硬件的功能适配、固件的开发
- 文档——丰富并完善系统的各类文档、对外呈现产品的开发状态
- 测试——验证系统的稳定性和健壮性、发现使用中存在的问题
- 能力等级 LV2 及以上
- 对 RISC-V 指令集有一定了解
- 对工作内容提到的方向有兴趣;工作细心认真、有耐心
- 应能自行尝试运行 Eulaceura 系统,完成基本的开发环境配置
openGauss是一款优秀的开源关系型数据库管理系统,openGauss RISC-V SIG 于2024 年 6 月的 openGauss 开发者大会期间正式成立。openGauss 目前已经能在 openEuler 22.03/24.03 运行起来,目前需要人力做进一步的功能完整度及性能测试。
- 有开源贡献意识,能力等级 LV2+。
- 计算机相关专业,数据库专业优先。
- 熟悉 Linux 基本用法(bash),能够远程操作服务器(docker)及数据库。
- 了解统计与数据分析。
- 愿意花时间探索 openGauss 官方文档。
- 在 docker 环境中主从部署和单机部署(包括数据库,网络、绑核操作)。
- 测试 openGauss 数据库管理系统的各种二进制程序(bash或python脚本)。
- SQL 语法测试。
- 基于性能测试框架做性能分析测试。
- 定期在 SIG 组例会分享测试报告(包括功能完整度报告和性能分析报告)和测试经验。
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),能够在开源社区正常沟通。
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国际生态贡献力量。
- 开发bouffalo-hal支持库,在熟悉、了解BL808等BL系列芯片外设的基础上,为bouffalo-hal项目丰富功能。调研和适配运用于BL芯片的RustSBI实现(如RustSBI Prototyper)。
- 调研Rust生态无线协议栈和辅助软件包,完善BL808的无线互联软件生态。
- 开发和维护提供BL808等芯片原型设计、信息查询等功能的LLM Agent。
- 为bouffalo-hal、bouffalo-rt和BL808无线软件编写测试用例,完善项目的集成测试功能。使用用于BL芯片的RustSBI实现引导不同的操作系统和发行版,解决兼容性问题。
- 完成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开发板。
岗位介绍
作为甲辰计划的成员单位,PLCT实验室在RuyiSDK工程的范畴内发起了一个名为「RISC-V 操作系统支持矩阵」的观测工程。这个观测的目标是测试和验证每一款 RISC-V 开发板可以跑哪些操作系统和软件,以及每一款软件可以支持哪些 RISC-V 指令集扩展集合、从哪个版本开始支持、现状如何。PLCT实验室为此新成立了丁丑小队,郑景坤作为小队负责人和 mentor。
目前进行中/已完成的工作可查看 ruyisdk/support-matrix 仓库。
随着 RISC-V 开发板的快速增多,现有测试小队员工的精力不再能够快速覆盖所有的测试点。而这项工作的技术门槛并不高,需要耐心和细心,适合对 RISC-V 硬件和软件有兴趣的同学们快速参与进来。
甲辰联合招聘
本岗位属于甲辰计划联合实习生培养项目,目前计划每个开发板提供 2-3 名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。
截止 20240719 支持该岗位的甲辰计划成员有:
- PLCT实验室
- 苦芽科技(Kubuds)
- 进迭时空
- 矽速科技(Sipeed)
- 群芯闪耀(Milk-V)
- 迅龙软件
- 英麒智能
- 算能
工作内容
工作默认在具体的某一款或多款 RISC-V 设备上进行。需要实习同学自行准备 RISC-V 设备(可以通过甲辰计划 「RISC-V 开发板随缘漂流计划」 免费申请)。
- 测试(特定) RISC-V 开发板等设备的操作系统、应用软件、工具链和运行时系统的可用性、稳定性与性能。
- 提交测试报告,编写相关文档。同时,鼓励自己动手修复找到的缺陷。
- 相关文档的 i18n / 国际化工作。
- 参与技术分享、交流。
岗位要求
- 能力等级:LV2+ 或“一生一芯”学习经历证明。
- 大学英语四级/六级或同等水平,能够在即时通讯软件、国际开源社区流畅与外国人交流的程度,能够做简单的技术文档翻译工作。
- 使用过至少一种 Linux 发行版,能够独立看着官方文档进行配置以自己日常使用需求的程度。
- 微信等即时通讯软件响应速度快。尤其是工作日。
- 做事细心、有耐心。有良好的沟通表达能力。
- Bonus: 使用/调试过至少一款开发板,当然,如果是 RISC-V 开发板更好。
- Bonus²: 有和社区对线(非暴力沟通)的经验。
岗位介绍:
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审批确认之后追加发放。
工作内容
- 测试验证 Deepin RISC-V,确认现状,进行 gap 分析。
- 巩固和扩展 Deepin RISC-V 所需的基础架构和自动化构建测试环境。
- 打包修包,让开发者日常使用的各种软件(Eclipse、VSCode、Firefox、Chromium、Thunderbird 等)丝滑运行在 Deepin RISC-V 上。
- 支持目前市面上所有 RISC-V SBC 及更高算力设备,包括 Pioneer Box、 MUSE Book、 Lichee Book、 VisionFive 2 等。
- 有社交能力的同学还可以参与高校联系,建立 RISC-V 社区、组织技术沙龙。
岗位要求
- 对 Deepin 社区热爱。
- 所有实习生在入职之前,就应该自行尝试过运行 Deepin RISC-V,自行完成 RISC-V 环境的配置。
- 需要LV2级以上。
- 研究生、本科或大专在读(国内高校默认要求学信网可以查到在读状态、国外高校需要具有体现本人姓名和预期毕业时间的身份卡片或类似证明)。
- 远程实习的同学需要自备至少一款 RISC-V SBC 或更高算力设备;本岗位同时在武汉开放部分工位,感兴趣的同学请在后续联系首席导师进一步了解。
中国科学院软件研究所有一个实验性项目是使用香山芯片制造笔记本电脑在内的一系列设备。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
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 级以上。
- 研究生、本科或大专在读(国内高校默认要求学信网可以查到在读状态、国外高校需要具有体现本人姓名和预期毕业时间的身份卡片或类似证明)。
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 级以上。
- 研究生、本科或大专在读(国内高校默认要求学信网可以查到在读状态、国外高校需要具有体现本人姓名和预期毕业时间的身份卡片或类似证明)。
岗位介绍:
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 进行协商细分
- 测试分析ROS性能,寻找瓶颈 (较高难度,需要复习通信和操作系统等专业知识)
- 扩展更多功能包 (ROS专业,体系架构联系较弱,需要Coding能力)
- 对 RISC-V支持(RISCV+ROS)
- 深入分析ROS源码并给出分析报告和技术分享(要求有出道需要的厚脸皮和大心脏)
- AI算法扩展与优化(AI相关算法在 RISC-V 设备上的优化;AI相关算法在 TPU/NPU/GPU 上的优化)
- 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 抽象层级多、与物理世界交互,需要尤其具有耐心。
- 研究生、本科或大专在读(国内高校默认要求学信网可以查到在读状态、国外高校需要具有体现本人姓名和预期毕业时间的身份卡片或类似证明)。
- 工作内容中部分要求实际操作机器人硬件设备,有可能需要按需去实验区域操作,此类工作优先选择北京、深圳、南京、杭州、上海、武汉六个城市的学生。
工作内容:
- 参与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语言能力出众。
原第三测试小队。现主要负责 RuyiSDK 测试方向,包括 Ruyi 包管理器的测试和 Ruyi IDE 的测试; Ruyi 包管理器的打包。
总目标:
- 测试目标:设计一套完善的系统测试流程,主要应用过程驱动测试和数据驱动测试。
- 打包目标:让 Debian/Ubuntu/Fedora/openEuler/Archlinux/Gentoo 使用各自的包管理器方便地安装和升级 Ruyi 包管理器。
工作内容:
写代码和做调研,产出物通常为代码、文档、 PPT。
- 测试用例开发。主要应用 ruyi-mugen 和 openQA,了解 RuyiSDK 的测试目标,知道测试的目的是什么,改进测试用例、策略和流程。
- 测试框架调研。吸收新的测试框架或框架设计思想,以改进现有的测试流程,比如 lit。
- 测试框架开发。测试使用的 ruyi-mugen 实际应用中很难提升测试覆盖率,设计新的测试框架在提升覆盖率的同时兼顾复杂的过程测试。
岗位要求:
- LV2 及以上。在没有外界支援的情况下使用 Bash、 Python 两种程序语言完成开发工作,在使用其他语言开发时提供 Python 接口。
- 能够理解英文文档。没有硬性等级要求,但是要有这样的能力。
- 在 Linux 上工作程度的能力。能够使用单 Linux/MacOS 工作,能够以远程连接的方式在 Linux 主机/容器上工作,要熟悉常见的国内外 Linux 发行版。
- 知道什么是测试。了解软件测试的方法论,理解自动化测试的脚本生成,知道过程驱动测试、数据驱动测试、关键字驱动测试,能够在有限的算力下实现更高的测试效益。
- 了解软件包打包。能够为 Debian/Fedora 打出可用的软件包。
- 步调一致。微信(或其他通讯方式)响应速度快、自驱力强,有及时进行信息同步的意识。
岗位介绍:对RISC-V有兴趣?平时爱刷短视频?这里有个实习岗位很适合你~ get新技能,熟练之后,尝试变成可以传授这个技能的专家吧!把你学会的RISC-V知识做成短视频~
工作内容:
- 调研RISC-V教学内容,形成调研报告。
- 学习RISC-V知识,测试复现已有的教学视频并编写教学短视频脚本。
- 录制/拍摄教学视频及后期剪辑。
- 协助mentor处理运营相关事务。
岗位要求:
- LV2 及以上。
- 爱刷短视频,了解流行元素。
- 有制作教学视频或技术分享类视频的经验。
- 自学了 RISC-V 指令集。在自己的电脑上部署运行起来QEMU-RISCV64。
- 微信响应速度快、自驱力强、良好的沟通和表达能力。
工作内容:
- 写代码,帮助国内 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 为单位叠加
任务描述
让 Gold Linker 支持 RISC-V,并且持续优化和维护。
能力要求
LV3 以上。需要完成下手任务的前4步才能投简历。
学习步骤和工作步骤
Linker的移植从简单到复杂,先支持静态链接(static linking),再支持动态链 接(dynamic linking)。
-
确保手头有最新的: 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
-
阅读ELF格式手册和 RISC-V ABI 手册,Relocation 相关的部分着重(一周)
-
编写一个简单的 ELF parser,能parse最简单的 helloworld.o,尤其是 .rel/.rela 段,需要跟 readelf -Wr 输出一致(一周)
-
结合RISC-V ISA系统性的汇报RISC-V带立即数编码的指令和关联的relocation类型 (一周)【完成这一步就可以发简历了】
-
开始在GOLD linker实做RISC-V静态链接支持(3-5周): A. 添加RISC-V dummy框架,确保能编译出后端 B. 添加基本的静态链接需要的hook,确保能出发相关的代码 C. 添加h elloworld 静态链接重定位支持
-
系统性的学习动态链接的知识,汇报GOT/PLT表机制原理(一周)
-
调研 RISC-V GOT/PLT 表结构并汇报(一周)
-
在 GOLD linker 实作RISC-V动态链接支持(两周 ~ 四周)
-
系统性的学习TLS(thread local storage)相关知识(一周)
-
在 GOLD linker 实作 TLS optimization (一周 ~ 两周)
-
IFUNC支持(两周)
全程三个月 ~ 六个月。计划明年6/7月upstream。对参与者来说是难得的机会。
岗位介绍:
参与 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个小时在线一起工作。
岗位介绍:
Flang 是 LLVM 的 Fortran 语言前端,处于积极开发之中。Flang 当前存在很多问题有待修复,也有一些功能尚未实现。
已经确认有待修复的问题可以参见:
计划中、尚未实现的功能可以参见:
实习内容:
- 参与 Flang 已知问题的修复,并将工作提交到上游
- 参与 Flang 尚未实现功能的开发,并将工作提交到上游
- 利用 gfortran 测试集等对 Flang 进行测试,针对失败用例进行修复或整理提交 issue 到上游
岗位要求:
- 基础能力 LV2 及以上,熟练使用脚本语言,shell/python 等。
- 熟悉 LLVM 编译器,了解 Fortran 语言。
- 可以流畅书写和阅读英文。
- 有 LLVM/MLIR 相关开发经验者优先。
岗位介绍:
为 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...)
岗位要求:
- LV3及以上。
- 熟练英文文字交流。
- 懂得礼貌友好的进行英文社区沟通。
岗位介绍:
中国科学院软件研究所PLCT团队开发和维护着包括 openEuler RISC-V 在内的多个 Linux 发行版。为了保证 RISC-V 平台用户的使用体验,在操作系统的自动化测试之外,需要大量的进行物理设备上的测试验证。本岗位的工作内容是借助于 ISCAS RISC-V Lab 中丰富的 RISC-V 开发板和计算机,对包括 openEuler、 RevyOS、 RT-Thread 在内的多种操作系统进行实际的安装、使用、测试,并验证浏览器、办公软件等常用软件在 RISC-V 上的运行稳定性。
实习内容:
- 根据测试要求,将 openEuler 等多款操作系统安装在 Pioneer Box、 LicheePi 4A 等 RISC-V 设备上,并测试功能可用性、稳定性、性能。
- 评审和修改完善相关的技术文档。
- 参与测试用例的撰写,包括手工测试用例和自动化测试脚本等。
- 参与技术分享,包括中文和英文会议的发言等。
- 工作突出的同学有机会代表测试小队在各类 RISC-V 会议上进行演讲。
岗位要求和说明:
- 需要达到 LV2 能力等级,并且没有在软件所实习过。
- 做事细心不浮躁,写文档有耐心。
- 在投递简历之前,需要已经自学过 RISC-V 是什么,并且能够在 Linux 环境下的 QEMU 上跑起来 openEuler RISC-V。
- 要求北京学校在校大学生,可以来软件所北京本部坐班,工作日每周至少2天。实习生费用按照出勤天数(100元/天)+外部可见产出(可变)叠加的方式。
- 注意不提供住宿和任何补助,北京以外其他城市同学可以看看其他岗位信息,基本都是可以远程的。
岗位介绍:
DynamoRIO 是一个运行时的二进制动态插桩系统,广泛地用于程序的分析、模拟、优化以及性能评估等等。目前 DynamoRIO 的核心模块已经支持 RISC-V,但仍有大量工作需要推进。
实习内容:
和 mentor 一起参与 DynamoRIO for RISC-V 的开发,并将自己的工作直接提交到上游。
岗位要求:
- 基础能力 Lv2 及以上;
- 对 RISC-V 指令集有一定了解;
- 可以流畅书写和阅读英文;
- 投递简历之前,我们希望你已经了解并尝试使用过 DynamoRIO。
工作内容:
- 参与PLCT实验室在SAIL等相关开源项目的开发。在开源社区直接提交代码。
入职要求:
- LV3+,对RISC-V形式化模型的内部实现有兴趣。
- 远程实习,不需要坐班。
岗位名称: 编译器性能评测实习生
mentor: 廖春玉 等。
工作内容: 搜集开源 benchmarks,用 GCC 和 LLVM 分别编译 benchmark,对比 benchmark 的性能数据。具体:
- 需要使用 GCC 和 Clang 编译 benchmark,对比 benchmark 的指令数和 codesize 等指标。
- 每日用 Clang 编译 benchmark,完善CI;分析自动化脚本的输出,如果指令数和 codesize 比前一天的有所增加提示具体 benchmark 的信息,并保留 log 和 Clang 的 commit IDs.
- 根据需要配置不同版本和配置的本地工具链,随时手动复现结果并进行汇编或 trace 级别的分析。
报名要求:
- LV3及以上;熟练使用脚本语言,shell/python 等。
- 熟悉 GCC 和 LLVM 编译器。 能够成功编译并读懂测试集输出的数据。(例如 [email protected]:llvm/llvm-test-suite.git )
- 了解 benchmark 的方法学,熟悉创建测试集,比如 spec cpu 2006, coremark 等。
- 熟练使用 llvm-test-suite,对其实现过外部 benchmark 扩展功能支持的优先。
(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+ 及以上能力等级。
参考信息:
- slang仓库: https://github.com/MikePopoloski/slang
- Moore仓库: https://github.com/fabianschuiki/moore
- CIRCT: https://circt.llvm.org/
(本岗位为外部社区联合贡献岗位,mentor来自 eunomia-bpf 社区。)
eunomia-bpf 社区是一个致力于探索、改进、扩展 eBPF 相关开发工具链和运行时的开源社区,我们维护了一系列的开源项目、文档教程,并且积极探索将 eBPF 从内核态扩展到用户态、简化 eBPF 的开发和移植、发布流程、使用 LLM 自动生成 eBPF 代码、将 Wasm 和 eBPF 结合起来等等相关解决方案。希望我们能有机会一起扩展整个 eBPF 生态的边界,并且做出能持续长久、有影响力的开源项目。
- 主页: https://eunomia.dev 和 https://github.com/eunomia-bpf
- 教程:https://eunomia.dev/zh/tutorials/ 和博客:https://eunomia.dev/zh/blogs/
工作内容:
- 维护 eunomia-bpf 社区中的项目,并积极向内核和相关上游社区贡献代码
- 追踪 eBPF 相关领域的研究和工程实践,了解、响应社区开发者的需求,以及给出让人耳目一新的解决方案
- 向 PLCT 内部和全世界输出文档、教程、演讲和论文,分享和扩大我们的工作影响力,普及 eBPF 相关知识和实践(比如我们之前在 Kubecon 和 Linux Plumbers 等等的 Talk)
岗位要求:
- LV2+ (如果你自我评级 LV2 的话,可以先从文档和测试工作做起?)
- 在投递岗位之前学习过 eBPF,如果没接触过的话,这里有个关于如何学习 eBPF 的小建议:https://eunomia.dev/zh/tutorials/0-introduce/ (花个两三天看看也好?)
- 学习过 C/C++ 和操作系统相关知识
- 希望能在以下任何一个方向有一些了解或背景:eBPF 的内核实现本身,LLVM/编译工具链与运行时,WebAssembly,二进制插桩与反编译,LLM/langchain/GPT,可观测性和性能分析,可编程网络(没有也没关系,如果你愿意并且有能力现学的话?)
- 英文阅读能力和解决、调试复杂问题的能力
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)
- 维护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/#/
- 参与并推进 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/#/
- 一个国际的开源项目:开发维护一套 riscv mcu 下的 mlibc 库;
- 小型化的 libc 库,针对体积做特殊优化;
- 使用这个 mlibc 出一份 riscv 工具链;
- 电子、计算机、通信、自动控制等专业;
- c语言基础扎实,熟悉计算机体系结构;
- 熟悉一种或数种嵌入式CPU软硬件平台,例如STM32,RISC-V等;
- 有强烈的学习能力和学习新知识的欲望;
工作内容
- 最近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文档,那么都算是加分项。
- 远程实习,不需要坐班。
工作内容:
- 参与PLCT实验室 V8 for RISC-V 相关项目的开发。在开源社区直接提交代码。
入职要求:
- LV4及以上,熟练的英语交流。
- C++ 要熟练。新特性了然于胸。
- 需要已经看过 V8 的源代码,自行构建 riscv64 后端成功。
- 需要熟悉 JavaScript 语言。如果看过 WebAssembly 加分。
- 远程实习,不需要坐班。
我们相信MLIR将会成为未来编译器框架的实施标准。因此从2021年开始,PLCT实验室将 MLIR 列入了「关键开源基础设施」名单,已经跟 LLVM、GCC 一样成为PLCT实验室的长期管理对象。
工作内容:
- 参与PLCT实验室 MLIR 相关开源项目的开发。
- 参与 Buddy Compiler 开发。
入职要求:
- LV3+,能进行英语交流,对编译技术有很好的了解。对 MLIR 项目有浓厚的兴趣。
- 远程实习,不需要坐班。
工作内容: 参与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 名)【结束招聘:无人投简历 & 被新岗位覆盖】
- P120 RISC-V 测试实习生(郑景坤小队,RuyiSDK 支持矩阵) 【合并进入 J129】