Postdoc Position at Edinburgh University: Efficient Neural Network Code Generation on Mobile GPUs
Overview
- Postdoc position at the University of Edinburgh
- Duration: 2 years
- Deadline: 21 September 2017
- http://www.lift-project.org/jobHuawei.html
The School of Informatics, University of Edinburgh, invites applications for a post-doctoral research position on the theme: Efficient Neural Network Code Generation on Mobile GPUs. The position is funded by Huawei Innovation Research Program FLAGSHIP (HIRP FLAGSHIP) for a duration of up to two years with possible extension.
Project Description
Writing efficient parallel implementation of neural networks remains a challenge even for expert programmers, especially on power constraints devices such as mobile GPUs. Programmers have to fine-tune their code for the special characteristics of the targeted hardware. This expensive and time-consuming process has to be repeated every time new hardware emerge or when the neural network architecture is updated.
In this project, we propose to build upon the existing Lift compiler and extend it to the generation and tuning of neural networks for mobile GPUs. Lift is a novel approach to achieving performance portability on parallel accelerators. It combines a high-level functional data parallel language with a system of rewrite rules which encode algorithmic and hardware-specific optimisation choices. Applications written in Lift are able to take advantage of GPUs, transparently from the user.
This project will augment Lift with the ability to express, generate and optimise machine-learning algorithms and exploit effectively mobile GPUs. In this project, we will explore mobile-GPU specific optimisations, neural network optimisations and the use of performance model to make prediction about the performance potential of the GPU for various neural networks.
Job description
Your main task will consist of supporting the research activities in the Lift research group and achieve the project's objectives established jointly with Huawei, our industrial partner. The position will be a mix of research and development with the opportunity to take an active role in the co-supervision of the PhD students in the Lift group. The main success criteria will be the publications of high quality scientific papers and the delivery of a working prototype compiler targeted at neural networks.
On a more technical note, the Lift language is functional in nature and the Lift compiler is mostly written in Scala. Therefore, the ideal candidate is expected to have a strong background in functional programming. Since our code generator targets OpenCL and we plan to integrate it with the Caffe C++ library, we also expect the ideal candidate to have a good knowledge of C/C++ programming and some familiarities with OpenCL or CUDA. Knowledge about neural networks algorithms is desirable although not strictly necessary as this can be learnt during the course of the project.
More information: http://www.lift-project.org/jobHuawei.html