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

Resources