Shodor

a national resource for computational science education

HOME BWPEP Shodor Blue Waters

Curriculum Modules

Completed Petascale Curriculum Modules approved by Blue Waters

Results: 21-30 of 30
Petascale
shodor.org
  By: Aaron Weeden
This module presents the Sieve of Eratosthenes, a method for finding the prime numbers below a certain integer. One can model the sieve for small integers by hand. For bigger integers, it becomes necessary to use a coded implementation. This code can be either serial (sequential) or parallel. Students will explore the various forms of parallelism (shared memory, distributed memory, and hybrid) as well as the scaling of the algorithm on multiple cores in its various forms, observing the relationship between run time of the program and number of cores devoted to the program. An assessment rubric, two exercises, and two student project ideas allow the student to consolidate her/his understanding of the material presented in the module.
View Metadata
Petascale
shodor.org
  By: David Joiner
This teaching module continues with a demonstration of parallel and high-performance computing applied to the simulation of n-body system with a consideration of the issues that arise and approaches that are used to scale the such simulations. An initial introduction into GalaxSee HPC is covered in part I of the GalaxSee HPC modules. Part II will focus on numerical issues related to solving the N-Body problem more efficiently, in particular the use of softened potentials in the force calculation, the use of tree-based methods such as the Barnes-Hut method, and the use of spectral methods such as the Particle-Mesh method. Some of the mathematics involved can be performed by a student with a solid basis in algebra; however the theory behind the Particle-Mesh method does assume some knowledge of partial differential equations and of the use of Fourier transforms to simplify the solution of PDEs with periodic boundary conditions.
View Metadata
Petascale
shodor.org
  By: J. Russell Manson
This module teaches the fundamental physical processes governing sand movement in rivers and how massive simulations can be achieved using supercomputers. Upon completion of this module students should be able to implement a model for simulating these processes using C and visualize those simulations using Paraview.
View Metadata
Petascale
shodor.org
  By: Aaron Weeden
This module teaches the use of binary trees to sort through large data sets, different traversal methods for binary trees, including parallel methods, and how to scale a binary tree traversal on multiple compute cores. Upon completion of this module, students should be able to recognize the structure of a binary tree, employ different methods for traversing a binary tree, understand how to parallelize a binary tree traversal, and how to scale a binary tree traversal over multiple compute cores.
View Metadata
Petascale
shodor.org
  By: Ananth Kalyanaraman
This module will introduce the suffix tree data structure and its many applications in string matching and bioinformatics, describe how suffix trees are built on a serial computer, discuss the challenges associated with building the tree in parallel, explain one application in bioinformatics (pattern matching) that uses suffix tree, develop a method to implement pattern matching on a distributed memory parallel computer, and describe how to analyze parallel performance and identify improvements.
View Metadata
Petascale
shodor.org
  By: Angela Shiflet, Whitney Sanders, George Shiflet
This module teaches modeling with Markov Chains and applying Markov Chains to estimate the impact of loss of diversity of species on an environment.
View Metadata
Petascale
shodor.org
  By: Gong Chen, Brandon Cloutier, Ning Li, Benson Muite, Paul Rigge
This module teaches the principals of Fourier spectral methods, their utility in solving partial differential equation and how to implement them in code. Performance considerations for several Fourier spectral implementations are discussed and methods for effective scaling on parallel computers are explained.
View Metadata
Petascale
shodor.org
  By: Robert Hochberg, John Riselvato
This module gives a basic introduction to the CUDA architecture and programming model, OpenGL for 3D graphics, and the interoperability between the two for interactive, high performance scientific visualization.
View Metadata
Petascale
shodor.org
  By: Paul Gray
This module provides an introduction to the GPU architecture, an introduction to the CUDA development environment, instructions on interfacing with the GPU hardware, and an emphasis on debugging C and CUDA codes with cuda-gdb. Upon completion of this module students should be able to develop, compile, and execute programs on the GPU architecture, troubleshoot issues with GPU codes using cuda-gdb, translate basic algorithms into programs suitable for execution on the GPU architecture, and understand the many-thread model for parallelism present on the GPU architecture.
View Metadata
Petascale
shodor.org
  By: Charlie Peck, Ivan Babic, Mobeen Ludin
This module teaches a method for evaluating the scalability of parallel programs. It includes a software toolchain, PetaKit, for automating the collection of performance data both for single runs and for parameter sweeps illustrating both strong and weak scaling. This is accomplished by providing a ready-to-run parallel and distributed operating environment, the Bootable Cluster CD (BCCD), with a variety of parallel programs which are already instrumented with PetaKit. The PetaKit software is also provided independently as part of the BCCD so that it can be incorporated into the student's own programs, either running under the BCCD or on any other Unix platform. This combination supports exploration of Speedup, Efficiency, Scaling (strong and weak), Amdahl's law, Gustafson-Barsis law, and the Karp-Flatt metric.
View Metadata
Results: 21-30 of 30