Senior GPU Compute Performance Analysis Engineer

We design scalable, energy efficient-processors and related technologies to deliver the intelligence in applications ranging from sensors to servers, including smartphones, tablets, enterprise infrastructure and the Internet of Things.

 

Your new team


You'll join a multifaceted, collaborative and highly motivated Agile software development team working with next generation Mali™ mobile GPUs.
Developing with the latest yet-to-be-published Android versions and crafting the technologies that the mobile market will see in years to come. This inclusive multinational development team is based in Cambridge, the technological center of the UK.


Job purpose
The GPU group writes the layer of the driver that implements the popular GPU compute APIs, such as OpenCL and Vulkan which provide massively parallel execution of general-purpose code on GPUs.


Our many customers have performance-critical GPU compute use cases that include machine learning (ML), image processing & computer vision (CV), video encoding and decoding. Mobile devices are highly constrained environments, and our challenge is to provide this sophisticated functionality, while improving both dependability and efficiency.
If you want to develop your skills and understanding in these technologies, this is the opportunity for you. 


Day to day activities:

 

Performance analysis and optimization investigations of various benchmarks, analysing the results and identifying optimisation opportunities in the driver, compiler, and hardware architecture. New benchmarks and technologies will be added and evaluated for competitive performance comparisons. The team also assesses the performance of future GPUs for the latest use cases. You will work in a Linux environment, working on Arm-based targets including models, FPGAs and silicon from our partner companies (thereby covering past, present and future generations of our designs) As a member of an Agile team, you will have the chance to try your hand at different aspects of our work. Engineers grow their expertise through in-house and externally hosted training, and through peer code reviews. You will be working closely together with our community of engineering teams across Arm’s European design centers.


What will I be accountable for?

  • Participating in all phases of software development – including design, implementation, testing, code review and documentation.
  • Writing Python/Bash scripts and C/C++ code to implement benchmarking, automation, analysis and visualisation tools.
  • Test and analyse the functionality and performance of workloads on Arm Mali™ GPUs using numerous platforms.
  • Maintaining the existing codebase: fixing bugs and other quality assurance activities.
  • Engaging with the rest of the team for investigation, estimation, and planning purposes.
  • Promoting and demonstrate the Arm core beliefs and behaviors.


What skills, experience and qualifications do I need?


Essential

  • Experience in C and C++ programming.
  • Experience in scripting with Python and Bash.
  • A proven understanding of embedded hardware architectures and software engineering development practices.
  • Proficiency in problem solving and debugging with a practical, organized and analytical approach to work.
  • Good interpersonal team-working skills, self-motivated and results focused.
  • Good written and spoken English


Desirable


Don't worry if you don't have these skills, you'll be learning many of these as part of your activities, but it would be useful to have some already:

 

  • Experience of OpenCL, CUDA, or Vulkan.
  • Experience with machine learning.
  • Knowledge of software optimisation, profiling and instrumentation techniques.
  • Experience developing software for Linux or Android based systems.
  • Experience with data analysis and statistics.
  • Knowledge of the internal operation of compilers (particularly LLVM), although this is not a compiler role.
  • Familiarity with Git, and bug tracking tools.
  • Experience in crafting, design and test specifications and in the creation and maintenance of test suites
  • Automation skills, with exposure to Docker.
  • Experience with Agile development processes.
  • Experience of driver or HAL development.
  • Working exposure to software development for a commercial organization


#LI-SM1

 

Apply now


Add to shortlist

Login or create a free user account to upload your CV and shortlist jobs.

Create account

Other jobs at Arm Ltd

Closing date:
Closing date:
Closing date:
Closing date:
Closing date:
Closing date:
Closing date:
Closing date:
Closing date:
Closing date:

Looking for something specific?