Optimisation; Postdoctoral Researcher
Listed on 2026-01-01
-
Software Development
AI Engineer, Software Engineer
Location: Zürich
Huawei is a leading global information and communications technology (ICT) solutions provider. Through our constant dedication to customer-centric innovation and strong partnerships, we have established leading end-to-end capabilities and strengths across the carrier networks, enterprise, consumer, and cloud computing fields. Our products and solutions have been deployed in over 170 countries serving more than one third of the world’s population.
For the Computing Systems Laboratory, we are hiring Three Postdoctoral Researchers in scope of an optimization-related high-performance computing platform. In the coming 1-2 years, we exclusively aim to solve foundational scientific problems related to high performance distributed- and shared-memory parallel optimization, with the goal to produce publications at top scientific magazines. On the longer term, the platform aims to solve industrial optimization problems either on-premises or as-a-Service.
This research is conducted jointly with a team of leading scientists at Huawei’s Theory Lab in Hong Kong, with whom successful candidates are expected to work closely. Researchers in Zurich are expected to work on basic operators that provide functionalities at a level similar to BLAS, Sparse
BLAS, Graph
BLAS, LAPACK, LAGraph, etc., focusing on basic foundational operators for optimization workloads.
The successful candidate will work on
As such, successful candidates will:
- Design and implement novel basic operators required for our optimization platform;
- Analyze specific algorithms for basic operators and establish fundamental limits in models of parallel computation that account not only for classic work (flops) and compute power (flop/s), but also account for data reuse, and memory throughput & access latencies;
- Following, as appropriate, cache-aware or cache-oblivious paradigms, as well as standard HPC paradigms for shared- and distributed-memory parallelization, vectorization, etc.;
- Research novel data structures to speed up basic operator execution on traditional CPUs with vector and matrix SIMD, as well as less traditional xPUs such as AI accelerators;
- Ensure solvers may be easily expressed as data-centric C++ control flow around calls to basic operators that automatically dispatch the solver over potentially multiple xPUs;
- Use, and, if necessary, extend run-time systems and communication layers to achieve higher basic operator efficiency, better scalability, and automate computational trade-offs;
- Ensure the quality and performance of all solvers implemented on top of our basic operators, enabling the solution of next-generation scientific and industrial problems.
Successful candidates will have in-depth experience with several of the following
:
- Optimization of irregular algorithms, such as graph computations or sparse numerical linear algebra, touching on all of high-level data structures and algorithms to low-level code optimisations such as SIMD, coarse- and fine-grained locking mechanisms;
- Multi-core, many-core, programming (e.g., POSIX Threads or OpenMP);
- Distributed-memory programming (e.g., MPI, BSP, or LPF), both using collective communications as well as raw RDMA;
- Experience with code generation for high-performance computations and/or in-depth knowledge of their underlying methodologies (e.g., ALP, BLIS, DaCE, Spiral, Flame, Firedrake, et cetera).
Successful candidates master the following common aspects:
- Generic programming in C++11 (or higher), with strong…
To Search, View & Apply for jobs on this site that accept applications from your location or country, tap here to make a Search: