ICS@PSU: Institute for CyberScience

Special Course Offering from PSU CSE and ICS

CSE 597 – Spring 2018 – Applications of Parallel Computers – 3 credits

M-W 10:10 am – 12:05 pm – W205 Westgate Building

PSU CSE Sponsor: Prof. Daniel Kifer

Staff Instructors: Dr. Chuck Pavloski (PSU ICS), Dr. Adam Lavely (PSU ICS)

This is an online / laboratory course hosted from UC Berkeley (as CS267) but offered Nationally via remote sites, including Penn State University Park Campus.

This course teaches both graduate and advanced undergraduate students from diverse departments how use parallel computers both efficiently and productively, i.e. how to write programs that run fast while minimizing programming effort. The latter is increasingly important since essentially all computers are (becoming) parallel, from supercomputers to laptops. So beyond teaching the basics about parallel computer architectures and programming languages, we emphasize commonly used patterns that appear in essentially all programs that need to run fast. These patterns include both common computations (eg linear algebra, graph algorithms, structured grids,..) and ways to easily compose these into larger programs. We show how to recognize these patterns in a variety of practical problems, efficient (sometimes optimal) algorithms for implementing them, how to find existing efficient implementations of these patterns when available, and how to compose these patterns into larger applications. We do this in the context of the most important parallel programming models today: shared memory (eg PThreads and OpenMP on your multicore laptop), distributed memory (eg MPI and UPC on a supercomputer), GPUs (eg CUDA and OpenCL, which could be both in your laptop and supercomputer), and cloud computing (eg MapReduce and Hadoop). We also present a variety of useful tools for debugging correctness and performance of parallel programs. Finally, we have a variety of guest lectures by a variety of experts, including parallel climate modeling, astrophysics, and other topics.

This course also satisfies part of the course requirements for the Computational Science Graduate Minor (http://www.csci.psu.edu/minor.html).

Students completing the course will also receive a certificate of completion from XSEDE.

PSU ICS staff will be providing local technical help the students and will be proctoring the course.

Course Motivation:

This course is designed to teach students how to program parallel computers to efficiently solve challenging problems in science and engineering, where high performance computers or clusters are required either to perform complex simulations or to analyze enormous datasets. It is intended to be useful for students from many departments and with different backgrounds, although we will assume reasonable programming skills in a conventional (non-parallel) language, as well as enough mathematical skills to understand the problems and algorithmic solutions presented.

But the course also addresses the broader issue that since the mid 2000’s: not only are the fastest computers parallel, but nearly all computers are parallel, because the physics of semiconductor manufacturing will no longer lets conventional sequential processors get faster year after year, as they had historically. So all programs that need to run faster will have to become parallel programs. The types of processors is also changing towards smaller simpler processors and more complex memory architectures in an effort to continue boosting performance. These changes are not limited to science and engineering but affect the entire computing industry, which has depended on selling new computers by running their users’ programs faster without the users having to reprogram them. Today computers from mobile phones and embedded devices to supercomputer and cloud data centers are parallel, and programmers faced with performance goals for software need to understand how to take advantage of various types of parallelism.

Students in CSE 597 will get the skills to use some of the best existing parallel programming tools, will learn how to analyze and tune for performance, and will get an overview of parallel architectures, algorithms, and applications as well a number of open research questions.

Students in this class will also have access to some of the biggest HPC machines in the world through XSEDE (xsede.org) in order to work problems and projects for this class.

Materials from the 2017 spring offering of the course can be found here: https://sites.google.com/a/lbl.gov/cs267-spring-2017/

Screenshot of the CSE 597 course in Lionpath

Screenshot of the CSE 597 course in Lionpath

Penn State Institute for CyberScience

Help us build the future. Contact ICS at Penn State.

  • email: ics@psu.edu
  • phone: ICS-ACI Support (i-ASK Center): 814-865-4275 | General Inquiries: 814-867-1467

October 2017

  • Oct 17, 2017 - Oct 18, 201710:00 am - 3:00 pm

    Materials Day 2017: Hot Topics in Materials

    This October, Materials Day 2017 will dig deep into a number…

    More Info
  • Oct 4, 2017 - Oct 6, 201712:00 pm

    COMPASS Science Communication Seminars

    COMPASS and the Institutes of Energy and the Environment (IE…

    More Info
  • Oct 27, 20173:00 pm - 4:30 pm

    ICS-ACI Training Series – Intro to HPC

    Do you need high-performance computing for your research pro…

    More Info
  • Oct 20, 20173:00 pm - 4:30 pm

    ICS-ACI Training Series – Intro to HPC

    Do you need high-performance computing for your research pro…

    More Info
  • Oct 5, 20171:30 pm - 3:00 pm

    CyberScience Seminar: Using Machine Learning to Forecast Student Outcomes

    For a variety of reasons, some college students are likely …

    More Info
  • Oct 4, 20174:00 pm - 6:00 pm

    COMPASS Science Communication Plenary

    COMPASS and the Institutes of Energy and the Environment (I…

    More Info
  • Oct 3, 2017 - Oct 4, 201711:00 am - 4:30 pm

    XSEDE HPC Workshop: MPI

    This workshop is intended to give C and Fortran programmers …

    More Info
  • Oct 12, 201712:00 pm - 1:00 pm

    Social Data Analytics Workshop Series: Data Structures and Subsetting in R

    In this workshop, we will finally move beyond the basic func…

    More Info
  • Oct 13, 20174:00 pm - 5:00 pm

    Stochastic Computations Working Group: “Parameter estimation using linear response statistics: Theory and numerical scheme”

    Join ICS Associate John Harlim and Xiantao Li for their bi-w…

    More Info
  • Oct 26, 201712:00 pm - 1:00 pm

    Introduction to Data Science with R Workshop: Functions

    In this workshop, we will start to think about writing R cod…

    More Info