CS675 vs CS560 -------------- The goal of CS675 in S10 is to compare GPU to multi-core+SSE CPUs. This course is a hands on, practical, one off course. We will read papers and programming notes (eg from NVidia) with direct relevance to ujnderstanding the programming model and its effects on performance. Relevant techniques and issues are : tiling, analysis and transformations for parallelism, memory bank conflicts, vectorization (coalescing), thread space (grids blocks), multi-threading (OpenMP). Goal of CS560: Foundations of Fine grain parallelism Polyhedral model, Alpha equational programming, Code generation from alpha, Systolic Arrays, Project. CS675 and CS560 overlap mostly wrt the cs560 project. Students taking both can merge their cs560 and cs675 projects into one more substantial project. CS675 is for the application oriented student who wants to learn how to write high performance code on modern architectures. CS560 is for the student who wants to learn how to compile a high level, implicitly parallel programming language into efficient fine grain parallel code.