CS 594 Spring 2014
Heike McCraw (mccraw@icl.utk.edu)
Homework 7 Performance Modeling
Due March 5, 2014
For this assignment, we will use the single-node PolyBench benchmarks at
www.cse.ohio-state.edu/~pouchet/software/polybench. and Hydra, one of the
EECS

CS 594 Homework 6
(due February 26, 2014)
The purpose of this homework is for you to get some familiarity with CUDA
programming for sparse iterative solvers. Provided are reference CPU and CUDA
implementations of the CG method.
File matrix.output contains

Chapter 1 Introduction
Jack Dongarra, Ken Kennedy and Andy White
Nothing you cant spell will ever work. Will Rogers
1.1
Parallel Computing
Parallel computing is more than just a strategy for achieving high performance it is a compelling vision for how com

CS 594 cfw_ Understanding Parallel Architectures:
From Theory To Practice
Projects
1 Reminder
You are welcome to suggest your own project as well.
2 Parallel matrix-matrix multiply
Matrix-matrix multiplication is a simple sequential kernel. However, its p

Homework 9
The role of performance models in
understanding the performance of
collec8ve communica8ons
Deadline: April 2 2014
Broadcast
A broadcast collec8ve communica8on is a rooted
communica8on paCern where a data w

COSC 594 Homework 8:
Performance analysis tools
Due March 12th 2014
Gabriel Marin <gmarin@eecs.utk.edu>
ASSIGNMENT:
This assignment is intended to give you practical experience in using PAPI and
HPCToolkit. For th

CS 594 Homework 5
(due February 19, 2014)
The purpose of this homework is for you to get some hands on experience in working
with sparse matrices and optimizing sparse matrix-vector product. The techniques that
you would use (except if you come up with ne

CS 594 Scientific Computing for Engineers
Homework #4
(due February 12, 2014)
There are two parts of this homework.
PART I:
The purpose here is for you to get some starting experience in using the PETSc library.
As discussed in the Discretization of PDEs

CS 594 Scientific Computing for Engineers
Homework # 3
Due: February 5, 2014
There are two parts of this homework. The first one is more theoretical and its purpose is
for you to gain a more thorough understanding of the ideas discussed in the Projection

CS 594 - Scientific Computing for Engineers
Homework #1
January 9, 2013
Due: January 23, 2013
I would like you to implement a version of the following mathematical operations:
the 2-norm of a vector,
| x |2 = xT x =
n
x *x
i =1
i
i
matrix - vector multipl

Additional Class Projects
1. Choose a number of the problems listed below and implement them, instrument
them with PAPI, and illustrate their behavior and performance. Then implement
them in parallel and describe the performance.
Problems
1. Matrix-matrix