Research Assistant
The Modern Compilers Lab in the Computer Science program at New York University Abu Dhabi, seeks to recruit a research assistant to work on the intersection of compilers and deep learning.
Many companies, such as Google, Facebook, and Amazon are building new specialized programming frameworks. This is because these companies need to allow their users to write simple, high-level code and run it efficiently on different hardware architectures. For example, Google has built TensorFlow, a framework for deep learning allowing users to run deep learning on multiple hardware architectures without changing the code.
Our research team at NYUAD (New York University Abu Dhabi) is developing a new programming framework called Tiramisu [1]. Unlike existing frameworks, Tiramisu can perform advanced code optimizations that are hard to apply otherwise. Because of this, Tiramisu can generate fast code that outperforms highly optimized code written by expert programmers and can target different hardware architectures (multicore, GPUs, FPGAs, and distributed machines).
In order to have the best performance (fastest execution) for a given Tiramisu program, many code optimizations should be applied. Optimizations include vectorization (using hardware vector instructions), parallelization (running loop iterations in parallel), enhancing data locality by fusion, and blocking (i.e. accessing arrays in a way that improves temporal and spatial data locality). A large number of optimizations exist and choosing which optimization should be used and which should not is important for performance. In some situations, some optimizations are harmful to performance while they are beneficial in other situations. Currently, there is no way to help users choose which optimizations should be used. Expert programmers usually spend a lot of time trying different optimizations manually to find the best set of optimizations.
The goal of this project is to add support for automatic code optimization in Tiramisu. In particular, we want to use machine learning/deep learning to achieve this. Currently, a basic automatic optimization module that relies on machine learning has been developed and we want to take that module to the next level. The final product of this project would be a compiler pass that allows Tiramisu to automatically choose which optimization should be used for a given unoptimized program. We want to produce a high-quality technique that can be used by the users of Tiramisu and especially by our partner companies and research labs.
For consideration, applicants need to submit a cover letter, curriculum vitae, statement of research interests and two letters of reference, all in PDF format. If you have any questions, please email Prof. Riyadh Baghdadi at baghdadi@nyu.edu.
The terms of employment are very competitive and include housing and educational subsidies for children. Applications will be accepted immediately and candidates will be considered until the position is filled.
Whoops! This job is not yet sponsored…
Or, view more options below
View full job details
See the complete job description, requirements, and application process
Express interest in this position
Let New York University, Abu Dhabi know you're interested in Research Assistant
Get similar job alerts
Receive notifications when similar positions become available