arrow_back_ios Back to List

Machine Learning Optimisation Engineer


Codeplay is working closely with a prestigious semiconductor vendor to enable and accelerate machine learning models on its high-performance specialised AI hardware, using an open-source AI graph compiler. Codeplay's work encompasses improvements at the graph compiler level to support new models, and performance optimizations to the compiler and directly to the micro-kernels that implement the nodes. Examples of typical optimizations include: vectorization, splitting operations across accelerator devices, reordering and combining operations to reduce data movement and computation, and using target-specific intrinsics to target custom processing units.

As the compiler and kernels are so intrinsically linked, an ideal candidate would be comfortable switching between roles and tackling problems wherever makes most sense.

This project involves working closely with engineers from the customer's large team and an existing successful team within Codeplay, providing opportunities to learn from an excellent and very experienced community of engineers. Your work will contribute to achieving benchmark results that are published publicly and shared with big customers, so this is an ideal opportunity for someone with a passion for making things go fast!

As a Software Engineer in the Customer Engineering division, you will be participating in projects delivering our software platform to internal and external customers. Projects and customers can vary over the years, and there are plenty of opportunities to learn new technologies and jump into different projects upon finishing one. There is also an internal recruitment process that allows moving across to other divisions to work in other areas of the company, such as Product Engineering, Ecosystem Development, Research, or Safety.

Please Note - Due to COVID-19 we are following the Scottish Government Roadmap and, although we are operating normally, the office is closed and we are all working from home.

The successful candidate should be able to work from home for the duration of the office closure. The position is permanent and may be based at our head office 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.

Positions are available at various levels, from entry-level to senior positions, depending on your skills and experience.

Starting salary: 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
  • EMI Stock Option Scheme 
  • Pension scheme offering 7% employer contributions
  • 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 relocating to Edinburgh, Scotland: in addition to the above benefits :
    • Childcare Voucher Scheme (for existing members only)
    • Bike2Work Scheme
    • Season Ticket loans

Required Skills

The ideal candidate is a self-motivated individual who can work through a problem from start to finish, meet deadlines as required to support software projects, and has the ability to work under pressure. You will be working on technology that is seldom announced to the public and could be several years away from public release, so confidentiality is critical. You should be able to work both independently and collaboratively within teams of varying skill sets and expertise. You should be welcoming towards, and able to adapt to, the introduction of new technologies, responsibilities and projects, as Codeplay works with cutting-edge technology and takes on a diverse range of projects.

  • Ability to analyze, profile and investigate unfamiliar code for optimization opportunities.
  • Good C++ knowledge.
  • Ability to work with a large codebase under active development with minimal documentation.
  • Self-motivation, with a willingness to learn new technologies on the job.
  • Excellent communication skills, both verbal and written.

Beneficial Skills

Knowledge and/or experience of any of the following would be useful for the role, but are not essential. You must be able to learn new skills, but will be given support from Codeplay's team to get you up to speed.

  • LLVM.
  • Graph compilers (e.g. Glow, MLIR).
  • Analyzing and optimizing low-level code, including vectorization and parallelization.
  • Machine learning operations and computations.
  • Vector hardware.
  • Investigating assembly and VLIW packets to find inefficiencies or optimization opportunities.

Application Guidance

Any application which results in a job offer is conditional upon the candidate already having or successfully applying for the right to work in the UK. We can also consider overseas remote working. Codeplay is proud to be an Equal Opportunities employer. We celebrate and value diversity. We are committed to creating an inclusive environment for all employees, regardless of race, colour, gender, religion, national origin, ancestry, citizenship, disability, age, sexual orientation or any other characteristic protected by law. All employment is decided on the basis of qualifications, merit and business need and we strongly encourage applicants from all backgrounds and walks of life. We are committed to providing flexible working options such as part-time/compressed hours/timeshifting/remote. If you have a disability or additional need that requires accommodation, just let us know.

The Cover Note/Letter is just as important as your CV/Resume, so please include one, stating why you believe you are a good fit for the position. If you have examples of relevant work or projects, we would love to see them, so please include links to them in your application.

If you have C++ Code Samples (where relevant) please put the link to these on your application; however, should you not have any code samples available then this will not prejudice your application. Note our system will only accept links to personal projects/GitHub accounts or PDF documents.

Your application has been sent successfully. Someone should contact you within the next two working days to confirm we have received your application.

Position Closed

Unfortunately this position is currently closed. You can check by at a later date or you can click here to view our other available positions.