Auf einen Blick
- Aufgaben: Entwickle und implementiere innovative Grundoperationen für unsere Optimierungsplattform.
- Arbeitgeber: Huawei ist ein führender Anbieter von ICT-Lösungen mit globaler Reichweite.
- Mitarbeitervorteile: Erlebe eine dynamische Arbeitsumgebung mit Möglichkeiten zur Zusammenarbeit mit führenden Wissenschaftlern.
- Warum dieser Job: Arbeite an bahnbrechenden wissenschaftlichen Problemen und veröffentliche in Top-Journalen.
- Gewünschte Qualifikationen: Erforderlich sind tiefgehende Kenntnisse in Optimierung und paralleler Programmierung.
- Andere Informationen: Zusammenarbeit mit einem internationalen Team in Zürich und Hongkong.
Das voraussichtliche Gehalt liegt zwischen 48000 - 84000 € pro Jahr.
Huawei ist ein führender globaler Anbieter von Informations- und Kommunikationstechnologielösungen (IKT). Durch unser ständiges Engagement für kundenorientierte Innovationen und starke Partnerschaften haben wir führende End-to-End-Fähigkeiten und Stärken in den Bereichen Carrier-Netzwerke, Unternehmen, Verbraucher und Cloud-Computing etabliert. Unsere Produkte und Lösungen wurden in über 170 Ländern eingesetzt und bedienen mehr als ein Drittel der Weltbevölkerung.
Für das Computing Systems Laboratory suchen wir drei Postdoktoranden im Bereich einer optimierungsbezogenen Hochleistungsrechnerplattform. In den kommenden 1-2 Jahren zielen wir darauf ab, grundlegende wissenschaftliche Probleme im Zusammenhang mit hochleistungsfähiger verteilten und gemeinsamen Speicherparalleloptimierung zu lösen, mit dem Ziel, Veröffentlichungen in führenden wissenschaftlichen Zeitschriften zu produzieren. Langfristig soll die Plattform industrielle Optimierungsprobleme entweder vor Ort oder als Dienstleistung lösen. Diese Forschung wird gemeinsam mit einem Team führender Wissenschaftler im Theory Lab von Huawei in Hongkong durchgeführt, mit denen die erfolgreichen Kandidaten eng zusammenarbeiten sollen.
Die Forscher in Zürich werden an grundlegenden Operatoren arbeiten, die Funktionen auf einem Niveau ähnlich wie BLAS, SparseBLAS, GraphBLAS, LAPACK, LAGraph usw. bereitstellen, wobei der Fokus auf grundlegenden fundamentalen Operatoren für Optimierungsarbeitslasten liegt.
Der erfolgreiche Kandidat wird an folgenden Aufgaben arbeiten:
- Identifizierung sowohl bestehender als auch neuartiger grundlegender Operationen, die für Optimierungsplattformen relevant sind;
- Geschwindigkeitsanalysen sowohl bestehender als auch neu identifizierter grundlegender Operationen, die a) grundlegende Leistungsengpässe identifizieren, b) Skalierbarkeitseigenschaften genau vorhersagen (z. B. Iso-Effizienz), c) Trade-off-Effekte vorhersagen (z. B. Speicher vs. Kommunikation) und d) vorhersagen, welche Kombination von Geräten (klassische CPUs oder spezialisierte Beschleuniger und wie viele) zur höchsten Effizienz führen würde;
- Entwurf und Prototyping von hoch skalierbaren, hoch effizienten und hochproduktiven Softwaresystemen, die die Grundlage unserer nächsten Generation von Optimierungsplattformen bilden.
Verantwortlichkeiten
Erfolgreiche Kandidaten werden:
- Neue grundlegende Operatoren entwerfen und implementieren, die für unsere Optimierungsplattform erforderlich sind;
- Bestimmte Algorithmen für grundlegende Operatoren analysieren und grundlegende Grenzen in Modellen paralleler Berechnungen festlegen, die nicht nur klassische Arbeiten (Flops) und Rechenleistung (Flop/s) berücksichtigen, sondern auch Datenwiederverwendung sowie Speicherbandbreite und Zugriffsverzögerungen;
- Geeignete cachebewusste oder cacheunabhängige Paradigmen sowie Standard-HPC-Paradigmen für gemeinsame und verteilte Speicherparallelisierung, Vektorisierung usw. verfolgen;
- Neue Datenstrukturen erforschen, um die Ausführung grundlegender Operatoren auf traditionellen CPUs mit Vektor- und Matrix-SIMD sowie weniger traditionellen xPUs wie KI-Beschleunigern zu beschleunigen;
- Sicherstellen, dass Solver leicht als datenzentrierter C++-Kontrollfluss um Aufrufe an grundlegende Operatoren ausgedrückt werden können, die den Solver automatisch über potenziell mehrere xPUs verteilen;
- Falls erforderlich, Laufzeitsysteme und Kommunikationsschichten verwenden und erweitern, um eine höhere Effizienz grundlegender Operatoren, bessere Skalierbarkeit und automatisierte rechnerische Trade-offs zu erreichen;
- Sicherstellen, dass die Qualität und Leistung aller Solver, die auf unseren grundlegenden Operatoren implementiert sind, die Lösung von wissenschaftlichen und industriellen Problemen der nächsten Generation ermöglichen.
Anforderungen
Erfolgreiche Kandidaten verfügen über umfassende Erfahrungen mit mehreren der folgenden Punkte:
- Optimierung unregelmäßiger Algorithmen, wie z. B. Graphberechnungen oder spärliche numerische lineare Algebra, die alle Aspekte von hochrangigen Datenstrukturen und Algorithmen bis hin zu niedrigstufigen Codeoptimierungen wie SIMD, grob- und fein-granulare Sperrmechanismen berühren;
- Multi-Core-, Many-Core-Programmierung (z. B. POSIX-Threads oder OpenMP);
- Verteilte Speicherprogrammierung (z. B. MPI, BSP oder LPF), sowohl unter Verwendung kollektiver Kommunikation als auch rohem RDMA;
- Erfahrung mit der Codegenerierung für Hochleistungsberechnungen und/oder fundierte Kenntnisse ihrer zugrunde liegenden Methoden (z. B. ALP, BLIS, DaCE, Spiral, Flame, Firedrake usw.).
Erfolgreiche Kandidaten beherrschen die folgenden allgemeinen Aspekte:
- Generische Programmierung in C++11 (oder höher), mit fundierten Kenntnissen der Standardalgorithmen und Datenstrukturen, wie sie in der STL und darüber hinaus zu finden sind;
- Leistungsanalyse und paralleles Debugging (z. B. Valgrind, GNU Debugger, CI-Tests);
- Ausgezeichnete schriftliche und mündliche Kommunikationsfähigkeiten mit nachgewiesener Fähigkeit, komplexe technische Informationen klar und prägnant einem breiten Publikum zu präsentieren;
- Nachweisbare Veröffentlichungen in führenden HPC- oder angewandten Mathematik-Konferenzen oder -Zeitschriften;
- Kollaborativer Arbeitsstil mit der Fähigkeit, in einem multikulturellen Umfeld zu arbeiten.
Die folgenden zusätzlichen Erfahrungen und fundierten Kenntnisse würden als Plus angesehen:
- GraphBLAS oder Algebraic Programming (ALP);
- Jeder Aspekt der Optimierung oder ihrer Schlüssel-Solver;
- State-of-the-Art Fabrics und deren Programmierung (z. B. Infiniband & ibverbs);
- Veröffentlichungen an führenden Orten in den Naturwissenschaften oder theoretischen Informatik;
- SIMT- oder Beschleunigerprogrammierung (z. B. CUDA, OpenCL) – insbesondere mit Huawei Ascend.
Über das Huawei Research Center Zürich
Gegründet im Jahr 1987.
High-Performance Optimisation (Postdoctoral Researcher) Arbeitgeber: Huawei Technologies Switzerland AG
Kontaktperson:
Huawei Technologies Switzerland AG HR Team
StudySmarter Bewerbungstipps 🤫
So bekommst du den Job: High-Performance Optimisation (Postdoctoral Researcher)
✨Netzwerken mit Fachkollegen
Nutze Plattformen wie LinkedIn, um dich mit anderen Forschern und Fachleuten im Bereich Hochleistungsoptimierung zu vernetzen. Nimm an Konferenzen oder Workshops teil, die sich auf HPC und Optimierung konzentrieren, um wertvolle Kontakte zu knüpfen und mehr über aktuelle Trends und Herausforderungen in der Branche zu erfahren.
✨Aktive Teilnahme an Forschungsprojekten
Engagiere dich in aktuellen Forschungsprojekten oder Initiativen, die sich mit Hochleistungsrechnen und Optimierung befassen. Dies kann dir helfen, praktische Erfahrungen zu sammeln und deine Fähigkeiten in der Anwendung von Algorithmen und Datenstrukturen zu vertiefen, was für die Position bei Huawei von Vorteil ist.
✨Veröffentlichungen und Präsentationen
Strebe an, deine Forschungsergebnisse in renommierten Fachzeitschriften oder auf Konferenzen zu veröffentlichen. Eine starke Publikationsliste kann deine Bewerbung erheblich stärken und zeigt dein Engagement für die wissenschaftliche Gemeinschaft sowie deine Expertise im Bereich Hochleistungsoptimierung.
✨Technische Fähigkeiten erweitern
Vertiefe deine Kenntnisse in spezifischen Programmiersprachen und Technologien, die für die Stelle relevant sind, wie C++11, MPI oder CUDA. Online-Kurse oder Tutorials können dir helfen, deine Fähigkeiten zu verbessern und dich auf technische Interviews vorzubereiten.
Diese Fähigkeiten machen dich zur top Bewerber*in für die Stelle: High-Performance Optimisation (Postdoctoral Researcher)
Tipps für deine Bewerbung 🫡
Verstehe die Anforderungen: Lies die Stellenbeschreibung sorgfältig durch und achte auf die spezifischen Anforderungen und Verantwortlichkeiten. Stelle sicher, dass du alle geforderten Qualifikationen und Erfahrungen in deiner Bewerbung hervorhebst.
Anpassung des Lebenslaufs: Gestalte deinen Lebenslauf so, dass er die relevanten Erfahrungen und Fähigkeiten für die Position als Postdoktorand im Bereich Hochleistungsoptimierung betont. Verwende Schlüsselbegriffe aus der Stellenanzeige, um deine Eignung zu unterstreichen.
Motivationsschreiben: Verfasse ein überzeugendes Motivationsschreiben, in dem du erklärst, warum du an dieser Position interessiert bist und wie deine bisherigen Erfahrungen dich darauf vorbereiten. Gehe auf spezifische Projekte oder Technologien ein, die in der Stellenbeschreibung erwähnt werden.
Prüfung und Korrekturlesen: Bevor du deine Bewerbung einreichst, überprüfe alle Dokumente auf Rechtschreib- und Grammatikfehler. Lass auch jemanden anderen einen Blick darauf werfen, um sicherzustellen, dass alles klar und professionell formuliert ist.
Wie du dich auf ein Vorstellungsgespräch bei Huawei Technologies Switzerland AG vorbereitest
✨Verstehe die Grundlagen der Optimierung
Bereite dich darauf vor, grundlegende Konzepte der Hochleistungsoptimierung zu erklären. Du solltest in der Lage sein, sowohl bestehende als auch neuartige grundlegende Operationen zu identifizieren, die für die Optimierungsplattform relevant sind.
✨Kenntnisse über parallele Programmierung
Stelle sicher, dass du mit verschiedenen Paradigmen der parallelen Programmierung vertraut bist, wie z.B. POSIX Threads oder OpenMP. Sei bereit, spezifische Beispiele aus deiner Erfahrung zu teilen, die deine Fähigkeiten in diesem Bereich demonstrieren.
✨Präsentation deiner Forschungsarbeiten
Bereite eine kurze Präsentation deiner bisherigen Forschungsarbeiten vor, insbesondere solche, die in hochrangigen Konferenzen oder Zeitschriften veröffentlicht wurden. Dies zeigt nicht nur deine Fachkenntnisse, sondern auch deine Fähigkeit, komplexe technische Informationen klar zu kommunizieren.
✨Teamarbeit und interkulturelle Kommunikation
Da du in einem multikulturellen Umfeld arbeiten wirst, ist es wichtig, deine Erfahrungen in der Zusammenarbeit mit internationalen Teams zu betonen. Bereite Beispiele vor, die deine Teamfähigkeit und deine Kommunikationsfähigkeiten unter Beweis stellen.