-
Notifications
You must be signed in to change notification settings - Fork 0
Topics By Week
dellswor edited this page Feb 15, 2014
·
14 revisions
This page is intended to capture the breakdown of topics by week.
Initial lecture breakdown is based on the initial proposed schedule. Initial lab breakdown is based on the pattern order from the Intel text and an offhand estimate on how long it will take to tech students the basics of the environment (seminar wk2). Please update/change the schedule.
- Architecture
- Introduction to Parallel Computing
- Parallel Architectures and Systems
- Performance
- Parallel Architectures and Systems
- Parallel Performance Modeling
- Performance
- Parallel Performance Modeling
- Parallel Algorithms
- Algorithms
- Parallel Algorithms
- Parallel Algorithms
- Algorithms
- Algorithmic performance analysis
- Parallel Programming Models
- Algorithms/Programming
- Shared Memory Parallel Programing
- Shared Memory Parallel Programing
- Programming
- Midterm
- Distributed Memory Parallel Programing
- Programming
- Distributed Memory Parallel Programing
- Parallel Performance Analysis and Tools
- Applications
- Parallel Performance Analysis and Tools
- Parallel Applications
- Misc
- Parallel Applications
- Project Presentations
- Using the environment
- Objective: Compile a program in each language
- HPCLinux OVA with VirtualBox
- TBB: Thread Building Blocks
- Cilk Plus
- OpenMP
- Account request for Mist
- Start HPCLinux
- Compile instructor provided sample code
- Environment/TAU
- Objective: Write something in each language
- Write something simple in each language using the intel compiler
- Environment/TAU
- Objective: Use a performance tool to evaluate versions of a program
- Look at two implementations with different performance characteristics using vtune, TAU, or manually coded instrumentation
- Map - language?
- Objective: Complete a program that uses the Map pattern
- Solar System Simulation - Simulate the effects of gravity on 9 masses with initial velocity
- Box of ping-pong balls - Simulate collisions between some number of objects
- Ascii Art converter - map a block of pixels to an ascii character. See 2.3 Greyscale-algorithms
- Brute Force Password Cracking - Generate strings and hash to find passwords/collisions desc
- Collective - language?
- Objective: Complete a program that uses the Collective pattern
- Missile Command - Given some large set of incoming projectiles, choose the best to target
- Multi-XOR Encrypt/Decrypt - Encrypt/Decrypt using XOR encryption where multiple keys of differing lengths are used (>8 keys + 1 plain/cypher), can organize as a reduction tree
- Histogram equalization(reduce, scan, histogram)
- Data Reorganization - language?
- Objective: Complete a program that uses the Data Reorganization pattern
- Use Big Structs or Arrays of Smaller Structs - Use a simulation where the simulation objects are larger than a cache line and few elements are needed for most of the simulation computations. Show better performance by moving the lessor used elements into another struct in a different array.
- Data rotation - Repeatedly apply a process to data in a row/column of a 2D array not stored in the right order. Show the performance difference when stored with better locality.
- Stencils - language?
- Objective: Complete a program that uses the Stencil pattern
- Gaussian Blur - manipulate an image by averaging over a set of cells
- Thermodynamics - simulate the effect of heating propagating through a plate of some substance over time
- Fork/Join - language?
- Objective: Complete a program that uses the Fork/Join pattern
- Parallel Merge Sort - At each step fork for the left and right sorts
- Work List Processing - Read in a file with some number of diverse tasks to perform and fork for each as they stream in
- Word counter - Counting occurrences of a word in documents organized in directory hierarchy
- Pipeline - language?
- Objective: Complete a program that uses the Pipeline pattern
- Multi-XOR Encrypt/Decrypt - Encrypt/Decrypt using XOR encryption where multiple keys of differing lengths are used (>8 keys + 1 plain/cypher), can organize as a pipeline
- Streaming Media Manipulation - stages of the pipe make different modifications to blocks as they stream through
- Open
- Objective: Help students with lingering issues