Multi-core Programming Philosophy: Multithreaded programming in a multicore environment requires more than just "spawning threads". Software engineers must be aware of multicore processor architecture, instruction pipelines and processor cache useage. In this course, approaches to analizing mulithreaded programs will be studied. The overall goal of the course is for students to gain an understanding of software issues realted to multithreaded programming and the difference between hyprethreading, multicore, and monocore systems and behavior.
For more complete information about compiler optimizations, see our Optimization Notice.