Catalog Description
This course introduces parallel computer architectures and their programming. It includes an introduction to MPI and OpenMP and a number of engineering problems, including numerical simulations. It also provides an introduction to performance evaluation and modeling as well as scalability analysis. (Prerequisites: A C or better in CSCI 220 "Data structures and algorithms") (Recommended: A C or better in MATH 160 "Calculus I" and CSCI 356 "Operating Systems")
Background

This course is taught each spring by Dr. William Jones at CCU to students in the computer science department at CCU and to students in the electrical and computer engineering department at Clemson University. Although this course was team-taught by professors at both institutions initially, it has recently adopted the model of a single professor teaching both locally and remotely using telepresence software. Concepts covered in lecture are typically reinforced through five larger programming assignments. During the code development and debugging cycle, students make use of local compute resources ranging from their own laptops to relatively small computational cluster computers to test the functionality of their programs. Then, students migrate their projects to the Palmetto Supercomputer at Clemson University, in order to evaluate the performance of their programs at larger scales. Palmetto was ranked as the 62nd fastest supercomputer in the world in 2008 and the 96th fasted in 2011 by Top500.

CSCI 473 was offered for the first time during the Spring 2010 semester, and has been offered each Spring since that time. The results of this collaboration were showcased at the 2010 International Conference for High Performance Computing, Networking, Storage, and Analysis (a.k.a SC 2010) as part of Clemson University's showroom booth and drew the attention of many attendees from both academia as well as industry. This partnership has provided CCU students an opportunity to access a level of technology not previously available to them.

Integration with LittleFE

During Summer 2011, Coastal Carolina was awarded a mini-cluster from the LittleFe project funded by the Shodor Education Foundation, Intel, Teragrid, and others. This cluster is a 12-core portable unit designed for use in undergraduate computer science curricula for teaching parallel and concurrent computing. The unit supports both shared memory (e.g. OpenMP) and message passing (e.g. MPI) programming styles. We have received and built our LittleFe unit at the 2011 Supercomputing conference (SC 2011) located in Seattle, WA.

We are currently planning on integrating the LittleFE unit into CSCI 473 as a complementary development platform. More information will be presented here as it becomes available.