Results: 1-10 of 30 |
Curricular materials designed to teach parallel computational modeling to undergraduate or graduate students in science and other STEM disciplines. The module begins with the construction of a cellular automaton model of microbial biofilms using Mathematica. This model is then re-implemented with C and parallelized using MPI.
View Metadata
|
Curricular materials designed to teach computational modeling to undergraduate or graduate students in science and other STEM disciplines. The module teaches the construction of a graphical network-based model of epidemiology and social networks using Mathematica.
View Metadata
|
This module introduces the N-body problem, which seeks to account for the dynamics of systems of multiple interacting objects. Galaxy dynamics serves as the motivating example to introduce a variety of computational methods for simulating change and criteria that can be used to check for model accuracy. Finally, the basic issues and ideas that must be considered when developing a parallel implementation of the simulation are introduced.
View Metadata
|
What the heck is supercomputing? Who uses supercomputing, how, and why? How does supercomputing work? What does the explosive growth of computing power mean for students, faculty and professionals? This module consists of several submodules, exploring the following topics: Overview: What the Heck is Supercomputing; The Tyranny of the Storage Hierarchy; Instruction Level Parallelism; and Stupid Compiler Tricks.
View Metadata
|
The second of three modules, this module dives more deeply into the world of HPC and parallel computing. The primary topics explored are: Shared Memory Multithreading; Distributed Multiprocessing; Applications and Types of Parallelism; and Multicore Madness.
View Metadata
|
In this third of three modules, we examine some more advanced topics in HPC, including: High Throughput Computing; GPGPU: Number Crunching in Your Graphics Card; and Grab Bag: Scientific Libraries, I/O, Visualization.
View Metadata
|
This teaching module introduces stochastic approaches to finding optimum solutions for adequately defined systems. Because these approaches are intrinsically random, large numbers of random samples are typically required to find robust optima. This results in either long single simulation runs, or the need for multiple replicated simulations considered as an ensemble, or both. Monte Carlo, simulated annealing and genetic algorithm approaches to optimization are introduced in this module and applied to a few example problems, and parallelization strategies and their resulting performance gains are assessed.
View Metadata
|
Many computational science models involve matrices. This module will provide a foundation for understanding matrices and some of their operations with examples from population dynamics and will provide background material for other computational science modules. The module will also have a discussion of the importance of matrices in many models that employ high performance computing. The model will have two accompanying tutorials. One will include some of the basics of MPI. The other will provide an introduction to matrices in Mathematica along with Grid Mathematica.
View Metadata
|
This page provides download links for a set of curricular materials designed to teach parallel computational modeling to undergraduate or graduate students in science and other STEM disciplines. The module begins with a description of the importance of age-structure in biological populations. Algorithms, implementation, parameter sweeping and analysis of age-structured models is then presented for both serial and parallel implementations.
View Metadata
|
This module teaches: 1) How to approximate the area under a curve using a Riemann sum, 2) how approximating the area under a curve is used in solutions to scientific problems, 3) how to implement parallel code for Area Under a Curve (including versions that use shared memory via OpenMP, distributed memory via the Message Passing Interface (MPI), and hybrid via a combination of MPI and OpenMP), 4) how to measure the performance and scaling of a parallel application in multicore and manycore environments, and 5) how Area Under a Curve falls into the MapReduce "dwarf" (a class of algorithms that have similar communication and computation patterns).
Upon completion of this module, students should be able to: 1) Understand the importance of approximating the area under a curve in modeling scientific problems, 2) Design a parallel algorithm and implement it using MPI and/or OpenMP, 3) Measure the scalability of a parallel code over multiple or many cores, and 4) Explain the communication and computation patterns of the MapReduce dwarf.
It is assumed that students will have prerequisite experience with C or Fortran 90, *nix systems, and modular arithmetic.
View Metadata
|
Results: 1-10 of 30 |