Tags: algorithms

Description

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.

All Categories (21-40 of 104)

  1. Nanoelectronic Modeling Lecture 26: NEMO1D -

    09 Mar 2010 | Online Presentations | Contributor(s): Gerhard Klimeck

    NEMO1D demonstrated the first industrial strength implementation of NEGF into a simulator that quantitatively simulated resonant tunneling diodes. The development of efficient algorithms that...

    http://nanohub.org/resources/8596

  2. Nanoelectronic Modeling Lecture 27: NEMO1D -

    09 Mar 2010 | Online Presentations | Contributor(s): Gerhard Klimeck

    This presentation provides a very high level software overview of NEMO1D. The items discussed are: User requirements Graphical user interface Software structure Program developer...

    http://nanohub.org/resources/8597

  3. Nanoelectronic Modeling Lecture 21: Recursive Green Function Algorithm

    07 Feb 2010 | Online Presentations | Contributor(s): Gerhard Klimeck

    The Recursive Green Function (RGF) algorithms is the primary workhorse for the numerical solution of NEGF equations in quasi-1D systems. It is particularly efficient in cases where the device is...

    http://nanohub.org/resources/8388

  4. Lecture 6: Neighbor Lists

    05 Jan 2010 | Presentation Materials | Contributor(s): Ashlie Martini

    Topics: Saving simulation time Verlet lists Cell lists

    http://nanohub.org/resources/8121

  5. Lecture 3: Integration Algorithms

    05 Jan 2010 | Presentation Materials | Contributor(s): Ashlie Martini

    Topics: General guidelines Verlet algorithm Predictor-corrector methods

    http://nanohub.org/resources/8118

  6. Short Course on Molecular Dynamics Simulation

    13 Oct 2009 | Courses | Contributor(s): Ashlie Martini

    This set of ten presentations accompanied a graduate level course on Molecular Dynamics simulation. The specific objective of the course (and the presentations) is to provide: 1. Awareness of...

    http://nanohub.org/resources/7570

  7. Illinois ECE 498AL: Programming Massively Parallel Processors, Lecture 15: Kernel and Algorithm Patterns for CUDA

    30 Sep 2009 | Online Presentations | Contributor(s): Wen-Mei W Hwu

    Kernel and Algorithm Patterns for CUDA Topics: Reductions and Memory Patterns Reduction Patterns in CUDA Mapping Data into CUDA's Memories Input/Output Convolution Generic Algorithm...

    http://nanohub.org/resources/7442

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

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

    Structuring Parallel Algorithms Topics: Parallel Reductions Parallel Prefix Sum Relevance of Scan Application of Scan Scan on the CPU First attempt Parallel Scan Algorithm Work...

    http://nanohub.org/resources/7376

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

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

    Structuring Parallel Algorithms Topics: Key Parallel Programming Steps Algorithms Choosing Algorithm Structure Mapping a Divide and Conquer algorithm Tiled Algorithms Increased work...

    http://nanohub.org/resources/7372

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

    10 Aug 2009 | Online Presentations | 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...

    http://nanohub.org/resources/6856

  11. Quantitative, Kinetic Models of Cellular Circuits

    04 Apr 2009 | Online Presentations | 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...

    http://nanohub.org/resources/6374

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

    27 Mar 2009 | Online Presentations | 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...

    http://nanohub.org/resources/6523

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

    13 Mar 2009 | Online Presentations | 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...

    http://nanohub.org/resources/5910

  14. Nanoparticle and Colloidal Simulations with Molecular Dynamics

    05 Dec 2008 | Online Presentations | 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...

    http://nanohub.org/resources/5668

  15. OpenMP Tutorial

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

    This tutorial consists of three parts. First, we will discuss about how OpenMP is typically used and explain OpenMP programming model. Second, we will describe important OpenMP constructs and...

    http://nanohub.org/resources/5874

  16. Purdue School on High Performance and Parallel Computing

    24 Nov 2008 | Workshops | Contributor(s): Alejandro Strachan, Faisal Saied

    The goal of this workshop is to provide training in the area of high performance scientific computing for graduate students and researchers interested in scientific computing. The School will...

    http://nanohub.org/resources/5666

  17. Introduction to Parallel Programming with MPI

    24 Nov 2008 | Online Presentations | 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...

    http://nanohub.org/resources/5932

  18. Software Productivity Tools

    24 Nov 2008 | Online Presentations | 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.

    http://nanohub.org/resources/5937

  19. Introduction to TotalView

    24 Nov 2008 | Online Presentations | 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.

    http://nanohub.org/resources/5942

  20. Quantum and Thermal Effects in Nanoscale Devices

    18 Sep 2008 | Online Presentations | 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...

    http://nanohub.org/resources/5448