Colorado State University CS 675 Advanced Parallel Computing (Spring 2010)


What's new


Time Table


In this course we will compare programming models and evaluate the performance of GPUs and multi cores. Finally parallel systems have become commodity and we will have to learn how to program these effectively. The "LA Z boy" programming era of getting better performance by waiting for our processors to take the next jump on Moore's curve is over. We must learn how to use the new parallel systems effectively and do honest, scientifically valid performance comparisons.

A more detailed description of what we want to achieve can be found here. A comparison of CS560 and CS675 can be found here.

Our approach will be, in terms of Bailey, not to "Fool the masses". A common way to fool the masses is to compare highly optimized code on one system against unoptimized code omn another. Bailey also states that "Scientists must be willing to provide all details of the experimental environment, so others can reproduce their results."

In particular, we want to compare highly optimized GPU implementations to tiled, multithreaded, and vectorized CPU implementations.

We will work in a "Competitive, collaborative" style, by having teams trying to come up with a best solution and then learning from each other, and finding out whether aspects of various solutions can be combined to create an even better solution.

Topics

Your participation will make or break the course.

CUDA Install fest

The cuda nvcc compiler is available on our Linux system.You should have your own copy of the cuda SDK to experiment and extend. Elliot Forney has created a cuda FAQ that explains how to install your cuda SDK.

Cuda Codes

Exercises

Papers to read


Links and refs

Last updated Feb 3, 2010