Back to jobs
New

Senior Software Engineer

Gdańsk, Pomeranian Voivodeship, Poland

About Graphcore

Graphcore is one of the world’s leading innovators in Artificial Intelligence compute. 

It is developing hardware, software and systems infrastructure that will unlock the next generation of AI breakthroughs and power the widespread adoption of AI solutions across every industry. 

As part of the SoftBank Group, Graphcore is a member of an elite family of companies responsible for some of the world’s most transformative technologies. Together, they share a bold vision: to enable Artificial Super Intelligence and ensure its benefits are accessible to everyone.  

Graphcore’s teams are drawn from diverse backgrounds and bring a broad range of skills and perspectives. A melting pot of AI research specialists, silicon designers, software engineers and systems architects, Graphcore enjoys a culture of continuous learning and constant innovation. 

Job Summary 

As a Senior Software Engineer in the Collectives Team, you will drive the effort to design and develop the Collectives Communication Library enabling users to utilize large computing clusters. The ideal candidate will have extensive experience in designing, developing, and maintaining complex software systems involving custom hardware. You will be responsible for leading development efforts, mentoring junior engineers, and driving technical excellence in our projects.

The Team 

The Collectives team is responsible for building the Collectives Communication library for new AI hardware Graphcore is working on. The library provides communication primitives optimized to achieve high bandwidth and low latency at very high scale.

Responsibilities and Duties

  • Designing, implementing, testing and documenting Collectives Communication Library for new AI hardware accelerator
  • Collaborating with other teams to design, implement and test new features
  • Troubleshooting and resolving complex technical issues
  • Ensuring seamless integration of new hardware with existing AI ecosystem
  • Participating in agile development – working as part of a scrum team 

Candidate Profile 

Essential:

  • Extensive experience in software development using C++ programming language
  • Experience with Python and C programming 
  • Excellent problem-solving skills and ability to debug and resolve complex issues
  • Strong knowledge of multithreading and inter-process communication (IPC) techniques for development of efficient concurrent applications
  • Experience with unit testing frameworks such as Boost.Test and Google Test
  • Proficiency with build tools such as CMake, Make and Ninja 
  • Strong understanding of version control systems (preferred Git)
  • Ability to work within a multinational team and with multinational customers
  • Excellent written and verbal communication skills

Desirable

  • Experience with RDMA networking libraries (for example libibverbs, libfabric)
  • Knowledge of multithreading and parallel computing concepts, including experience with parallel algorithms and optimization for AI/ML and HPC systems
  • Experience with Continuous Integration/Continuous Delivery (CI/CD) pipelines, including setting up automated workflows and deployments (for example GitHub Actions, GitLab CI)
  • Experience with communication libraries (for example NCCL, MPI)
  • Knowledge of machine learning frameworks (for example PyTorch)
  • Knowledge of modern C++ standards 17/20

Benefits

In addition to a competitive salary, Graphcore offers annual leave policy, medical and dental health plans, a gym card, and employee pension (matched up to 4%). We review our benefits on a yearly basis to ensure we offer a valuable and rewarding benefits programme to our employees. We welcome people of different backgrounds and experiences; we’re committed to building an inclusive work environment that makes Graphcore a great home for everyone. We offer an equal opportunity process and understand that there are visible and invisible differences in all of us. We can provide a flexible approach to interview and encourage you to chat to us if you require any reasonable adjustments.

Create a Job Alert

Interested in building your career at Graphcore? Get future opportunities sent straight to your email.

Apply for this job

*

indicates a required field

Resume/CV*

Accepted file types: pdf, doc, docx, txt, rtf

Cover Letter

Accepted file types: pdf, doc, docx, txt, rtf



UK Demographic Data

We take pride in our commitment to creating an inclusive and diverse workplace. As part of our recruitment process, we ask for confidential diversity data from all applicants. This data will be anonymised so that no personal identification information will be collected, and is retained for statistical purposes only and is not attached to your application. Your responses to the following three questions will remain confidential and will not impact or be used in any way in regards to your application. We are only using this data to improve our hiring process to be inclusive of all diversity backgrounds.

Select...
Select...
Select...