ECEN 5023-002/CSCI 7143-001 Programming Non-traditional Multiprocessor Systems
Tuesday, Thursday, 2:00pm - 3:15pm, Room ECST 1B21

Professor: Manish Vachharajani
Fall 2008 Office Hours:TBD, or by appointment


This project-oriented course will focus on developing applications, compilers, and programming strategies for non-traditional multiprocessor systems, focusing on GPUs. Example projects include, but are not limited to, visualizing application behavior on multiprocessor systems, porting a compute-intensive application to execute on an NVIDIA GPU, developing a compiler that compiles matrix routines for a variety of processors, etc. The projects are intentionally open-ended so that students may pursue projects that reflect their career or research interests, the only requirements will be that the project have sufficient scope/difficulty and somehow pertains to non-traditional multiprocessor systems.

Student's have have several workstations with NVIDIA's GeForce 8600 GTS at their disposal for experimentation with GPUs and a small cluster with NVIDIA's Tesla S870. Any other hardware, to which students have access, and which contains a non-traditional multi-processor may also be used for the course.

Featured Prior Projects

Last year, John Michalakes took the course and ported a substantial part of the weather research and forecast model to NVIDIA's GPUs and achieved an 8x speedup for the accelerated portion of the model and a 1.3x speedup overall. He has since published two papers on the topic:

Who can benefit?

Anyone who is interested in understanding the organization and efficient programming of state-of-the-art non-traditional multiprocessor parallel architectures


ECEN 5593: Advanced Computer Architecture or ECEN 4593: Advanced Computer Architecture (or equivalent experience) and one of ECEN 5553: Parallel Processing, CSCI 3753: Operating Systems, or CSCI 5573: Advamced Operating Systems, equivalent courses, or equivalent experience. A good understanding of C programming on UNIX systems.

Course Documents: