nanoHUB could be intermittently unavailable on 05/04 from 8:00 am – 1:00 pm (EST) for scheduled maintenance. All tool sessions will expire on 05/04 at 8:00 am (EST).
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.
A parallel programming model is a set of software technologies to express parallel algorithms and match applications with the underlying parallel systems. It encloses the areas of applications, programming languages, compilers, libraries, communications systems, and parallel I/O. Due to the difficulties in automatic parallelization today, people have to choose a proper parallel programming model or a form of mixture of them to develop their parallel applications on a particular platform.
Learn more about quantum dots from the many resources on this site, listed below. More information on Parallel Programming can be found here.
Mathematica for CUDA and OpenCL Programming
07 Mar 2011 | Online Presentations | Contributor(s): Ulises Cervantes-Pimentel, Abdul Dakkak
In the latest release of Mathematica 8, a large number of programming tools for GPU computing are available. In this presentation, new tools for CUDA and OpenCL programming will be explored....
Illinois ECE 498AL: Programming Massively Parallel Processors, Lecture 10: Control Flow
01 Sep 2009 | Online Presentations | Contributor(s): Wen-Mei W Hwu
How Thread Blocks are Partitioned
Control Flow Instructions
A Vector Reduction Example
A simple Implementation
Illinois ECE 498AL: Programming Massively Parallel Processors, Lecture 9: Memory Hardware in G80
30 Aug 2009 | Online Presentations | Contributor(s): Wen-Mei W Hwu
Memory Hardware in G80
CUDA Device Memory Space
Parallel Memory Sharing
SM Memory Architecture
SM Register File
Programmer view of Register File
Illinois ECE 498AL: Programming Massively Parallel Processors, Lecture 6: CUDA Memories - Part 2
20 Aug 2009 | Online Presentations | Contributor(s): Wen-Mei W Hwu
CUDA Memories Part2
Breaking Md and Nd into Tiles
Tiled Matrix Multiplication Kernel
CUDA Code - Kernel Execution Configuration
First Order Size considerations...
Illinois ECE 498AL: Programming Massively Parallel Processors
11 Aug 2009 | Courses | Contributor(s): Wen-Mei W Hwu
Virtually all semiconductor market domains, including PCs, game consoles, mobile handsets, servers, supercomputers, and networks, are converging to concurrent platforms. There are two...
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...
Charles Taylor Patrick Gillespie
MPI for the Next Generation of Supercomputing
0.0 out of 5 stars
05 Dec 2008 | Online Presentations | Contributor(s): Andrew Lumsdaine
Despite premature rumours of its demise, MPI continues to be the de facto standard for high-performance parallel computing. Nonetheless, supercomputing software and the high-end ecosystem continue...
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...
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...
Introduction to Parallel Programming with MPI
5.0 out of 5 stars
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...
Software Productivity Tools
This presentation briefly describes the use of tar(1), make(1), the
Portable Batch System (PBS), and two version control systems: CVS and subversion.
Introduction to TotalView
This single-session course presents an introduction to the use of the TotalView parallel debugger available on Purdue's Linux systems.
Nanoelectronic Modeling: Multimillion Atom Simulations, Transport, and HPC Scaling to 23,000 Processors
07 Mar 2008 | Online Presentations | 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...
Development of a Nanoelectronic 3-D (NEMO 3-D ) Simulator for Multimillion Atom Simulations and Its Application to Alloyed Quantum Dots
14 Jan 2008 | Papers | Contributor(s): Gerhard Klimeck, Timothy Boykin
Material layers with a thickness of a few nanometers are common-place in today’s semiconductor
devices. Before long, device fabrication methods will reach a point at which the other two...
Challenges and Strategies for High End Computing
20 Dec 2007 | Online Presentations | 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...
Session 3: Discussion
20 Dec 2007 | Online Presentations
Discussion led by Jim Demmel, University of California at Berkeley.
HPCW Introduction to Parallel Programming with MPI
05 Dec 2007 | Online Presentations | Contributor(s): David Seaman
illustrating message-passing techniques. The examples include point-to-point
and collective communication using blocking and nonblocking transmission. One
High Performance Computing Training Workshop
09 Oct 2007 | Workshops
The Computing Research Institute and the Rosen Center for Advanced Computing hosted a training workshop on High Performance Computing August 6 &7, and September 10 & 11, 2007. The goal of this...