PLCT实验室招聘 “OpenCV RISC-V 向量扩展移植与优化” 实习生|甲辰计划开源实习生联合招聘培养

文摘   2024-11-20 18:42   江苏  

本次实习机会为【甲辰计划开源实习联合招聘培养】的一部分,委托甲辰计划主理人吴伟进行招聘面试。不同的岗位有不同的 mentor。除特殊说明,实习默认为远程开源实习,不需要坐班,产出默认贡献到各大开源项目,欢迎广大同学们参与。

甲辰计划承认“一生一芯”CBAS认证体系。参加过一生一芯相关课程学习并提供学号及学习记录的同学,在绝大多数甲辰计划联合实习生培养岗位中将直接免除上机考试,直接进入 mentor pick 环节。

J146 OpenCV RISC-V 向量扩展移植与优化实习生 

(20241120 开放10名)

岗位介绍

该岗位旨在优化 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/halrvv/halrvv_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 开发经验。

  • 加分项:对开源贡献有较高热情,能够使用英文在开源社区中沟通交流。

实习合同签署说明

  • 首次签署实习合同为三个月,实习生随时可以加入和退出,实习证明以合同生效至实际退出之日为准。

  • 首次签署实习为开源远程实习。PLCT实验室是本次实习岗位的培养承担组织。

  • 实习期满之后实习生可以自由与甲辰计划成员企业协商续签,本实习对后续实习合同没有制约关系,实习形式与内容由用人单位和实习生双方自行协定。

  • 实习有实习费。每个月底统计外部可见产出,跟mentor商量实习费金额。次月25日左右发放。劳务费每个月根据产出浮动,浮动区间 0k - 5k,正常产出一般是税前 2k-3k 之间。厉害的产出不受5k的限制,可以更高。

  • 实习双方随时都可以解除契约。实习生离职前需要跟mentor沟通下工作交接,并商议好最后一笔实习费发放(如果有产出的话)。

如何正确的投递简历

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

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

有意者请投递简历至: 

吴伟 wuwei2016@iscas.ac.cn

邮件标题请按照以下格式: 

岗位编号 - 姓名 - 手机号码 - 学校

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

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

实习要求和注意事项

所有岗位都需要满足的:

  • 有强烈地上进心,希望自己能够变得更强。

  • 并且能够积极而谦卑地与他人一起共事,及时的响应团队成员的消息。

  • 岗位默认都是远程实习,因此需要你具有比较好的自律能力。

  • 希望你能够有至少三个月的实习时间,并能够保证每周有一些连续的时间可以用来实习。

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

  • 技术岗位默认要求能力等级达到LV2及以上。

  • 熟练使用 Linux 命令行;能够写简单的 Bash 脚本。

  • 熟练使用 git 进行团队合作。

  • 知道如何描述 bugs/issues 以及礼貌地向其他人求助,做到尽量不浪费他人的时间,将复现 bug 需要的信息提供完整。

  • 加分:自学了 RISC-V 指令集,包括 RV32GC 和 RV64GC。在自己的电脑上部署运行起来QEMU-RISCV64以及Spike模拟器。

  • 加分:对于网络知识有基本了解并熟练使用,例如SSH任意端口登陆、Port Forwarding、反向链接、ProxyCommand 等配置自行掌握。

运营岗位需要满足的:

  • 喜欢跟人打交道。能够倾听。能够观察和共情到他人的情感和需求。主动沟通。

  • 对外界有强烈的好奇心。

  • 具备网站制作、社区运营、公众号运营、社团组织、活动策划、美工设计等技能可以加分。

注意事项:

  • 需要注意开源社区都是个人出道,所有的行为都是公开的,要有一颗大心脏。


女性及少数群体STEM支持

  • 甲辰计划联合实习生提供至少 20% 岗位数量为女性工程师预留。

  • PLCT实验室、苦芽科技为女性及少数群体预留 50% 名额。

进一步了解:

https://github.com/rv2036/weloveinterns/blob/master/open-internships.md

让荣光落于刀锋之上!


CNRV
RISC-V中国社区
 最新文章