Job Openings

Currently, SPCL is looking for highly qualified Ph.D. students to pursue research in scalable parallel computing. Postdoctoral research positions may be available to outstanding candidates.


Candidate requirements:

Successful candidates will have a strong background in computer science, mathematics (especially optimization), parallel computing, compilers, (performance) optimization, and/or computer systems. Candidates should be able to work (mostly) independently on a complex topic and must be highly motivated. Since most research topics are related to different fields (mathematics, computer science, computational science) candidates should be able to learn quickly and study topics independently. Good C/C++ knowledge and experience in software development as well as the willingness and ability to work formally are required. Some background in parallel computing or high-performance computing is desirable. Applicants need to be proficient in written and spoken English.


Besides research activities, candidates will have the opportunity and duty to assist in teaching and advise students to build a solid foundation for an academic career. We highly recommend to become familiar with the research topics at SPCL before applying. To do this, consider reading some of our latest publications.


ETH Zurich and the Computer Science departments offer excellent facilities for studying and recreation. The department is among the leading institutions in Europe and worldwide. The SPCL group has excellent contacts to US research institutions and universities, such as University of Illinois, Indiana University, Argonne National Laboratory, Lawrence Livermore National Laboratory and many more. Students will be offered the opportunity to spend time at one of those institutions during their studies.


The language of the group is English. English is also well understood in Zurich and its surroundings, i.e., it's absolutely no problem if candidates do not speak German. Zurich is located less than one hour from the Alps, and is a small but vibrant city offering one of the best living standards in the world. Zurich is well connected to major European cities and has a large international community.


Salary and social benefits are very competitive. Contracts will be 12-month renewable, with an initial probatory period.


To apply please send a CV to SPCL at spcl (minus) hiring (at) spcl.inf.ethz.ch and put the string "[JOB@SPCL] " at the beginning of the subject line followed by anything you like. Please do not call. An application must include the following:



  1. full CV (academic and industrial background, etc.)
  2. all BSc/MSc transcripts including classes taken and grades (translated copies and originals)
  3. a short (max. 500 words) letter of intent (why are you applying at SPCL, what are your interests)
  4. a brief description of you most important achievement (software, publication, etc.) with reference to it
  5. references to your previous publications (if existing) and software projects (code samples)
  6. three names of people who worked with you (ideally academics, known in SPCL's research directions)


Incomplete applications or applications with the wrong subject will not be considered. It may take a while until you hear from us because we operate in batches.


Hiring of top-class candidates is performed on a rolling basis.


Specific funded positions:

The DaCe framework allows scientific computations to be expressed in a high-level language (numpy or TensorFlow) and compiled to a dataflow-graph (SDFG). Optimisations are done via graph-transformations and the optimised SDFG is compiled to C++ or High Level Synthesis (HLS). Currently the graph transformations are written in Python (using a low- level API for graph modification) but it is difficult to understand or verify the correctness of a transformation. In this task DaCe’s transformation framework will be enhanced to automatically: (i) visualise what a transformation does, (ii) allow a user to check whether a specified transformation preserves the program semantics, and (iii) automatically annotate the SDFG with performance data after a run. This work will allow DaCe users to write domain-specific as well as general DaCe transformations. It will also help to guide which transformations should be applied to a specific program, which ultimately will lead to faster HPC codes.