小米新业务部-多媒体GPU驱动软件工程师
社招全职3年以上A114400地点:上海 | 西安状态:招聘
任职要求
1、 通信、电子工程、数学、计算机类,本科及其以上学历,3年及以上相关工作经验; 2、 熟练使用C/C++等编程语言,有Android Framework相关开发经验、GPU UMD/KMD驱动开发、GPU集成验证经验优先,熟悉Linux驱动开发; 3、 熟悉GPU硬件、图形渲染管线、OpenGLES、VULKAN、OpenCL开发经验优先,熟悉相关模块的HAL以及Kernel驱动流程者优先; 4、 主动积极并具有团队合作精神,自我激励能力,并有良好的沟通技巧。
工作职责
1、 负责Android平台多媒体GPU UMD/KMD驱动移植和维护、bring up、深度优化、基础GPU上下电、调频功能等特性开发 2、 负责Android FPGA/ASIC GPU模块功能验证,与芯片沟通、及时发现并解决相关问题,保证相关硬件的功能正常 3、 负责GPU图形渲染、性能相关问题解决,包括HWUI、SKIA、SurfaceFlinger、应用/游戏渲染异常、XTS、卡顿丢帧等问题 4、 负责Android平台UI图形渲染框架优化及优化特性开发 5、 负责Linux图形系统DXVK、ZINK、GPU驱动适配开发 6、 负责游戏渲染管线、渲染算法性能功耗优化特性功能开发
包括英文材料
学历+
C+
https://www.freecodecamp.org/chinese/news/the-c-beginners-handbook/
本手册遵循二八定律。你将在 20% 的时间内学习 80% 的 C 编程语言。
https://www.youtube.com/watch?v=87SH2Cn0s9A
https://www.youtube.com/watch?v=KJgsSFOSQv0
This course will give you a full introduction into all of the core concepts in the C programming language.
https://www.youtube.com/watch?v=PaPN51Mm5qQ
In this complete C programming course, Dr. Charles Severance (aka Dr. Chuck) will help you understand computer architecture and low-level programming with the help of the classic C Programming language book written by Brian Kernighan and Dennis Ritchie.
C+++
https://www.learncpp.com/
LearnCpp.com is a free website devoted to teaching you how to program in modern C++.
https://www.youtube.com/watch?v=ZzaPdXTrSb8
Android+
https://roadmap.sh/android
Step by step guide to becoming an Android developer .
https://www.youtube.com/playlist?list=PLQkwcJG4YTCSVDhww92llY3CAnc_vUhsm
Linux+
https://ryanstutorials.net/linuxtutorial/
Ok, so you want to learn how to use the Bash command line interface (terminal) on Unix/Linux.
https://ubuntu.com/tutorials/command-line-for-beginners
The Linux command line is a text interface to your computer.
https://www.youtube.com/watch?v=6WatcfENsOU
In this Linux crash course, you will learn the fundamental skills and tools you need to become a proficient Linux system administrator.
https://www.youtube.com/watch?v=v392lEyM29A
Never fear the command line again, make it fear you.
https://www.youtube.com/watch?v=ZtqBQ68cfJc
OpenCL+
https://developer.nvidia.com/opencl
OpenCL™ (Open Computing Language) is a low-level API for heterogeneous computing that runs on CUDA-powered GPUs.
https://engineering.purdue.edu/~smidkiff/ece563/NVidiaGPUTeachingToolkit/Mod20OpenCL/3rd-Edition-AppendixA-intro-to-OpenCL.pdf
we will give a brief overview of OpenCL for CUDA programers.
[英文] Hands On OpenCL
https://handsonopencl.github.io/
An open source two-day lecture course for teaching and learning OpenCL
https://leonardoaraujosantos.gitbook.io/opencl/chapter1
Open Computing Language is a framework for writing programs that execute across heterogeneous platforms.
https://ulhpc-tutorials.readthedocs.io/en/latest/gpu/opencl/
OpenCL came as a standard for heterogeneous programming that enables a code to run in different platforms.
https://www.youtube.com/watch?v=4q9fPOI-x80
This presentation will show how to make use of the GPU from Java using OpenCL.
相关职位
社招3年以上I9060
1、 负责Android平台多媒体(GPU、Display、Camera、NPU、Vcodec)相关软件架构设计与开发,相关媒体模块的优化; 2、 负责上述媒体相关的IP的FPGA验证工作,与芯片沟通、及时发现并解决相关问题,保证相关硬件的功能正常; 3、 负责上述媒体相关的IP在Android平台上面的Bring Up、移植、深度优化,以及相关驱动的开发和维护; 4、 负责上述媒体相关的IP的PQ算法验证及相关HAL及驱动开发和维护; 5、 负责Linux平台相关媒体模块的驱动开发与维护。
更新于 2023-04-26
社招2年以上S8689
岗位职责:1)负责其中一门多媒体(AI,ISP/CV/AR,显示,音频,编解码或Sensor Hub)IP模块验证计划制定、测试用例开发,覆盖率收集和分析;2)负责多媒体IP模块验证环境和流程的开发和维护;3)负责编写测试用例、遵循UVM验证架构;4)结合架构、IC设计和驱动软件部的需求,完成相应多媒体IP 的验证工作
更新于 2023-01-31
社招5年以上A2076
1,参与多媒体IP的规格讨论、方案设计,负责重点IP的选型; 2,端到端拉通输出各个领域的详细需求,并能够满足产品的定义,保证产品的竞争力; 3,负责Android平台多媒体(GPU、Display、Camera、NPU、Vcodec)相关IP的软件架构设计,并负责主要方案实现; 4,负责多媒体的新技术调研与重点难点问题攻关; 5,负责产品性能、低功耗等方案的输出; 6,负责多媒体跨领域,跨IP场景需求分析,系统设计,产品竞争力,卖点交付达成;
更新于 2023-01-31