W skrócie
- Zadania: Twórz oprogramowanie dla nowego symulatora komunikacji zbiorowej i testuj innowacyjne algorytmy.
- Firma: Innowacyjna firma technologiczna z kulturą współpracy.
- Benefity: Konkurencyjne wynagrodzenie, opieka zdrowotna, praca zdalna i rozwój zawodowy.
- Pozostałe informacje: Dynamiczne środowisko z doskonałymi możliwościami rozwoju kariery.
- Dlaczego ta praca: Pracuj z najnowszymi technologiami i wpływaj na rozwój AI.
- Kwalifikacje: Doświadczenie w programowaniu w C++ oraz umiejętności rozwiązywania problemów.
Przewidywane wynagrodzenie mieści się w przedziale 135000 - 165000 zł za rok.
Jako inżynier oprogramowania w zespole Collectives Simulator, będziesz uczestniczyć w rozwoju symulatora komunikacji zbiorowej na dużą skalę, który umożliwia analizę parametrów sieciowych oraz efektywne wdrażanie algorytmów komunikacyjnych. Idealny kandydat powinien mieć doświadczenie w projektowaniu, rozwijaniu i utrzymywaniu złożonych systemów oprogramowania z wykorzystaniem sprzętu specjalistycznego.
Zespół
Zespół Collectives Simulator jest odpowiedzialny za budowanie symulatora komunikacji zbiorowej dla nowego sprzętu AI, nad którym pracuje Graphcore. Symulator pozwala użytkownikom na dogłębną analizę algorytmów komunikacyjnych w różnych topologiach sieciowych.
Obowiązki i zadania
- Wdrażanie, testowanie i dokumentowanie Collectives Simulator dla nowego sprzętu AI
- Współpraca z innymi zespołami w celu projektowania, wdrażania i testowania nowych funkcji
- Rozwiązywanie złożonych problemów technicznych
- Uczestnictwo w zwinnej metodzie rozwoju – praca w zespole scrumowym
Profil kandydata
- Doświadczenie w rozwoju oprogramowania z użyciem języka programowania C++
- Znajomość Pythona i C
- Dobre umiejętności rozwiązywania problemów oraz zdolność do debugowania i rozwiązywania złożonych problemów
- Doświadczenie z frameworkami testów jednostkowych, takimi jak Boost.Test i Google Test
- Znajomość narzędzi do budowy, takich jak CMake, Make i Ninja
- Silne zrozumienie systemów kontroli wersji (preferowany Git)
- Doświadczenie w rozwoju symulatorów SW
- Znajomość bibliotek sieciowych RDMA (na przykład libibverbs, libfabric)
- Znajomość koncepcji wielowątkowości i obliczeń równoległych, w tym doświadczenie z algorytmami równoległymi i optymalizacją dla systemów AI/ML i HPC
- Znajomość technik komunikacji międzyprocesowej (IPC) dla rozwoju efektywnych aplikacji współbieżnych
- Doświadczenie z pipeline'ami CI/CD, w tym konfiguracja zautomatyzowanych przepływów pracy i wdrożeń (na przykład GitHub Actions, GitLab CI)
- Doświadczenie z bibliotekami komunikacyjnymi (na przykład NCCL, MPI)
- Znajomość frameworków uczenia maszynowego (na przykład PyTorch)
- Znajomość nowoczesnych standardów C++ 17/20
Oprócz konkurencyjnego wynagrodzenia, Graphcore oferuje politykę urlopową, plany zdrowotne medyczne i dentystyczne, kartę do siłowni oraz emeryturę pracowniczą (dopasowaną do 4%). Co roku przeglądamy nasze benefity, aby zapewnić wartościowy i satysfakcjonujący program świadczeń dla naszych pracowników. Witamy osoby z różnych środowisk i doświadczeń; zobowiązujemy się do budowania inkluzywnego środowiska pracy, które sprawia, że Graphcore jest wspaniałym miejscem dla każdego. Oferujemy proces równych szans i rozumiemy, że wszyscy mamy widoczne i niewidoczne różnice. Możemy zapewnić elastyczne podejście do rozmowy kwalifikacyjnej i zachęcamy do kontaktu, jeśli potrzebujesz jakichkolwiek rozsądnych dostosowań.
Software Engineer – pracodawca: Graphcore
Graphcore to wiodący innowator w dziedzinie obliczeń sztucznej inteligencji, oferujący wyjątkowe możliwości rozwoju kariery w Gdańsku. Pracownicy mogą liczyć na elastyczne godziny pracy, kompleksową opiekę zdrowotną oraz program wsparcia dla pracowników, co sprzyja równowadze między życiem zawodowym a prywatnym. Wspieramy różnorodność i inkluzyjność, tworząc środowisko, w którym każdy może osiągnąć swoje najlepsze wyniki.