• AI Parallelisation Engineer

    This is an exciting opportunity to work on modern C++-based Artificial Intelligence software for computer vision and machine learning, targeting modern parallel heterogeneous platforms such as OpenCL™.

    This position requires solid working knowledge of modern C++ (at least C++11), GPGPU, (CUDA®, OpenCL or ideally SYCL™ ) and understanding of generic programming and high-level C++ abstractions.

    Primary responsibilities will include designing, implementing and maintaining linear algebra and machine learning libraries in C++, integrating existing artificial intelligence libraries like TensorFlow or Caffe with SYCL, and implementing/optimising/parallelizing deep learning algorithms with the focus on convolutional and recurrent networks for various platforms. Understanding of parallel programming concepts is essential, as the libraries will target OpenCL through the use of the C++ abstractions provided by SYCL.

    The position is permanent and will be based at our office in central Edinburgh.  The successful candidate must, by the start of their employment, have permission to work in the UK. Salary range: Competitive & Negotiable.

    What We Offer

    Codeplay is internationally recognized as being at the forefront of software development technology. Working at Codeplay offers unique opportunities and challenges to learn new technologies and get involved in shaping the software industry. Codeplay's projects range from: creating tools and tool sets (optimizing compilers, debuggers, profilers, programming models & APIs, test systems/suites etc.) for brand-new unannounced next-generation hardware; developing and optimizing current machine learning (TensorFlow™) and computer vision applications; research and development into lowering the power consumption of mobile devices; and contributing to new programming models and software standards (e.g. C++, SYCL™, OpenCL™, Vulkan® and SPIR™-V).

    Our engineers are leading the effort to bring support for machine learning with TensorFlow to OpenCL-enabled devices, by adding support for the SYCL (the C++ high-level programming model built on OpenCL) to the open-source codebase. We are building an ecosystem around the SYCL standard, including public projects for computer vision, linear algebra, and C++ parallel programming APIs - see https://github.com/codeplaysoftware. If you are excited about contributing to programming tools that will be used by developers worldwide, please get in touch!

    • Work on exciting brand-new technologies and standards with well-recognized customers.
    • Make an impact on the industry by contributing to open-source software, standardization efforts and Codeplay's products.
    • A friendly and relaxed working environment where colleagues respect and support each other. You will be working in a diverse team of creative and talented engineers from around the world.
    • Learn from experienced engineers: our staff frequently give company-wide knowledge-sharing presentations on new software and technology trends, personal projects and other relevant subjects.
    • Work on modern code bases using recent tools, with the freedom to choose platforms and tools to get the job done.
    • Great career prospects within a growing company
    • Positions are available at various levels, from the entry-level Software Engineer grade to Senior Principal Software Engineer, depending on your skills and experience.
    • We develop our engineers to progress quickly in their roles, to take ownership of code, become technical experts, and/or lead teams. We provide training in skills such as project and people management, networking and delivering effective presentations.
    • Opportunities to get involved in Codeplay's very active research, enabling you to make an impact on the company's technology and future direction, and establish your industrial research track record by contributing to papers and publications.
    • Frequent opportunities to attend major worldwide industry conferences and developer meetings, represent the company, and become a recognized expert.
    • Codeplay has attained Silver Level Accreditation with Investors In People as an excellent employer. 
    • Flexible working hours, stock options and pension scheme.
    • Frequent company social events (film nights, pot luck lunches, gaming, karting, outdoor adventures, ...).

    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.

    Required Skills

    The ideal candidate is a self-motivated individual who can work through problems 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 and differing 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.  

    • Strong knowledge and experience of C++11
    • Knowledge and experience of the GPGPU programming models like CUDA, OpenCL, SYCL
    • Knowledge and experience of software parallelization techniques
    • Ability to work with generic, heavily templated C++ code
    • Ability to debug code effectively
    • Performance profiling and optimization
    • Working knowledge of version control systems
    • Excellent communication skills, both verbal and written

    Beneficial Skills

    • Engineering knowledge of various machine learning frameworks like TensorFlow, Caffe, Theano
    • Working knowledge of machine learning with the focus on engineering aspects of deep learning for mobile applications
    • Experience of working on open-source/fast-moving projects


    If you can demonstrate proven skills and knowledge through portfolio work, projects or previous employment, then a degree is not essential.

    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 your own software projects, we would love to see them, so please include links to them in your application.

    Submit an Application

    Please fill in the forms below to the best of your ability. Don't forget to add any relevant links to GitLab, BitBucket etc! Personal projects are a big win for your application.

    If you want to apply for multiple positions with this application, please select the relevant positions from below.
    • AI Parallelisation Engineer
    • Compiler Engineer
    • Runtime Engineer
    • Developer Relations Engineer
    • Linear Algebra Software Engineer
    • Support Analyst

  • Status

    Open for Applications

    Position Type

    Permanent Positions