Research Assistant in the Division of Science (Computer Science) - Dr. Moha

at  New York University

Abu Dhabi, أبو ظبي, United Arab Emirates -

Start DateExpiry DateSalaryPosted OnExperienceSkillsTelecommuteSponsor Visa
Immediate22 Apr, 2025Not Specified23 Jan, 2025N/AGood communication skillsNoNo
Add to Wishlist Apply All Jobs
Required Visa Status:
CitizenGC
US CitizenStudent Visa
H1BCPT
OPTH4 Spouse of H1B
GC Green Card
Employment Type:
Full TimePart Time
PermanentIndependent - 1099
Contract – W2C2H Independent
C2H W2Contract – Corp 2 Corp
Contract to Hire – Corp 2 Corp

Description:

DESCRIPTION

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) in collaboration with MIT (Massachusetts Institute of Technology, USA) 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 Google 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.

Responsibilities:

Please refer the Job description for details


REQUIREMENT SUMMARY

Min:N/AMax:5.0 year(s)

Information Technology/IT

IT Software - Application Programming / Maintenance

Software Engineering

Graduate

Proficient

1

Abu Dhabi, United Arab Emirates