Senior Software Engineer

ARM

Want to use your C++ skills creatively while learning about new compute architectures? We're looking for people with a passion to learn about groundbreaking processor architectures and who are eager to build highly optimised models.

For each IP block that we sell Arm also develops a high performance functional software model; these can be stitched together, just like the hardware, to produce working simulations of whole devices

https://www.arm.com/products/development-tools/simulation/fast-models.

These models are used extensively inside the company to validate architectural design choices, and externally, by our partners, to prototype products big and small; we can execute the whole software stack from boot loader to browser, all before hardware is available.

Successful applicants will join a new team building models of the next generation of GPU and NPU products. This team will find creative and novel solutions to achieve functional accuracy and high performance, in order to allow Arm and our partners to validate real scenarios. As one of the first consumers of new architectures you will provide invaluable feedback on their design, and influence the success of an industry by developing the tools integral to many of Arm’s development flows and those of our customers.

About the role

As a Senior Software Engineer you will:

  • Develop, test, and maintaining high performance software models for Arm’s advanced IP
  • Collaborate with other engineering, architecture and research groups to advance the Arm-based ecosystem
  • Use world-class tools - a high end development environment, HPC equipment, dedicated DevOps support
  • Develop into a leadership role for a technical or organisational aspect of the project
  • Contribute to the continuous improvement of Arm modelling methodologies
  • Benefit from our new offices and recently enhanced benefits package

If you have experience of any of the following items please make sure you describe the relevant work or project in your application:

Essential skills

  • A working knowledge of modern C++
  • You will be comfortable diving into an existing codebase to make modifications
  • A proven ability to design, debug and deliver cunning solutions to complicated software problems; perhaps by re-interpreting the problem and 'bending the rules'
  • Curiosity and resourcefulness

Other relevant skills

  • Python
  • GPU architecture or APIs: OpenGL (ES), Vulkan, OpenCL, CUDA etc
  • Machine Learning concepts or APIs: CNNs, TensorFlow, PyTorch etc
  • Compiler backend and IR e.g. some work with LLVM
  • Multi-threaded, multi-processor code
  • Knowledge of modelling technologies, such as SystemC or gem5
  • Cross-platform development for Linux and Windows

We are happy to consider applicants interested in working part time e.g. 30 hours spread over 5 days. Please apply and talk to us about what would work for you.

#LI-ZN1

Read Full Description
Confirmed 8 hours ago. Posted 30+ days ago.

Discover Similar Jobs

Suggested Articles