Staff SW engineer - GPU and performance analysis for Mali drivers
ARM - Staff Software Engineer - Cambridge Cambridgeshire CB1 9NJ
Are you looking to join a dynamic team where your ideas will make a difference and you will have the opportunity to lead, challenge the status quo? This is an amazing opportunity to influence mobile GPU products and technology that millions of people will use around the globe years ahead of the product release.
We seeks highly skilled and motivated engineers to join an Agile software development team within our GPU division. Working on the next generation Mali™ mobile GPUs and the latest yet-to-be-published Android versions, you will help shape the technologies that the mobile market will see in years to come.
The tools and software you create will be used by both internal and external users across SW and HW divisions for performance analysis, product integration, HW functional and performance validation and GPU conformance for key benchmark and content.
Please have a look at the following video to see what it's like to work in GPU: https://youtu.be/F4tNBNBgYEY
What are you involved in?
You will work closely with the multi-disciplined engineering teams across our global design centres developing drivers and the instrumentation needed for graphics and computer performance analysis. Your challenge as the senior in the team, is to drive the creation of the framework to analyse a system executing millions of operations per second across both hardware and software.
You are responsible for the Mali GPU driver components and framework devoted to instrumentation, GPU job dumping, performance analysis tooling and debugging utilities.
Responsibilities on a day to day level:
- Participating in the design, implementation and testing of new features.
- Working closely with internal teams both on hardware and software development side. This collaboration results in you writing ultra-low overhead code for both the user and kernel space parts of the driver.
- Designing and implementing robust capture and replay complex 3D content framework on future GPU.
- You are writing efficient code for the post-processing analysis framework as well as maintaining the existing codebase and reviewing your colleagues codes.
- Writing and maintaining documentation.
What skills & Experience do you need?
- Excellent C programming language in multi process environment.
- Excellent problem solving & solution design experience. You've worked on requirements analysis, design, implementation, and debugging.
- Ability to express complex ideas to people of all technical abilities. Practical, organized and analytical approach to work.
- Experience of software development for a commercial organization.
- Driver Development experience on either Linux or Android OS.
- Good knowledge of Python language and OOP implementation in Python.
- Experience in C++ programming
- Knowledge of GLES and Vulkan API
- Knowledge of GPU graphic pipeline