• students/interns
  • contractors
  • consultants
  • temporary
  • graduate
  • experienced professionals
  • Category 1
  • Category 2
  • Category 3
  • Category 4
  • Category 5
  • Category 6
  • Country 1
  • Country 2
  • Country 3
  • Country 4
  • Country 5
    Search

    Senior Software Engineer - GPU

    • 15908
    • Software Engineering
    • Experienced Professionals
    • Central Engineering - GPU
    • Central Engineering - GPU Engineering
    • UK
    • Cambridge

    Share:

    We are an Equal Opportunity Employer and do not discriminate against any employee or applicant for employment because of race, color, sex, age, national origin, religion, sexual orientation, gender identity, status as a veteran, and basis of disability or any other federal, state or local protected class.

    Job Description

    Are you looking for an exciting and meaningful role on the cutting edge of parallel processing on mobile GPU technology?

    You will join a dynamic Agile software development team working on the OpenCL drivers for the next generation Mali™ mobile GPUs. You will develop with the latest yet-to-be-published Android versions and will help craft the technologies that the mobile market will see in years to come.

    If you wish to influence the products and technology that billions of people will use around the globe, then this is an unparalleled opportunity.

    “At the end of the talk, Son shook Segars’ hand. He said that Arm is indispensable not just to SoftBank, but to the whole of humankind”

    https://www.wired.co.uk/article/softbank-vision-fund

    You will need embedded software development and optimization skills, but previous experience of GPUs is not essential.

    This inclusive multinational development team is located in a pleasant (and growing) campus in Cambridge, the technological centre of the UK.

    Job Purpose

    Our team writes the layer of the driver that implements the popular OpenCL and RenderScript APIs, which provide massively parallel execution of general purpose (C-like) code on Mali GPUs, often known as GPGPU (General Purpose computing on the GPU). If you want to develop your skills and understanding in these technologies this is the opportunity for you.

    Our many customers have performance-critical GPGPU use cases that include:

    • Machine learning (ML)
    • Image processing & computer vision (CV)
    • Video encoding and decoding
    • Virtual reality (VR), and augmented reality (AR).

    Mobile devices are highly constrained environments, and our challenge is to provide this complex functionality, while improving both dependability and efficiency.

    Join us and together we will make GPGPU and Mali a success in our customers hands.

    What are some of the team’s recent achievements?

    • Rapidly deploying support for Android Pie, and now for the upcoming Android Q.
    • Job-chaining optimisation for GPU performance.
    • Migrating the compute driver from C to C++
    • Redesigning the driver for a new (as yet unreleased) and different GPU architecture.

    Day to day activities:

    The role will involve bringing up the driver on new GPUs, the design and implementation of a roadmap of new features and tests, as well as improving the benchmarking, maintenance and optimisation of existing areas of the driver.

    You will work in a Linux environment, coding and debugging for Arm-based targets including models, FPGAs and silicon from our partner companies (thereby covering past, present and future generations of our designs).

    We value proactivity and enthusiasm and look to our engineers to be the source of new ideas and innovations.

    As a member of an Agile team you will have the chance to try your hand at all 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 centres to develop drivers for the current and the next generation of Arm Mali GPUs.

    Especially close is our relationship with the LLVM-based compute compiler team (who are in the same building).

    One of the phenomenal things about working at Arm is that if you have a question about another component, whether that be software, tooling, or even the hardware underneath, you can speak directly to the in-house designer, most of whom are in Cambridge.

    Over the years, engineers develop into specialised experts, generalists, or transition to other disciplines such as project and product management.

    What will I be accountable for?

    • Writing code to implement the required task (feature, test, bugfix, etc).
    • Test and analyse the functionality and performance of your code (both using models FPGAs and silicon platforms).
    • You are expected to review other people’s code
    • Engaging with the rest of the team for investigation, estimation and planning purposes, investigating issues with our driver for example.
    • Promoting and demonstrate the Arm core beliefs and behaviours.

    Job Requirements

    What skills, experience and qualifications do I need?

    Essential

    • Experience in C programming. and possess an awareness of efficient programming concepts.
    • A good understanding of embedded hardware architectures and understanding of 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

    • Experience programming with C++ and exposure using OpenCL, CUDA, or Renderscript.
    • Knowledge of the internal operation of compilers (particularly LLVM).
    • Scripting languages, especially Python and Bash.
    • Knowledge of software optimisation and instrumentation techniques.
    • Experience developing software for Linux or Android based systems.
    • Familiarity with Git, and bug tracking tools
    • Experience in creating design and test specifications with experience in the creation and maintenance of test suites.
    • Previous experience with Agile development processes.
    • Experience of driver or HAL development.
    • Working exposure of software development for a commercial organization.
    • The option to travel occasionally to meet our teams in other sites.

    At Arm, we are guided by our core beliefs that reflect our rare culture and guide our decisions, defining how we work together to defy ordinary and shape extraordinary:

    We not I

    • Take daily responsibility to make the Global Arm community thrive.
    • No individual owns the right answer. Brilliance is collective.
    • Information is crucial, share it.
    • Realise that we win when we collaborate — and that everyone misses out when we don’t.

    Passion for progress

    • Our differences are our strength. Widen and mix up your network of connections.
    • Difficult things can take unexpected directions. Stick with it.
    • Make feedback positive and expansive, not negative and narrow.
    • The essence of progress is that it can’t stop. Grow with it and own your own progress.

    Be your brilliant self

    • Be quirky not egocentric.
    • Recognise the power in saying ‘I don’t know’.
    • Make trust our default position.
    • Hold strong opinions lightly.

    Arm has a responsibility to ensure that all employees are eligible to live and work in the UK.

    #LI-TG1

    ARM Benefits

    Benefits

    Your particular benefits package will depend on position and type of employment and may be subject to change. Your package will be confirmed on offer of employment. Arm’s benefits program provides permanent employees with the opportunity to stay innovative and healthy, ensure the wellness of their families, and create a positive working environment.

    • Annual Bonus Plan
    • Discretionary Cash Award
    • Group Personal Pension Plan with enhanced company contribution
    • Medical, Travel, Health & Life Insurances
    • Holiday, 25 days annual leave with option to buy an additional 5 days per year
    • Sabbatical, 20 paid days every four-year of service
    • Volunteering, One (1) paid working day each year (TeamARM)
    • Varies by location: cycle to work, free car parking, gym on site, team and social events

    About Arm

    Arm® technology is at the heart of a computing and connectivity revolution that is transforming the way people live and businesses operate. From the unmissable to the invisible; our advanced, energy-efficient processor designs are enabling the intelligence in 86 billion silicon chips and securely powering products from the sensor to the smartphone to the supercomputer. With more than 1,000 technology partners including the world’s most famous business and consumer brands, we are driving Arm innovation into all areas compute is happening inside the chip, the network and the cloud.

    With offices around the world, Arm is a diverse community of dedicated, innovative and highly talented professionals. By enabling an inclusive, meritocratic and open workplace where all our people can grow and succeed, we encourage our people to share their unique contributions to Arm's success in the global marketplace.

    About the office

    At our global HQ in Cambridge, England we house the majority of our engineering and our corporate groups that deliver our extraordinary success. As a world-renowned university town, Cambridge boasts both a beautiful countryside and a historical town center. Local activities include punting on the River Cam and the many museums that reside within Cambridge University.

    Cambridge, UK - Global HQ
    Arm Ltd.
    110 Fulbourn Road
    Cambridge
    GB-CB1 9NJ
    See on Google maps