Description
腾讯犀牛鸟开源人才培养计划
Tencent Rhino-bird Open-source Training Program
2021年腾讯首次发布“犀牛鸟开源人才培养计划”,通过打造面向高校学生的开源课程和开源实践培养方案,培育开源人才、普及开源文化,助力开源人才生态的发展。5月30日,2022年度“犀牛鸟开源人才培养计划”正式启动,由教育部计算机类专业教学指导委员会、教育部软件工程专业教学指导委员会、教育部电子信息类专业教学指导委员会、中国信息通信研究院作为联合指导单位,腾讯开源和腾讯高校合作联合主办,培养计划涉及开源基础课程、开源进阶研学和开源项目实战三大阶段培养。本届培养计划除了来自腾讯的热点开源项目之外,还有来自清华大学、北京大学、中国人民大学与腾讯基于联合实验室平台合作开展的开源项目,涉及技术领域包括人工智能、大数据、前端应用、基础平台(操作系统)、数据库等。
各位同学报名即可参加线上开源系列课程,学习开源知识,对话学界及产业界大咖。其中入选开源项目实战的学生将在导师的一对一指导下,利用暑假开展编程实战。
更多项目信息请看官网:https://opensource.tencent.com/summer-of-code
项目简介
一个为手机端极致优化的高性能神经网络前向计算框架。基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP,将 AI 带到你的指尖。
项目导师
倪辉,ncnn作者
导师寄语
ncnn是业界知名的AI推理框架,社区支持很好,参与研发是能学到知识和技术的,导师会很耐心帮助你的,对吧对吧!
编程任务
Project: ncnn custom namespace
Brief Explanation: 允许用户编译时指定namespace,替代ncnn,以便多个版本ncnn同时使用
Knowledge Prerequisite: C++
Level: Easy
Project: ncnn resize_nearest
Brief Explanation: 实现resize_nearest_c1/c2/c3/c4
Knowledge Prerequisite: C++, Image Processing
Level: Easy
Project: ncnn convert_color
Brief Explanation: convert_color rgb/rgba/bgr/bgra/gray/hsv/hsl/yuv/...
Knowledge Prerequisite: C++, Image Processing
Level: Medium
Project: ncnn optimize pixel drawing with x86 sse2 and arm neon
Brief Explanation: optimize pixel drawing api, eg draw line/circle/text
Knowledge Prerequisite: C++, SIMD
Level: Medium/Advanced
Project: ncnn optimize layernorm with x86 sse2/avx/avx512
Brief Explanation: pick layernorm and optimize it :)
Knowledge Prerequisite: C++, SIMD
Level: Medium/Advanced
Project: ncnn optimize layernorm with arm neon/fp16s/fp16sa/bf16s
Brief Explanation: pick layernorm and optimize it :)
Knowledge Prerequisite: C++, SIMD
Level: Medium/Advanced
Project: ncnn optimize layernorm with mips msa / riscv vector
Brief Explanation: pick layernorm and optimize it :)
Knowledge Prerequisite: C++, SIMD
Level: Medium/Advanced
Project: ncnn implement grid_sample
Brief Explanation: implement grid_sample operator and pnnx conversion
Knowledge Prerequisite: C++, PyTorch
Level: Medium/Advanced
Project: ncnn implement argmax/argmin
Brief Explanation: implement argmax/argmin operator and pnnx conversion
Knowledge Prerequisite: C++, PyTorch
Level: Medium/Advanced
Project: ncnn resolve cpu smp and big-little topology on windows
Brief Explanation: so we could resolve the best threading policy
Knowledge Prerequisite: C++, SIMD
Level: Medium
Project: ncnn better cpu memory pool
Brief Explanation: reduce allocation overhead and save some memory
Knowledge Prerequisite: C++, Linux
Level: Medium/Advanced
Project: ncnn integer requantize
Brief Explanation: implement requantize with integer multiply and shift
Knowledge Prerequisite: C++
Level: Medium/Advanced
Project: ncnn convert pytorch qat model via pnnx
Brief Explanation: convert qat model to ncnn
Knowledge Prerequisite: C++, PyTorch
Level: Advanced
联系导师
倪辉:nihuini@tencent.com