Introduction to Computational Science Tools

Fall Seminar Series
Part of the Computational Science Graduate Minor

Course Number: AERSP 590
2 Credits

Location: 316 Hammond
Dates/Time: Monday and Wednesday, 3:35 - 4:25 PM
Click here for the Syllabus in Word format.


Instructor and Contact Information:

This semester the course will be taught by members of the High Performance Computing and Visualization Groups, a division of Information Technology Services at Penn State University

Class Coordinator: Jeff Nucciarone e-mail:nucci at psu.eduPhone: 865.5333
Backup coordinator contact: George Otto e-mail:george-otto at psu.eduPhone: 863.6112

Class e-mail for general queries: beatnic@aset.psu.edu


This is a required course for the Graduate Minor in Computational Science. (see also the Spring Course)


Semester Goal:

Upon the successful conclusion of this colloquium students should have an increased awareness of high-performance computing and visualization resources available at Penn State, and the necessary skills to use appropriate hardware and software for problems within their respective disciplines. Successful students will obtain the necessary skills to make informed decisions regarding how to proceed computationally when they need to tackle a class or research project that can benefit from such techniques, as well as information needed for follow-up investigation of specific techniques or resources that may be applicable in their future work.


Outline and Objectives:

  1. Introduction to High Performance Computing Systems at PSU, Overview of hardware at National Labs, Machine Room tour, Comp Bldg Viz systems tour



  1. Historical development of parallel systems
    This section will focus on the evolution of high performance computing hardware. There will be a focus on parallel programming paradigms as they fit into contemporary system architecture. Additionally there will be a discussion on hardware potential of the future such as the IBM Cell processor, FPGA and GPU programming.

    Click here for a copy of the slides used for this lecture: Slides
    Additonal material on the Peakstream GPU can be read here: Slides

    Assignment 1: Available here



  1. Grid Computing and Middleware applications
    Inter and intra-institutional collaboration can take many distinct forms. To provide a consistent and cross-platform method of collaboration, many developers have turned to web-based applications that provide a user-friendly front-end to complex computing infrastructures as well as simple communication tools. Students will be shown at least two current projects aimed at providing collaboration services and speeding time-to-results for our researchers. Upon conclusion of the seminar, students will be able to think through requirements, strengths, and weaknesses of such a system.

    Click here for a copy of the slides used for this lecture:
    Grid Computing
    Portals



  1. Numerical libraries
    Numerical libraries are a powerful way to speed up application development and run times. In this session students will be introduced to numerical libraries and their use. Upon conclusion of this seminar students should be able to understand how to pick and choose from available libraries and use them in their applications.

    Click here for a copy of the slides used for this lecture: Slides

    Assignment 2: Available here



  1. Software Carpentry
    An introduction for scientific researchers to the 10% of software engineering that will cover 90% of their needs. The topics addressed are the equivalent of good laboratory practice, such as version-control, unit testing, teamware, and quality assurance. The goal of this seminar is to make students proficient in the use of these tools.

    Click here for a copy of the slides used for this lecture:

    Assignment 3: Available here



  1. Profiling / debugging / code optimization
    Profile and debug tools will be discussed as part of this colloquium. Upon conclusion of this session students should be able to profile their own codes and know how to use the debugging tools available at many HPC centers. With program knowledge from profiler output students should also be able to better apply compiler optimization options and programming techniques to increase code performance.

    Click here for a copy of the slides used for this lecture:



  1. Matlab/Mathematica/Maple
    These three commercial packages will be used to demonstrate their usefulness in compuations and visualization in this hand on session. A system of differential equations will be solved using the three packages so comparisions will be demonstarted. The pros and cons of each package will be discussed. The parallel versions of these packages will be outlined. Upon conclusion of this session students should understand the benefits of using these applications, visualize the differences among the three packages, and understand the pros and cons of each.

    Click here for a copy of the slides and assignments used for this lecture:



  1. MPI 1 (basics, point to point)
    In this session we will cover the basics of parallel programming using MPI. A simple MPI program will be discussed to go over the basic topics required to write any MPI program. Upon conclusion of this sections student should be able to understand how an MPI program operates, some common pitfalls, and be able to write a simple MPI program

    Click here for a copy of the slides and assignments used for this lecture:



  1. MPI 2 (advanced communication, Jacobian)
    More advanced MPI topics will be presented, such as communication / computation overlap and collective communication. Students should be able to write more advanced MPI programs, such as the Jacobian solver, upon conclusion of this section.

    Click here for a copy of the slides and assignments used for this lecture:



  1. Optimization (GAMS/CPLEX)
    Optimization (or Mathematical Programming) refers to the study of problems in which one seeks to minimize or maximize a real function by systematically choosing the values of real or integer variables from within an allowed set. The Optimization Tools (GAMS/CLPEX/COIN-OR) session will cover the solution of linear (LP), nonlinear (NLP) and mixed integer (MIP) programming models using commercial (GAMS/CPLEX) and open-source (COIN-OR) software.

    Click here for a copy of the slides and assignments used for this lecture:



  1. Visualization: Visual Program Editors OpenDX
    OpenDX is open source visualization software that has grown from IBM Visualization Data Explorer. OpenDX is available from
    www.opendx.org. The OpenDX visual program editor allows the development of unique visualization approaches for a wide range of scientific and engineering data, without getting bogged down in intricacies of programming and syntax. With open DX, users build visual progams (or networks) in which various functional modules are connected within a dataflow visualization structure, in order to gain more intuitive insight into phenomena represented or relationships contained in their data. (www.opendx.org)

    Click here for a copy of the files used for this lecture:



  1. Visualization Programming Toolkits - VTK
    The Visualization Toolkit (VTK) is a flexible, robust, cross-platform and open-source software system for 3D computer graphics, image processing, and visualization. VTK consists of a C++ class library, and several interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports numerous visualization techniques suitable for a wide range of disciplines and data types. (www.vtk.org)

    Click here for a copy of the files used for this lecture:



  1. Visualization: Using Open Source Visualization Applications with HPC Resources VMD and Paraview
    Visual Molecular Dynamics (VMD) and Paraview are open source applications for visualization of scientific data. Both combine the ease of use of a standalone, GUI-based application with the ability to use remote HPC resources.

    VMD provides a variety of standard methods for visualization and analysis of biological systems such as proteins, nucleic acids, lipid bilayer assemblies, etc., as well as more general molecules via Protein Data Bank (PDB) files or other standard file formats for storing molecular data. VMD can be used to animate trajectories intime-series molecular dynamics (MD) simulation. In particular, VMD can act as a graphical front end for an external MD program by displaying and animating a molecule undergoing simulation on a remote computer or cluster. Windows, Linux and Mac OSX are supported.

    ParaView http://www.paraview.org/HTML/Index.html is a general purpose scientific data visualization application designed for scalable visualization of large data sets using compute clusters or similar HPC systems. ParaView can be run on distributed and shared memory parallel systems as well as single processor workstations. ParaView is built on VTK. Windows, Linux and several Unix variants are supported.

    Click here for a copy of the files used for this lecture:



  1. Visualization: Virtual Reality Display and Collaborative Environments
    Large format, 3D stereoscopic and tele-collaborative display environments may provide unique opportunities for experiential understanding, analysis and communication of data. In this session we will visit the Immersive Construction (Icon) Lab in room 306 Engineering Unit C for a demonstration and discussion of the potential of such resources for aiding scientific discovery and collaboration, both locally and among distributed work teams.


Grading

Upon the conclusion of each week's module the instructor will either administer a quiz or work assignment through which you will demonstrate some mastery of the week's topic. The course grade will be entirely based on these assignments.


Exam Policy

There will be no exams as part of this colloquium. Each week the instructor may give a quiz or other assignment upon the conclusion of each week's topic as noted above.


Class attendance

Class attendance is mandatory. Due to the rotation of presenters and topics throughout the semester, much of the information presented in class may not be available elsewhere or at alternate times. Quizzes or assignments missed due to unscheduled absence or leaving a class early cannot be made up. If you know that you will need to miss an upcoming class please contact the class coordinator via e-mail (beatnic@aset.psu.edu) or telephone (814 865-5333) at least one-week prior to the class in question to determine whether alternate arrangements can be made for that session.


Class cancellation

In the event of inclement weather you may check to see if classes are canceled by examining various Penn State resources such as the Penn State Portal (http://portal.psu.edu) or PSU Live (http://live.psu.edu).


Academic Integrity Statement

All submitted work must be your own and not copied in whole or in part from another student or textbook. In addition, all material that is not your own (ideas or words) in papers must be properly cited. If you are not sure how to cite material in your paper, see your instructor. It is your responsibility to avoid plagiarism. Failure to comply with this rule could result in a failing grade and disciplinary procedures.

Penn State University's Definition and Expections: Academic integrity is the pursuit of scholarly activity in an open, honest and responsible manner. Academic integrity is a basic guiding principle for all academic activity at Penn State, and all members of the University community are expected to act in accordance with this principle. Consistent with this expectation, the University's Code of Conduct states that all students should act with personal integrity, respect other students' dignity, rights and property, and help create and maintain an environment in which all can succeed through the fruits of their efforts. Academic integrity includes a commitment not to engage in or tolerate acts of falsification, misrepresentation or deception. Such acts of dishonesty violate the fundamental ethical principles of the University community and compromise the worth of work completed by others.


Notice to students with disabilities

Any student in this course who has a disability that may prevent him or her from fully demonstrating his or her abilities should contact us personally as soon as possible, so we can discuss accommodations necessary to ensure full participation and facilitate your educational opportunity.


Previous Versions of this course:

source : http://www.csci.psu.edu/

You are the [Error Opening Counter File -- Click for more info] visitor since Sept. 5, 2006.

Last modified: Friday, 03-Aug-2007 12:36:01 EDT