Software Engineer – GPU
Job ID #: 18102
Job Category: Software Engineering
Employment Type: Experienced Professionals
Division: Central Engineering – GPU
Department: Central Engineering – GPU Engineering
Primary Country: UK
Primary Location: Cambridge
Job Description
Are you looking to join a diverse team where you will have the opportunity to lead, challenge the status quo, and where your ideas will make a difference? 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.
The tools and software you build will be used by both internal and external users across software and hardware teams for performance analysis, product integration, and hardware functional and performance validation for key benchmarks and content.
We seek 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 craft the technologies that the mobile market will see in years to come.
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 to develop the instrumentation needed for application and GPU driver performance analysis. Your challenge, as a senior member of the team, is to help drive the creation of the framework to analyse a system executing billions of operations per second across both hardware and software.
You are responsible for Mali GPU driver components across the software stack and a post-processing framework designed to allow rapid investigation, analysis, and debugging of performance.
Responsibilities on a day to day level:
- Participating in the design, implementation and testing of new features.
- Working closely with the many internal GPU teams to add instrumentation across the breadth of the driver.
- Writing ultra-low overhead code for both the user and kernel space drivers.
- Writing efficient code for the post-processing analysis framework as well as maintaining the existing codebase and reviewing your colleagues code.
- Writing and maintaining documentation.
- You might find yourself adding instrumentation for the latest graphics APIs or creating new libraries which consume raw instrumentation data and present easy to use APIs for use by your colleagues or Arm’s partners. You will build new tooling that supports software teams to be able to flexibly visualize their work.
What skills & Experience do you need?
- Excellent C programming language skills in multi process environments.
- Excellent problem solving & solution design experience. You’ve worked on requirements analysis, design, implementation, and debugging.
- The ability to express complex ideas to people of all technical abilities. A practical, organized and analytical approach to work.
- Experience of software development for a commercial organization.
- Good knowledge of the Python language and experience of implementing object oriented code in Python.
Optional experience:
- Experience in C++ programming.
- Knowledge of GLES and Vulkan APIs.
- An understanding of the GPU graphics pipeline.
- Driver development experience on either Linux or Android OS.
Apply for job
To view the job application please visit careers.peopleclick.com.
5 Expectations for the Memory Markets in 2025