PhD fellowship in Compiler Technology for Distributed AI

PhD fellowship in Compiler Technology for Distrubuted AI
Department of Computer Science (DIKU)

Faculty of SCIENCE
University of Copenhagen

The PLTC section of the Department of Computer Science (DIKU), University of Copenhagen invites applicants for a PhD fellowship in developing language and compiler infrastructure for supporting efficient execution of AI workloads in distributed-memory spaces, such as clusters of GPUs. This project is financed by the start-up grant of Associate Professor Cosmin E. Oancea.

The start date is (expected to be) 1st of October 2022, or as soon as possible thereafter.

The project
The project will build on the existent infrastructure of the Futhark language and optimizing compiler, which is developed locally at DIKU and is thought as a research vehicle for studying aggressive analysis (static, dynamic, and hybrid), aimed primarily at optimizing highly-parallel applications. The underlying philosophy is rooted in language-compiler co-design, namely that the language exposes higher-order constructs, whose richer semantics simplifies compiler analysis, and vice-versa, advanced analysis allows stronger properties to be enforced at language level and exploited by later compiler analyses. For example, Futhark recently supports both forward and reverse-mode automatic differentiation (AD) by second-order language primitives, which are implemented as a non-trivial code transformation, whose derivation, at its turn, takes full advantage of the higher-order semantics of the parallel operators. 

The overall goal of the project is to extend Futhark with whatever is necessary in order to support efficient execution in a distributed memory setting, such as clusters of GPUs. Such extensions may be designed at all levels. Examples may include (but are not limited to):

  1. language level: in the form of constructs whose semantics may be helpful in optimizing communication later on;
  2. compiler’s front-end: type-checking analysis for supporting more advanced forms of size typing;
  3. mid-level analysis: aimed for example at aggregating memory references and at restructuring the code such as to optimize communication overheads;
  4. compiler’s back-end: specialized code generation for IR constructs, with emphasis on utilizing, whenever beneficial, low-level vendor-specific solutions, such as Cuda’s unified-memory model.  

Impact will be demonstrated on AI workloads, including deep learning and ML algorithms such as  convolutional and recurrent neural networks, support-vector machines, decision trees, time-series decomposition, nearest neighbor searches based on k-d trees.

We envision that the project will start by examining a comprehensive set of existent Futhark implementations of such algorithms, which will allow to hypothesize a set of language extensions and/or analyses that can be combined to result in efficient execution in a distributed environment for all of them.

Who are we looking for?
We are looking for candidates within the field(s) of computer science, computer engineering and the like, but we will consider candidates from other fields of study if they demonstrate competences that are in the scope of the project. Demonstrated expertise in subfields such as programming language design and implementation, optimizing compilers, high-performance computing and high-performance implementation of AI algorithms will be considered a plus.

Our group and research- and what do we offer?
The PhD student will join the Programming Languages and Theory of Computing Section at Department of Computer Science (DIKU), which currently consists of more than 27 researchers, among which 12 assistant, associate and full professors, who study a broad range of topics related to the principles and practice of programming language design and implementation.

The PhD student will closely collaborate with the team developing Futhark (, a state-of-the-art functional language and optimizing compiler aimed at highly-parallel architectures, which has been internationally recognized in publications at top conferences such as PLDI, PPoPP, SC, ICDE, ICFP, TACO, and which has been a generator of research for several PhD theses and more than forty MSc and BSc theses. 

The group is a part of the Department of Computer Science, Faculty of SCIENCE, University of Copenhagen. We are located in Copenhagen.

We offer creative and stimulating working conditions in dynamic and international research environment. Our research facilities include access to a smallish but dedicated cluster equipped with top-end GPUs, such as Nvidia’s A100 and AMD’s MI100.

Principal supervisor is Associate Professor Cosmin E. Oancea, Department of Computer Science,, Direct Phone: +45 23 82 80 86.

The PhD program can accommodate an integrated MSc and PhD
Depending on your level of education, you can undertake the PhD programme as either:

Option A: A three year full-time study within the framework of the regular PhD programme (5+3 scheme), if you already have an education equivalent to a relevant Danish master’s degree.

Option B: An up to five year full-time study programme within the framework of the integrated MSc and PhD programme (the 3+5 scheme), if you do not have an education equivalent to a relevant Danish master´s degree – but you have an education equivalent to a Danish bachelors´s degree.


Option A: Getting into a position on the regular PhD programme

Qualifications needed for the regular programme
To be eligible for the regular PhD programme, you must have completed a degree programme, equivalent to a Danish master’s degree (180 ECTS/3 FTE BSc + 120 ECTS/2 FTE MSc) related to the subject area of the project, e.g. Computer Science. For information of eligibility of completed programmes, see General assessments for specific countries and Assessment database.

Terms of employment in the regular programme
Employment as PhD fellow is full time and for maximum 3 years.

Employment is conditional upon your successful enrollment as a PhD student at the PhD School at the Faculty of SCIENCE, University of Copenhagen. This requires submission and acceptance of an application for the specific project formulated by the applicant.

The terms of employment and salary are in accordance to the agreement between the Ministry of Finance and The Danish Confederation of Professional Associations on Academics in the State (AC). The position is covered by the Protocol on Job Structure.

Option B: Getting into a position on the integrated MSc and PhD programme

Qualifications needed for the integrated MSc and PhD programme
If you do not have an education equivalent to a relevant Danish master´s degree, you might be qualified for the integrated MSc and PhD programme, if you have an education equivalent to a relevant Danish bachelor´s degree. Here you can find out, if that is relevant for you: General assessments for specific countries and Assessment database

Terms of the integrated programme
To be eligible for the integrated scholarship, you are (or are eligible to be) enrolled at one of the faculty’s master programmes in Computer Science.

Students on the integrated programme will enroll as PhD students simultaneously with completing their enrollment in this MSc degree programme.

The duration of the integrated programme is up to five years, and depends on the amount of credits that you have passed on your MSc programme. For further information about the study programme, please see:, “Study Structures”.

Until the MSc degree is obtained, (when exactly two years of the full 3+5 programme remains), the grant will be paid partly in the form of 48 state education grant portions (in Danish: “SU-klip”) plus salary for work (teaching, supervision etc.) totalling a workload of at least 150 working hours per year.
A PhD grant portion is DKK 6,243.

When you have obtained the MSc degree, you will transfer to the salary-earning part of the scholarship for a period of two years. At that point, the terms of employment and payment will be according to the agreement between the Ministry of Finance and The Danish Confederation of Professional Associations on Academics in the State (AC). The position is covered by the Protocol on Job Structure.

Responsibilities and tasks in both PhD programmes

  • Complete and pass the MSc education in accordance with the curriculum of the MSc programme (ONLY when you are attending the integrated MSc and PhD programme)
  • Carry through an independent research project under supervision
  • Complete PhD courses corresponding to approx. 30 ECTS / ½ FTE
  • Participate in active research environments, including a stay at another research institution, preferably abroad
  • Teaching and knowledge dissemination activities
  • Write scientific papers aimed at high-impact journals
  • Write and defend a PhD thesis on the basis of your project

We are looking for the following qualifications:

  • Professional qualifications relevant to the PhD project
  • Relevant publications
  • Relevant work experience
  • Other relevant professional activities
  • Curious mind-set with a strong interest in investigating automatic program optimization.
  • Good language skills


Application and Assessment Procedure

 Your application including all attachments must be in English and submitted electronically by clicking APPLY NOW below.

Please include

  1. Motivated letter of application (max. one page)
  2. Your motivation for applying for the specific PhD project
  3. Curriculum vitae including information about your education, experience, language skills and other skills relevant for the position
  4. Original diplomas for Bachelor of Science or Master of Science and transcript of records in the original language, including an authorized English translation if issued in another language than English or Danish. If not completed, a certified/signed copy of a recent transcript of records or a written statement from the institution or supervisor is accepted.
  5. Publication list (if possible)
  6. Reference letters (if available)

Application deadline:
The deadline for applications is 22nd of May 2022, 23:59 GMT +2.

We reserve the right not to consider material received after the deadline, and not to consider applications that do not live up to the abovementioned requirements.

The further process
After deadline, a number of applicants will be selected for academic assessment by an unbiased expert assessor. You are notified, whether you will be passed for assessment.

The assessor will assess the qualifications and experience of the shortlisted applicants with respect to the above mentioned research area, techniques, skills and other requirements. The assessor will conclude whether each applicant is qualified and, if so, for which of the two models. The assessed applicants will have the opportunity to comment on their assessment. You can read about the recruitment process at

For specific information about the PhD fellowship, please contact the principal supervisor.

General information about PhD study at the Faculty of SCIENCE is available at the PhD School’s website:

The University of Copenhagen wishes to reflect the surrounding community and invites all regardless of personal background to apply for the position. 


Part of the International Alliance of Research Universities (IARU), and among Europe’s top-ranking universities, the University of Copenhagen promotes research and teaching of the highest international standard. Rich in tradition and modern in outlook, the University gives students and staff the opportunity to cultivate their talent in an ambitious and informal environment. An effective organisation – with good working conditions and a collaborative work culture – creates the ideal framework for a successful academic career.


Application deadline: 22-05-2022
Employment start: 01-10-2022
Working hours: Full time
Department/Location: Department of Computer Science

Search all vacancies