Senior GPU Compute Software Engineer (Hiring Immediately) - Cambridge - ref. b71519715
Job Overview:**
Our group writes the layer of the driver that implements the popular GPUcompute APIs, such as OpenCL, which provide massively parallel execution of
general purpose (C-like) code on Mali GPUs, often known as GPGPU (General-
purpose computing on graphics processing units).
Our many customers have performance-critical GPU compute use cases thatinclude 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. Join us and together we will make GPU computeand Mali a success in our customers hands!
## **Your new team**
You will join a multifaceted, collaborative and highly motivated Agilesoftware development team working on the GPU compute drivers for the next
generation Mali™ mobile GPUs.
You will develop with the latest yet-to-be-published Android versions and willhelp craft the technologies that the mobile market will see in years to come.
This inclusive multinational development team is located in a cheerful campusin Cambridge, the technological centre of the UK.
## **Responsibilities:**
We have different teams that handle the development, performance analysis andoptimisation of the GPU driver. You may be adding new functionality to support
the latest GPUs, identifying optimisation opportunities to squeeze out that
last bit of performance, developing our infrastructure to ensure it supports
the ever-growing number of benchmarks that we run or working on many other
exciting tasks!
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 atdifferent 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 teamsacross Arm’s European design centres developing technologies for the current
and next generations of Arm Mali™ GPUs.
- Participating in all phases of software development – including design, implementation, testing, code review and documentation.
- Implementing new features in the driver andor infrastructure.
- Testing and analysing the functionality and performance of our software.
- Performing design and code reviews for other team members.
- Engaging with the rest of the team for investigation, estimation and planning purposes.
- Maintaining the existing codebase: fixing bugs and other quality assurance activities.
- Promoting and demonstrating the Arm core beliefs and behaviours.
- Experience in C and C++ programming.
- An understanding of embedded hardware architectures and software engineering development practices.
- Proficiency in problem solving and debugging with a practical, organised and analytical approach to work.
- Good interpersonal team-working skills, self-motivated and results focused.
- Good written and spoken English.
- Experience of OpenCL, CUDA, or Vulkan.
- Experience in scripting with Python and Bash.
- Knowledge of software optimisation, profiling and instrumentation techniques.
- Experience developing software for Linux or Android based systems.
- Experience with data analysis and statistics.
- Experience with machine learning.
- 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 creating 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 organisation.
## **In Return:**
We have a strong background of building up expertise in people, so this is anexcellent opportunity to learn something new and interesting in a friendly and
collaborative environment. You will get to contribute to our Mali and
Immortalis GPU product lines, learn about the latest GPU technologies, utilise
your engineering skills to support and influence the technologies used on
millions of devices.
#LI-SM1
## **Accommodations at Arm**
At Arm, we want our people to **Do Great Things**. If you need support or anaccommodation to **Be Your Brilliant Self** during the recruitment process, please email [accommodations@arm.com](mailto:accommodations@arm.com). To note, by sending us the requested information, you consent to its use by Arm to
arrange for appropriate accommodations. All accommodation requests will be
treated with confidentiality, and information concerning these requests will
only be disclosed as necessary to provide the accommodation. Although this is
not an exhaustive list, examples of support include breaks between interviews, having documents read aloud or office accessibility. Please email us aboutanything we can do to accommodate you during the recruitment process.
## **Hybrid Working at Arm**
Arm’s approach to hybrid working is designed to create a working environmentthat supports both high performance and personal wellbeing. We believe in
bringing people together face to face to enable us to work at pace, whilst
recognizing the value of flexibility. Within that framework, we empower
groupsteams to determine their own hybrid working patterns, depending on the
work and the team’s needs. Details of what this means for each role will be
shared upon application. In some cases, the flexibility we can offer is
limited by local legal, regulatory, tax, or other considerations, and where
this is the case, we will collaborate with you to find the best solution.
Please talk to us to find out more about what this could look like for you.
## **Equal Opportunities at Arm**
Arm is an equal opportunity employer, committed to providing an environment ofmutual respect where equal opportunities are available to all applicants and
colleagues. We are a diverse organization of dedicated and innovative
individuals, and don’t discriminate on the basis of race, color, religion, sex, sexual orientation, gender identity, national origin, disability, orstatus as a protected veteran.