Find information on common issues.
Ask questions and find answers from other users.
Suggest a new site feature or improvement.
Check on status of your tickets.
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.
Ax = f
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.
The Pioneers of Quantum Computing
19 Nov 2010 | | Contributor(s):: David P. Di Vincenzo
This talk profiles the persons whose insights and visions created the subject of quantum information science. Some famous, some not, they all thought deeply about the puzzles and contradictions that were apparent to the founders of quantum theory. After many years of germination, the confluence...
Nanoelectronic Modeling Lecture 29: Introduction to the NEMO3D Tool
04 Aug 2010 | | Contributor(s):: Gerhard Klimeck
This presentation provides a very high level software overview of NEMO3D. The items discussed are:Modeling Agenda and MotivationTight-Binding Motivation and basic formula expressionsTight binding representation of strainSoftware structureNEMO3D algorithm flow NEMO3D parallelization scheme –...
Nanoelectronic Modeling Lecture 28: Introduction to Quantum Dots and Modeling Needs/Requirements
20 Jul 2010 | | Contributor(s):: Gerhard Klimeck
This presentation provides a very high level software overview of NEMO1D.Learning Objectives:This lecture provides a very high level overview of quantum dots. The main issues and questions that are addressed are:Length scale of quantum dotsDefinition of a quantum dotQuantum dot examples and...
Nanoelectronic Modeling Lecture 26: NEMO1D -
09 Mar 2010 | | 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 simulate scattering from polar optical phonons, acoustic phonons, alloy disorder, and interface...
Nanoelectronic Modeling Lecture 27: NEMO1D -
This presentation provides a very high level software overview of NEMO1D. The items discussed are:User requirementsGraphical user interfaceSoftware structureProgram developer requirementsDynamic I/O design for batch and GUIResonance finding algorithmInhomogeneous energy meshingInformation flow,...
Nanoelectronic Modeling Lecture 21: Recursive Green Function Algorithm
07 Feb 2010 | | 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 partitioned into reservoirs which may be characterized by a non-Hermitian Hamiltonian and a central...
Lecture 6: Neighbor Lists
05 Jan 2010 | | Contributor(s):: Ashlie Martini
Topics:Saving simulation timeVerlet listsCell lists
Lecture 3: Integration Algorithms
Topics:General guidelinesVerlet algorithmPredictor-corrector methods
Short Course on Molecular Dynamics Simulation
13 Oct 2009 | | 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 the opportunities and limitations of Molecular Dynamics as a tool for scientific and engineering...
Illinois ECE 498AL: Programming Massively Parallel Processors, Lecture 15: Kernel and Algorithm Patterns for CUDA
30 Sep 2009 | | Contributor(s):: Wen-Mei W Hwu
Kernel and Algorithm Patterns for CUDATopics: Reductions and Memory Patterns Reduction Patterns in CUDA Mapping Data into CUDA's Memories Input/Output Convolution Generic Algorithm Description What could each thread be assigned? Thread Assignment Trade-offs What memory Space does the Data use?...
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...
Illinois ECE 498AL: Programming Massively Parallel Processors, Lecture 12: Structuring Parallel Algorithms
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...
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...
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...
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.
Experiences with nonintrusive polynomial Chaos and stochastic collocation methods for uncertainty analysis and design
out of 5 stars
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...
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...
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...
Purdue School on High Performance and Parallel Computing
24 Nov 2008 | | 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 address current hardware and software technologies and trends for parallel computing and their...
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++,...