Postdoctoral Researcher - Next-Generation AI & General Purpose Software Stacks
Overview
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.
With 20+ sites across Europe and 1500 researchers, Huawei’s European Research Institute (ERI) oversees fundamental and applied technology research, academic research cooperation projects, and strategic technical planning across our network of European R&D facilities. Huawei’s ERI includes the Zurich Research Center (ZRC), located in Zurich, Switzerland. A major element of ZRC is a rapidly growing research laboratory focused on fundamental research in the area of computing systems (new hardware, new software, new algorithms).
The research work of the lab will be carried out not only by Huawei’s internal research staff but also by our academic research partners in universities across Europe. The lab will provide an open research environment where academics will be encouraged to visit and work on fundamental long-term research alongside Huawei staff in an environment that, like the best universities and research institutes, is open and conducive to such world-leading scientific work.
For the Computing Systems Laboratory, we are hiring several Industrial Postdoctoral Researchers and Software Research Engineers (Contract Position) to focus on next-generation AI software stacks, with the chief aims on programming productivity and portability across architectures. While research in this software stack is expected to focus on AI and LLM use cases on our integrated and special-purpose AI systems, we furthermore challenge researchers to consider broader applicability of the platform, across a spectrum of use-cases and a spectrum of special-purpose hardware (xPUs).
Responsibilities:
The successful candidate will work on
- Identifying optimization opportunities of running contemporary AI models on our Ascend AI accelerator, prototype and benchmark improvements, as well as, to the largest degree possible, automate these optimisations;
- Methods may include all or some of: compiler technologies, code generation, template meta-programming, programming patterns or skeletons, and/or identifying and prototyping useful low-level kernels;
- Investigate far-reaching automation that employs (optimal) partitioning, pebbling, and/or scheduling on arbitrary acyclic (hyper)graph representations of general computation;
- Automate classic parallelization techniques that have proven beneficial when parallelizing computations over multiple devices and/or multiple nodes such as 2.5D techniques or two-phase collective approaches; and
- Ensure separation of performance parameters from the semantic specifications of computations, and produce or refine analytic performance models that enable informed trade-off decisions both manually and automatically.
Qualifications:
Successful candidates will have in-depth experience with several of the following:
- Experience with optimizing low-level kernel implementations, such as for the BLAS, CuBLAS, MKL, oneDNN, cuDNN, etc.;
- Experience with code-generation approaches, including DSLs or general programming frameworks such as Spiral, BLIS, DaCe, ALP, Flame, etc.;
- Experience with accelerator programming such as e.g. CUDA, AscendC, etc.;
- Experience with multi-core, many-core, programming such as POSIX Threads or OpenMP;
- Experience with distributed-memory programming (e.g., MPI, BSP, or LPF), using collective communications or raw RDMA;
- Experience with applying and extending models of computations such as roofline or BSP;
- Track record of publications at top HPC, computer science, or applied math conferences and/or journals.
Successful candidates master the following common aspects:
- generic programming in C++11 (or higher), with strong knowledge of standard algorithms and data structures as found in the STL and beyond;
- performance analysis and parallel debugging (e.g., Valgrind, GNU Debugger, CI testing);
- excellent written and verbal communication skills with a proven ability to present complex technical information clearly and concisely to a variety of audiences;
- collaborative work style with the ability to work in a multicultural environment.
Preferred Qualifications:
- PhD in Computer Science or a related field;
- Experience with low-level programming using Infiniband verbs or similar;
- Familiarity with hardware architecture and system design;
- Track record of contributions to open-source software in the AI or HPC domains.
What we offer:
Huawei Technologies Switzerland offers a competitive salary and benefits package, with plenty opportunities for professional growth and development. You will be a part of innovative projects that make a difference, with access to state-of-the-art technologies and tools.
Huawei Research Center Zürich
About Huawei Switzerland
Postdoctoral Researcher - Next-Generation AI & General Purpose Software Stacks
Loading application form
Already working at Huawei Switzerland?
Let’s recruit together and find your next colleague.