Deep Learning on GPUs - randalburns/atidic-fall18 GitHub Wiki
Groups of three or four researchers will run deep learning on GPUs with the goal of:
- becoming familiar with deep learning frameworks and technologies
- comparing and contrasting different frameworks based on:
- usability
- efficiency
- exploring the ease of parameterizing and training different frameworks
Each group will select two GPU-accelerated deep learning frameworks. I would reccommend two tasks:
- Classify the MNIST data on a trained network to characterize performance. Most frameworks will have the data available and a pre-trained network as an example.
- Train a network on the dataset of your choice to perform a customized learning task. This will help you learn how to parameterize and builds deep-learning networks. I would strongly prefer that draw upon your personal research or a problem of interest, i.e. not use a standard benchmark data set. The second task is mandatory. The first task is just to help get started. Skip it if you want.
It is expected that teams will spend ~8 hours of time in programming and preparing presentations. This is a quick and dirty project and we expect to come up with informal results. Do the best that you can. You should plan on having 2 hours in class today, you should meet once independently, then you will have two hours on Tues. and Thurs. next week. Presentations will be on Tues. 9/18 from 6:30-8:00 pm.
Deliverables
The outcome of the project will be a 10-15 minute presentation that presents the framework and answers the following questions.
- What is the performance of each framework relative to the potential of the architecture?
- what is memory throughput compared to the maximum memory bandwidth of the device?
- where does the kernel lie with respect to the roofline of the architecture?
- What was positive/negative about the frameworks?
- Why would you choose this framework over the other?
- What would you tell the developers that needs to be improved/corrected?
Jupyter and Gigantum
If possible, I would like you to turn in your project as Jupyter notebooks implemented in Gigantum so that I can inspect and review the actual code. Your writeup and presentation would then be a notebook that mixes markdown and code. I am happy to help people install Jupyter and Gigantum on their laptops and on AWS instances.
This applies only to project implemented in Python. Neither technology is mandatory.
I have build instructions on how to run Jupyter in Gigantum on AWS instances. Configure Gigantum