Runtime Engineer at Codeplay Software Ltd

Expires in 13 days

Language runtimes are key components to enable heterogeneous programming models such as OpenCL or SYCL to efficiently target various modern heterogeneous hardware platforms.  Runtime engineers within Codeplay contribute to the specifications for such programming models, create implementations of the specifications, and provide a driver development kit to target those programming models to a wide range of hardware.

As a runtime engineer at Codeplay you'll have opportunities to work at various levels of the stack of technologies that enable heterogeneous languages.  At the top of the stack we have engineers working on runtimes implementing high-level models such as SYCL on top of abstraction layers, and at the bottom of the stack there are engineers creating the runtimes and tools to place low-level models on top of a variety of hardware.  Your primary responsibilities will be writing, testing, documenting, debugging and maintaining code to solve problems in those areas, whilst interacting closely with other team members and stakeholders. You will spend a great part of your day collaborating with other engineers in the design and implementation of complex features across a modern C++ stack that goes from high-level C++ down to drivers and hardware.  Each platform has its own eccentricities, and successful candidates will be able to investigate and implement solutions that take full advantage of those.  Runtime engineers also collaborate with compiler engineers, and you'll have the opportunity to work on areas of overlap with tooling for intermediate languages such as SPIR-V.

This position requires excellent skills at navigating and contributing to large modern C++ codebases that are based on a mixture of open and proprietary specifications.  The candidate will need to have an understanding of how these language runtimes support end-user applications and how they can be effectively mapped to the target hardware.

The position is permanent and may be based at our  in central Edinburgh. The successful candidate must be able to demonstrate the right to work in the UK, or be eligible to apply for the right to work, should relocation be an agreed option.

Salary range: Competitive & Negotiable. 

What We Offer

Codeplay Software is a world pioneer in enabling acceleration technologies used in AI, HPC and automotive. Codeplay was established in 2002 in Edinburgh, Scotland and developed some of the first tools enabling complex software to be accelerated using graphics processors. Today, most AI software is developed using graphics processors designed for video games, and more recently specialised AI and computer vision accelerators.

Codeplay continues to work with global technology leaders to make the latest complex AI systems programmable using open-standards based programming languages and allows application developers to quickly bring software to the market.  Codeplay is also deeply involved with the definition of open standards, especially OpenCL™, SPIR™, SYCL™, and Vulkan™ through The Khronos Group, and MISRA C++ for automotive.

  • A friendly and relaxed working environment where colleagues respect and support each other.
  • Learn from experienced colleagues: our staff frequently give company-wide knowledge-sharing presentations on new software and technology trends, personal projects and other relevant subjects.
  • Great career prospects within a growing company
    • We develop our staff to progress quickly in their roles, and to take ownership of business functions, become experts, and/or lead teams. We provide training in skills such as project and people management, networking and delivering effective presentations.
    • Newstart mentoring scheme
    • Opportunities to attend major worldwide industry conferences and events representing the company
  • Flexible working hours
  • Pension scheme offering 7% employer contributions
  • Full pay whilst on Maternity/Partner or Shared Parental Leave
  • Free annual membership for this service: .
  • Private healthcare insurance 
  • Free confidential counselling service
  • Frequent company social events (social nights, pot luck lunches, gaming, karting, outdoor adventures, and more) (Post-COVID!)
  • For applicants residing in the UK we can also offer in addition to the above benefits:
    • Childcare Voucher Scheme (for existing members only)
    • Bike2Work Scheme
    • Season Ticket loans

Required Skills

  • Good working knowledge of modern C++
  • Develop correct, fast and scalable multithreaded and parallel programs
  • Ability to develop robust, maintainable, efficient and testable code for secure and reliable systems
  • Experience creating test suites for new or changing APIs
  • Working knowledge of debuggers, and ability to debug code effectively
  • Minimise memory footprints, data movements, allocations and de-allocations
  • Craft cross-platform (Various Linux flavours, Windows) solutions
  • Profile and optimise performance and memory system usage
  • Learn new technologies and development approaches on the job
  • Excellent communication skills, both verbal and written

Beneficial Skills

Experience or understanding of several of the following would be highly desirable:

  • Experience with GPU programming models (such as OpenCL, SYCL, CUDA, etc)
  • Experience working on a parallel or heterogeneous language runtimes.
  • Experience working with programming language or language runtime specifications
  • Experience working on graphics APIs (such as Vulkan or DirectX12) or shading languages (such as HLSL or GLSL)
  • Knowledge of SPIR-V intermediate language.
  • Understanding of multi-core and NUMA architectures
  • Knowledge of the Clang/LLVM projects
  • Experience with low-level language implement concepts such as object file formats or assembly language
  • Experience with continuous Integration systems and best practices
  • Experience with OS-level and/or driver development

For more information on the role or to APPLY, please visit our website