Tags: algorithms


Whether you're simulating the electronic structure of a carbon nanotube or the strain within an automobile part, the calculations usually boil down to a simple matrix equation, Ax = f. The faster you can fill the matrix A with the coefficients for your partial differential equation (PDE), and the faster you can solve for the vector x given a forcing function f, the faster you have your overall solution. Things get interesting when the matrix A is too large to fit in the memory available on one machine, or when the coefficients in A cause the matrix to be ill-conditioned.

Many different algorithms have been developed to map a PDE onto a matrix, to pre-condition the matrix to a better form, and to solve the matrix with blinding speed. Different algorithms usually exploit some property of the matrix, such as symmetry, to reduce either memory requirements or solution speed or both.

Learn more about algorithms from the many resources on this site, listed below.

Online Presentations (21-40 of 86)

  1. Illinois ECE 498AL: Programming Massively Parallel Processors, Lecture 13: Reductions and their Implementation

    15 Sep 2009 | Contributor(s):: Wen-Mei W Hwu

    Structuring Parallel AlgorithmsTopics: Parallel Reductions Parallel Prefix Sum Relevance of Scan Application of Scan Scan on the CPU First attempt Parallel Scan Algorithm Work efficiency considerations Improving Efficiency Use Padding to reduce conflicts Global Synchronization in CUDAThese...

  2. Illinois ECE 498AL: Programming Massively Parallel Processors, Lecture 12: Structuring Parallel Algorithms

    15 Sep 2009 | Contributor(s):: Wen-Mei W Hwu

    Structuring Parallel AlgorithmsTopics: Key Parallel Programming Steps Algorithms Choosing Algorithm Structure Mapping a Divide and Conquer algorithm Tiled Algorithms Increased work per thread Double Buffering Loop Fusion and Memory Privatization Pipeline or "Spatial Computing Model" These...

  3. Experiment vs. Modelling: What's the problem?

    10 Aug 2009 | | Contributor(s):: William L. Barnes

    Progress in plasmonics has been greatly assisted by developments in experimental techniques and in numerical modelling. This talk will look at some of the difficulties that emerge when comparisons are made between experiment and theory. Through the use of four examples I will illustrate what...

  4. Quantitative, Kinetic Models of Cellular Circuits

    04 Apr 2009 | | Contributor(s):: Michael R. Brent

    Living cells contain complex, analog circuits that regulate the rate at which each gene produces its product. The kinetic properties of these circuits enable cells to respond to changes in their environments and thus to survive, reproduce, and compete. For decades, molecular biologists have been...

  5. The Multicore Era: Crisis or (and?) Opportunity?

    27 Mar 2009 | | Contributor(s):: Mithuna Thottethodi

    This talk will provide a brief overview of how we got to the multicore era, the implications and challenges for hardware/software developers and users, and some informed speculation on where the trends may be headed.

  6. Experiences with nonintrusive polynomial Chaos and stochastic collocation methods for uncertainty analysis and design

    13 Mar 2009 | | Contributor(s):: Michael S. Eldred

    Non—intrusive polynomial chaos expansion (PCE) and stochastic collocation (SC) methods are attractive techniques for uncertainty quantification due to their abilities to produce functional representations of stochastic variability and to achieve exponential convergence rates in statistics of...

  7. Nanoparticle and Colloidal Simulations with Molecular Dynamics

    05 Dec 2008 | | Contributor(s):: Steve Plimpton

    Modeling nanoparticle or colloidal systems in a molecular dynamics (MD) code requires coarse-graining on several levels to achieve meaningful simulation times for study of rheological and other manufacturing properties. These include treating colloids as single particles, moving from explicit to...

  8. OpenMP Tutorial

    25 Nov 2008 | | Contributor(s):: Seung-Jai Min

    This tutorial consists of three parts. First, we will discuss abouthow OpenMP is typically used and explain OpenMP programming model. Second, we will describe important OpenMP constructs and data enviroments. Finally, we will show a simple example to illustrate how OpenMP APIs are used to...

  9. Introduction to Parallel Programming with MPI

    24 Nov 2008 | | Contributor(s):: David Seaman

    Single-session course illustrating message-passing techniques. The examples include point-to-point and collective communication using blocking and nonblocking transmission. One application illustrates the manager/worker model with buffered communications. Code examples provided in C, C++,...

  10. Software Productivity Tools

    24 Nov 2008 | | Contributor(s):: David Seaman

    This presentation briefly describes the use of tar(1), make(1), the Portable Batch System (PBS), and two version control systems: CVS and subversion.

  11. Introduction to TotalView

    24 Nov 2008 | | Contributor(s):: David Seaman

    This single-session course presents an introduction to the use of the TotalView parallel debugger available on Purdue's Linux systems.

  12. Quantum and Thermal Effects in Nanoscale Devices

    18 Sep 2008 | | Contributor(s):: Dragica Vasileska

    To investigate lattice heating within a Monte Carlo device simulation framework, we simultaneously solve the Boltzmann transport equation for the electrons, the 2D Poisson equation to get the self-consistent fields and the hydrodynamic equations for acoustic and optical phonons. The phonon...

  13. An Introduction to Quantum Computing

    12 Sep 2008 | | Contributor(s):: Edward Gerjuoy

    Quantum mechanics, as formulated more than 80 years ago by Schrodinger, Heisenberg, Dirac and other greats, is a wholly sufficient foundation for its modern interrelated subfields of quantum computation (qc) and quantum information (qi), which generally are lumped together into a single subfield...

  14. BNC Annual Research Review: An Introduction to PRISM and MEMS Simulation

    04 Jun 2008 | | Contributor(s):: Jayathi Murthy

    This presentation is part of a collection of presentations describing the projects, people, and capabilities enhanced by research performed in the Birck Center, and a look at plans for the upcoming year.

  15. Calculating Resonances Using a Complex Absorbing Potential

    13 Mar 2008 | | Contributor(s):: Robin Santra

    The Siegert (or Gamow) wave function associated with a resonance state is exponentially divergent at large distances from the scattering target. A complex absorbing potential (CAP) provides a computationally simple and efficient technique for calculating the complex Siegert energy of a resonance...

  16. Nanoelectronic Modeling: Multimillion Atom Simulations, Transport, and HPC Scaling to 23,000 Processors

    07 Mar 2008 | | Contributor(s):: Gerhard Klimeck

    Future field effect transistors will be on the same length scales as “esoteric” devices such as quantum dots, nanowires, ultra-scaled quantum wells, and resonant tunneling diodes. In those structures the behavior of carriers and their interaction with their environment need to be fundamentally...

  17. Exploring Physical and Chemical control of molecular conductance: A computational study

    31 Jan 2008 | | Contributor(s):: Barry D. Dunietz

  18. Challenges and Strategies for High End Computing

    20 Dec 2007 | | Contributor(s):: Katherine A. Yelick

    This presentation was one of 13 presentations in the one-day forum, "Excellence in Computer Simulation," which brought together a broad set of experts to reflect on the future of computational science and engineering.

  19. NanoElectronic MOdeling: NEMO

    20 Dec 2007 | | Contributor(s):: Gerhard Klimeck

    This presentation was one of 13 presentations in the one-day forum, "Excellence in Computer Simulation," which brought together a broad set of experts to reflect on the future of computational science and engineering.Novel nanoelectronic devices such as quantum dots, nanowires, and ultra-scaled...

  20. Session 3: Discussion

    20 Dec 2007 |

    Discussion led by Jim Demmel, University of California at Berkeley.