![](https://careers.recruiteecdn.com/image/upload/q_auto,f_auto,w_1920,c_limit/production/images/Anne/pL3uBj2BnscZ.jpeg)
Job description
Huawei Canada has an immediate permanent opening for a Senior Software Engineer.
About the team:
The Computing Data Application Acceleration Lab aims to create a leading global data analytics platform organized into three specialized teams using innovative programming technologies. This team focuses on full-stack innovations, including software-hardware co-design and optimizing data efficiency at both the storage and runtime layers. This team also develops next-generation GPU architecture for gaming, cloud rendering, VR/AR, and Metaverse applications.
One of the goals of this lab are to enhance algorithm performance and training efficiency across industries, fostering long-term competitiveness.
About the job:
- As a key member of the team, you will work to push the performance boundary of our rendering infrastructure.
- You will be contributing to design and implement some software components of Huawei cloud rendering service, such as GPU virtualization, task scheduling, frame buffer capture and streaming.
- Together with the team, you will deliver high quality and low latency graphics user experience in the areas of cloud gaming, wireless AR/VR/XR, rendering farm, digital twin, and Metaverse.
Job requirements
About the ideal candidate:
- Excellent C/C++ programming skills; Expert skill of multi-threading and parallel programming.
- Good knowledge of Linux kernel, cache, memory management, and low level device driver; Windows D3D11/12, WDDM driver development and X server experience is an asset.
- Excellent GPU performance tuning skills. Experience of profiling, debugging, pipeline optimization and H/W debugging tools.
- Sound knowledge of graphics rendering pipeline (rasterization and ray-tracing); GPU virtualization, hypervisor (Qemu/KVM/VirtualBox/Xen) and parallel rendering experience is an asset.
- Experience of shader language, Vulkan GPU memory management; JIT, LLVM compiler, assembly language knowledge is an asset.
- Knowledge of ARM and x86 CPU architecture.
- Linux X window capture and video encoding/streaming experience is an asset.
- Excellent communication skills and self-motivated with strong commitment to project timeline.
or
All done!
Your application has been successfully submitted!