Teaching Parallel Computing to Undergraduates at Capital University - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Teaching Parallel Computing to Undergraduates at Capital University

Description:

Teaching Parallel Computing to Undergraduates. at Capital University. Ignatios E. Vakalis ... NAG. Slide 6. CURRICULUM. Typical Undergraduate CS curriculum ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 18
Provided by: dennisk8
Category:

less

Transcript and Presenter's Notes

Title: Teaching Parallel Computing to Undergraduates at Capital University


1
Teaching Parallel Computing to Undergraduates at
Capital University
  • Ignatios E. VakalisDepartment of Math/CSCapital
    UniversityColumbus OH 43209ivakalis_at_capital.edu

2
Is Parallel Computing Important?
  • Large scale scientific problems(Grant
    Challenges)
  • Large data-base applications
  • Introduces fundamental issues in
    CS(synchronization, threading, non-determinism)
  • Cheap (Large number of processors, fast
    interconnection network)

3
Types of (Existing) Curricula
  • One course in parallel computing
    (upper division, undergraduate - graduate)
  • No course in parallel computing
    (large number of liberal arts undergraduate
    institutions)
  • Integrate parallel computing concepts throughout
    the undergraduate curriculum (WOW! Is that
    possible? Stay tuned for the panel discussion.)

4
Parallel Computing at Capital University
  • Obtained a grant (NSF - ILI DUE 9551259) to
    establish the Advanced Computational Laboratory
  • Advanced Computational Laboratory
  • 11 Ultra -10 Sun workstations
  • Networked with FastEthernet (100 Mbits/sec)
  • 3 SGI -O2 workstations

5
Advanced Computational Lab
  • Software for Parallel Computing
  • PVM
  • MPI
  • Parallaxis
  • Other software suites
  • Maple
  • Matlab
  • AVS
  • NAG

6
CURRICULUM
  • Typical Undergraduate CS curriculum
  • Two courses in Parallel Computing (CS 376, 476)
  • Two courses in Computer Graphics (CS 377, 477)
  • Emphasis on undergraduate research
  • Junior - senior seminar experience
  • Projects in parallel computing and computer
    graphics
  • Presentations in state and national meetings
    (NCUR)

7
Introduction to Parallel Computing (CS 376)
  • Required course for all CS majors
  • Textbook Distributed and Parallel computing by
    H. El-Rewini, T. Lewis, Prentice Hall, 1998
  • Prerequisites Data Structures and Algorithms
  • Typical class size 20 CS majors,
    5-10 math/science majors

8
Course Outline
  • What is Parallel Computing
  • next generation
  • network computing
  • WWW, Client-server
  • Performance Measures
  • Amdals Law, other measures
  • limits of parallelism
  • Benchmarking

9
  • Distributed and Parallel processors
  • Interconnection networks
  • (static, dynamic, topologies)
  • Programming paradigms (MIMD, SIMD, SM, VP)
  • Cache design in SM machines
  • The PRAM Model
  • Overview
  • Analysis of Algorithms
  • Matrix multiplication, sorting, searching

10
  • Message passing Algorithms
  • Overview
  • PVM (programming assignments)
  • MPI (programming assignments)
  • Execute code in ACL and OSC (Cray T94,
  • Cray T3E, SGI Origin 2000)
  • SIMD data- parallel programming
  • Programming model
  • Virtual machine
  • Programming is parallaxis (simulator)

11
High Performance Computing(CS 476)
  • Elective course for CS, Math and Science majors.
  • Textbook Introduction to High Performance
    Scientific Computing, by L. Fosdick, et. al.,
    MIT Press, 1996
  • Prerequisites Parallel Computing (CS 376)
  • Typical Size 10 CS/Math/Science majors

12
Course Outline
  • Emphasis on Scientific (Numerical) applications
  • Selected topics from Numerical Analysis
  • Tools
  • Matlab
  • AVS (Scientific visualization)
  • Issues related to the efficient use of cache
  • Improving code performance

13
  • Programming with MPI (review from CS376)
  • Use of CRAY T94, CRAY T3E, SGI ORIGIN 2000
  • Ohio Supercomputer Center
  • Introduction to OpenMP
  • Multi-threaded applications on a SM environment
  • Programming the SGI ORIGIN 2000 (OSC)
  • Scaled Vector Processing
  • Concepts of vector processing
  • Programming the SV1 at OSC

14
Projects
  • Solving the wave equation (vibrating string) in
    parallel.
  • Model (continuous, disretization)
  • Parallel implementation on DM machines
  • Parallel Monte Carlo Methods
  • Molecular Dynamics Simulations
  • Hard spheres model
  • Lenorad-Jones intereactions
  • Model construction
  • Implementation on DM and VP models
  • Visualization (AVS, MATLAB)

15
Other Courses
  • Computational Science I
  • Required by all science and math majors
  • Brief overview of Grand Challenge problems
  • Reading assignments on the use of parallel
  • computing in solving science problems
  • Seminar Experience
  • Students select to do a research project in
    the area of parallel computing
  • Parallel ray tracing and parallel rendering
  • Parallel image processing
  • Parallel stereo-matching algorithms

16
Present --gt Future
  • Parallel computing concepts across all science
    curricula
  • Received an NSF CCLI grant (DUE 9952806)
  • June 2000 - August 2003, 11 co-Pis to create
    educational materials for an undergraduate
    Computational Science minor
  • Each course will be a collection of case studies
  • Parallel and High-Performance computing will be
    integrated, in each course.

17
Courses to be developed
  • Computational Science I and II
  • Computational and Applied Mathematics
  • Computational Biology
  • Computational Chemistry
  • Computational Environmental Science
  • Computational Physics
  • Computational Psychology/Neuroscience
  • Scientific Visualization
  • Parallel Computing (revised)
  • High Performance Computing (revised)
Write a Comment
User Comments (0)
About PowerShow.com