Back to all jobs

- Seniority
- Senior
About the role
<p><strong>Salary Range: PLN 260,400 - 352,200<br></strong></p>
<p><strong>Subject to alignment to the responsibilities and duties of the role.</strong></p>
<h2><strong>About Graphcore </strong></h2>
<p>At Graphcore, we’re building the future of AI compute.</p>
<p>We’re a team of semiconductor, software and AI experts, with deep experience in creating the complete AI compute stack - from silicon and software to infrastructure at datacenter scale.</p>
<p>As part of the SoftBank Group, backed by significant long-term investment, we are delivering key technology into the fast-growing SoftBank AI ecosystem.</p>
<p>To meet the vast and exciting AI opportunity, Graphcore is expanding its teams around the world.</p>
<p>We are bringing together the brightest minds to solve the toughest problems, in a place where everyone has the opportunity to make an impact on the company, our products and the future of artificial intelligence.</p>
<p> </p>
<p><strong><span data-contrast="none">Job Summary</span></strong><strong><span data-contrast="none"> </span></strong><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="none">As a </span><span data-contrast="auto">Senior Software Engineer,</span><span data-contrast="none"> </span><span data-contrast="none">you will be responsible for development of new and support existing kernels for linear algebra operations on a new generation of AI hardware.</span><span data-ccp-props="{}"> </span></p>
<p><span data-ccp-props="{}"> </span></p>
<p><strong><span data-contrast="auto">The Team</span></strong><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="none">This is an exciting opportunity to join an expanding team at Graphcore. Kernel Engineering team is responsible for delivering high performance compute library to help customers gain the maximum performance from AI hardware.</span><span data-ccp-props="{}"> </span></p>
<p><span data-ccp-props="{}"> </span></p>
<p><strong><span data-contrast="auto">Responsibilities and Duties</span></strong><span data-ccp-props="{}"> </span></p>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="3" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="1" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">Design and implement kernels for linear algebra and tensor ops (GEMM, batched GEMM, convolutions, reductions, elementwise and fused operations) in C++</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="3" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="2" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">Own performance and correctness - add microbenchmarks, regression tests, </span><span data-ccp-parastyle="Normal (Web)">numerics</span><span data-ccp-parastyle="Normal (Web)"> validation</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="3" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="3" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">Profile and optimise across for next generation of AI hardware - threading, cache locality, memory layout, and kernel launch efficiency.</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="3" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="4" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">Debug issues, resolve bugs and </span><span data-ccp-parastyle="Normal (Web)">generally improve</span><span data-ccp-parastyle="Normal (Web)"> the quality and functionality of the product</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="3" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="5" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">Actively engage in and support Agile ways of working within the team</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="3" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="6" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">Mentor colleagues within the team, sharing knowledge and providing guidance where appropriate</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<p><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></p>
<p><strong><span data-contrast="none">Candidate Profile </span></strong> <br><span data-ccp-props="{}"> </span></p>
<p><strong><span data-contrast="auto">Essential</span></strong><span data-ccp-props="{}"> </span></p>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="1" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">Excellent programming and scripting skills using C++ and Python</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="2" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">Understanding of processor architectures and profiling on Linux</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="3" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">Possess excellent written and oral communication skills, </span><span data-ccp-parastyle="Normal (Web)">good work</span><span data-ccp-parastyle="Normal (Web)"> ethics, high sense of </span><span data-ccp-parastyle="Normal (Web)">team-work</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="4" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">Love to produce quality work and be a team player</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<p><span data-ccp-props="{"134233117":false,"134233118":false,"335559685":720,"335559738":0,"335559739":0}"> </span></p>
<p><strong><span data-contrast="auto">Desirable</span></strong><span data-ccp-props="{}"> </span></p>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="21" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="1" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">Strong command of algorithmic performance - vectorisation, memory hierarchy, threading, lock-free patterns</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="21" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="2" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">Hands-on with at least one BLAS/DNN stack and able to read/extend kernels</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="21" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="3" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">Comfort with CPU micro-optimisations and numerical stability/trade-offs across FP32/FP16/BF16/FP8</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="21" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="4" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">Experience integrating native code into </span><span data-ccp-parastyle="Normal (Web)">PyTorch</span><span data-ccp-parastyle="Normal (Web)"> or similar (custom ops, extensions, dispatch keys)</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="21" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="5" data-aria-level="1"><span data-contrast="none"><span data-ccp-parastyle="Normal (Web)">ABI/API stability and packaging for Linux system (</span><span data-ccp-parastyle="Normal (Web)">manylinux</span><span data-ccp-parastyle="Normal (Web)">, wheels)</span></span><span data-ccp-props="{"134233117":false,"134233118":false,"335559738":0,"335559739":0}"> </span></li>
</ul>
<p> </p>
<h2><strong>Benefits</strong></h2>
<p>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.</p>
<p><span data-ccp-props="{}"> </span></p>
731,000+ hidden jobs like this
Graphcore and thousands of companies post here first — often days before LinkedIn or Indeed. Your first 5 applications are free; go Pro to apply without limits.
Everything Pro unlocks:
- Unlimited applications — free stops at 5
- Track every application in one place
- Apply straight to the source, one click
- Save & organize roles you love
- Roles pulled from company boards before the big sites