Spring 2018 ARC Workshops and Tutorials


Spring 2018 ARC Workshops and Tutorials

Over the spring semester, Advanced Research Computing (ARC) offers
workshops and tutorials about scientific computing.
These workshops are sponsored by the Network Learning Initiatives (NLI).
All our workshops will be held in 1100 Torgersen Hall.
NLI encourages you to register for the classes through their web site
https://nli.tlos.vt.edu/,
but unregistered auditors are welcome to sit in.

Date Time Title
February 2 11:00am-12:30pm Introduction to Python for Scientific Computing
February 12 2:00pm- 3:30pm Numerical Computing in Julia
February 14 9:00am-10:30am Parallel R Tutorial
February 15 11:00am- 3:00pm Deep learning workshop
February 20 12:00pm- 2:00pm Intro to ARC Systems
February 23 9:00am-11:00am Hands on GPU-R
March 1 2:00pm- 3:00pm Web 3D Publishing
March 13 11:00am-12:00pm Visualization Zoo
March 15 12:00pm- 4:00pm Deep learning workshop
March 20 2:00pm- 3:00pm Deep learning with NVIDIA digits
March 22 2:00pm- 4:00pm Intro to ARC Systems
April 5 9:00am-11:00am Introduction to Machine Learning with
Scikit-learn and TensorFlow: Unsupervised Learning
April 16 12:00pm- 4:00pm Deep learning workshop
April 18 9:00am-11:00am Introduction to Machine Learning with
Scikit-learn and TensorFlow: Supervised Learning
April 26 9:00am-11:00am Intro to ARC Systems
May 3 2:00pm -4:00pm Introduction to Deep Learning with TensorFlow and Keras

Details for some of the classes:

Deep learning with NVIDIA Digits
NVIDIA DIGITS is a GPU-based deep learning training system designed to
streamline the process of training convolutional neural networks for
a variety of applications. DIGITS provides an interface to several
major deep learning software tools, including caffe, torch, tensorflow
and theano. This course will provide an overview of these tools and
the workflows needed to use DIGITS to train deep learning models for
a wide range of applications.
Deep learning workshop
This workshop will provide an introduction to deep learning using
various software packages available on the Huckleberry cluster
(2 hours), followed by a hands-on data lab (2 hours). Users are
encouraged to bring own data so that they can attempt to connect the
methods of deep learning to their own research. The workshop will
cover the following topics:

  • Basic use of the Slurm scheduler;
  • Running Jupyter notebooks on Huckleberry;
  • Linear Regression using Tensorflow;
  • MNIST digits recognition using Keras;
  • Introduction to Distributed Deep Learning;
  • Exercise with PowerAI-DDL;
Hands-on GPU-R,
This workshop introduces the ways in which graphics processing units
(GPUs) can accelerate computations in familiar progamming languages
such as R. We will explain the basic ideas behind a GPU, show
how a programming language can, with a few extensions, transfer
work to a GPU and pull results back, and then run some demonstration
programs. A natural followup to this class would be the classes
on CUDA programming, for optimal use of the GPU.
Introduction to ARC,
This lecture outlines the services offered by Virginia Tech’s
Advanced Research Computing facility, and gives a nice overview
for those who are just starting to work on ARC systems, or
who are considering getting an account. Topics include the
application process, the Unix environment, file transfer,
module commands, batch processing, parallel processing options,
the problem reporting system, and differences between the various
clusters.
Introduction to Machine Learning with TensorFlow and Keras
TensorFlow and Keras are scalable frameworks for distributed Machine
Learning applications. In this class, we will cover some of the basics
of Machine Learning and use a Jupyter notebook to perform classification
in TensorFlow. Knowledge of Python is essential for this class.
Introduction to Machine Learning with Scikit-learn and TensorFlow:
Supervised Learning
,
TBD
Introduction to Machine Learning with Scikit-learn and TensorFlow:
Unsupervised Learning
,
TBD
Introduction to Python for Scientific Computing,
The Python language has exploded in popularity, and the scientific
community has been developed numerous utilities and libraries,
particulary in areas such as big data and machine learning.
This workshop will show why Python is both easy to learn and
powerful to use. We explain the basic syntax and simple commands.
We then explore the libraries NumPy and SciPy for numerics, and
Matplotlib for graphics. We show how a Python program can access
functions written in C.
Numerical Computing in Julia,
Julia is a high-level, high-performance dynamic programming language
for technical computing, with a familiar syntax. It provides a
sophisticated compiler, distributed parallel execution, numerical
accuracy, and an extensive mathematical function library. Julia’s
just-in-time compiler combined with the language’s design allow it
to approach and often match the performance of C. This short course
will provide an overview of the language, including comparisons with
Matlab, R, and Python.
Parallel R Tutorial
R is a statistical programming language that has become increasingly
popular in data analysis and statistical applications. This tutorial
will describe how an R user can leverage the parallel computing
capabilities of modern supercomputers to speed up large computations
and/or run large numbers of similar operations, such as Monte Carlo
simulations, at the same time. Packages covered in this class will
include snow, Rmpi, and pbdR (“Programming with Big Data in R””).
The intended audience for this tutorial is experienced R users who want
to leverage parallel architectures to speed up existing R code.
Interested parties who are new to R are encouraged to attend the
introductory R sessions offered by the Virginia Tech Statistics
Department’s Laboratory for Interdisciplinary Statistical Analysis
(LISA).
Visualization Zoo
Visualization is a core competency in the knowledge economy. This
session will provide an interactive survey of Information Visualization
techniques and tools with special focus on a critical review of
approaches and tradeoffs.
Web 3D Publishing
This session will survey the methods and technologies for publishing
interactive 3D worlds to the World Wide Web. Using real examples,
this session will introduce attendees to the file formats to web
services delivering the power of 3D graphics and online applications.