PLCT实验室招募实习生啦!做编译器哦!

最新更新:2020年4月21日,有效期2周。入职时间自现在至暑假开始都可以。不局限在暑假。同时要求实习时间至少3个月。全部远程实习。

来一起做点有意思有难度的事情吧!Do you can do, try your best!

软件所PLCT实验室简介

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

中科院软件所(ISCAS)智能软件研究中心(ISRC)的使命是以智能驱动软件发展,以软件支撑智能创新。面向智能计算发展趋势,瞄准高性能、高安全、低功耗、低延时等需求,研究智能基础理论与模型、软件新结构与编译构造方法、内核和运行时环境等,打造适配通用处理器、智能芯片和开放指令集的操作系统和编译工具链,建设开源软件可靠供应链和安全漏洞平台,研发智能无人系统仿真测试环境,支撑智能计算生态和重要行业应用。

中心目前有研究员 3 人,兼职研究员 3 人,副研究员/高级工程师 7 人,目前承担多项国家级的重点项目或课题,以及华为、腾讯、阿里等企业横向课题,近年来在国内外顶级会议和期刊上发表多篇论文,已成为国内在智能和系统软件交叉领域有影响力的团队。

我们需要什么样的实习生

所有PLCT实习生共性要求

入职要求:

  1. 具备良好的沟通理解能力;具备主动沟通能力;知道如何陈述bugs/issues以及求助。
  2. 达到LV3级别及以上;经常使用C++写代码;会Python/Bash脚本进行自动化测试等工作。
  3. 熟练使用 Google 搜索引擎;能够自我驱动,朝着目标不断尝试不同的路径。
  4. 熟练使用 Linux 命令行;熟练使用 Git,能够发送 patch set,能够自己 rebase 或解决 conflicts。
  5. 自学了 RISC-V 指令集,包括 RV32GC 和 RV64GC。在自己的电脑上部署运行起来QEMU-RISCV64以及Spike模拟器。
  6. 对于网络知识有基本了解并熟练使用,例如SSH任意端口登陆、Port Forwarding、反向链接、ProxyCommand 等配置自行掌握。

实习结束后可以得到什么

  1. 技术能力提升至少一个数量级(aka LV3至少变成LV4,LV4有可能进化成LV5)。
  2. 开源领域的贡献,知识产权由招聘单位贡献给社区,作者/提交者名誉归属实习生自己。
  3. LV4及以上有机会优先入职软件所PLCT实验室。
  4. LV3以上完成实习内容的同学可以得到编译领域各大公司(华为、今日头条、阿里、腾讯等)内推。

PLCT不提供什么

  1. 我们目前隶属在市事业单位,能够开出来的实习工资很低,LV2一般标准是 1500RMB/mo,可以些许上浮。如果需要赚钱贴补日常开销,那么PLCT并不是合适的实习场所。
  2. 我们不保证稳定。新加入实习生有3~4周时间证明自己。之后如果达不到标准实习会被终止。

如何正确的投递简历

请认真阅读。不符合条件的邮件不会收到回复。

有意者请投递简历至:
吴老师 wuwei2016@iscas.ac.cn

邮件标题请注明:
实习生应聘 - 岗位 - 姓名 - 学校 - 手机号码

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

开放实习生岗位

RISC-V IDE 开发实习生(不超过10名)

工作内容:

  1. 参与PLCT实验室 IDE for RISC-V 相关项目的开发。
  2. 负责撰写学习技术报告、对开发内容进行讲解、就自己所学所写进行技术报告。
  3. 负责PLCT实验室相关的国家纵向课题开发及文档工作。

入职要求:

  1. 满足PLCT实习生共性要求。
  2. 在自己的电脑上编译通过Clang/LLVM的源代码和回归测试集。
  3. 事先搜索和阅读过 Eclipse 和/或 VSCode 的架构。什么都不知道就投简历会在电话面试初筛中被刷。

Clang/LLVM 开发实习生(不超过10名)

工作内容:

  1. 参与PLCT实验室 Clang/LLVM 相关项目的开发,包括但不限于 rvv-llvm、玄铁C910相关实现。
  2. 负责撰写学习技术报告、对开发内容进行讲解、就自己所学所写进行技术报告。
  3. 负责PLCT实验室相关的国家纵向课题开发及文档工作。

入职要求:

  1. 满足PLCT实习生共性要求。
  2. 在自己的电脑上编译通过Clang/LLVM的源代码和回归测试集。
  3. 对于LLVM的IR和架构有了解。什么都不知道就投简历会在电话面试初筛中被刷。

V8 开发实习生(不超过5名)

工作内容:

  1. 参与PLCT实验室 V8 for RISC-V 相关项目的开发。
  2. 负责撰写学习技术报告、对开发内容进行讲解、就自己所学所写进行技术报告。

入职要求:

  1. 满足PLCT实习生共性要求。
  2. 在自己的电脑上编译通过V8的源代码和回归测试集。
  3. 观看过V8团队的技术报告,对于编译原理、虚拟机原理、V8的架构有初步了解。
    什么都不知道就投简历会在电话面试初筛中被刷。

方舟开源编译器开发实习生(不超过3名)

工作内容:

  1. 参与PLCT实验室 方舟编译器以及 Toy Runtime 相关项目的开发。
  2. 负责撰写学习技术报告、对开发内容进行讲解、就自己所学所写进行技术报告。

入职要求:

  1. 满足PLCT实习生共性要求。
  2. 在自己的电脑上编译通过 OpenArkCompiler 的源代码和回归测试集。
  3. 对于编译原理初步了解。什么都不知道就投简历会在电话面试初筛中被刷。

QEMU、Spike 开源模拟器开发实习生(不超过2名)

工作内容:

  1. 参与PLCT实验室在QEMU、Spike等相关开源项目的开发。
  2. 负责撰写学习技术报告、对开发内容进行讲解、就自己所学所写进行技术报告。

入职要求:

  1. 满足PLCT实习生共性要求。
  2. 从源代码编译并运行起来 QEMU-RISCV64、Spike。
  3. 对于编译原理和模拟器初步了解。什么都不知道就投简历会在电话面试初筛中被刷。

Linux for RISC-V 移植开发实习生(不超过10名)

工作内容:

  1. 参与PLCT实验室将 Debian、Fedora 移植到 RISC-V 架构的验证、移植开发。主要是涉及到编译器或虚拟机的软件,需要进行验证和移植。
  2. 负责撰写学习技术报告、对开发内容进行讲解、就自己所学所写进行技术报告。

入职要求:

  1. 满足PLCT实习生共性要求。同时覆盖LV的要求,只需要达到LV2即可。
  2. 从源代码编译并运行起来 QEMU-RISCV64。
  3. 任选 Debian 10 和 Fedora 31 两个中的一个,搭建起来交叉编译环境,编译出来RV64GC架构的 Hello World C程序。