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.
Challenges and Strategies for High End Computing
out of 5 stars
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.
Charles Taylor Patrick Gillespie
Development of a Nanoelectronic 3-D (NEMO 3-D ) Simulator for Multimillion Atom Simulations and Its Application to Alloyed Quantum Dots
14 Jan 2008 | | Contributor(s):: Gerhard Klimeck, Timothy Boykin
Material layers with a thickness of a few nanometers are common-place in today’s semiconductordevices. Before long, device fabrication methods will reach a point at which the other two devicedimensions are scaled down to few tens of nanometers. The total atom count in such deca-nanodevices is...
High Performance Computing Training Workshop
09 Oct 2007 |
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 workshop is to increase the attendees’ knowledge of parallel architectures and parallel programming on...
HPCW High-end HPC Architectures
09 Oct 2007 | | Contributor(s):: Mithuna Thottethodi
HPCW Introduction to Parallel Programming with MPI
05 Dec 2007 | | Contributor(s):: David Seaman
Single-session courseillustrating message-passing techniques. The examples include point-to-pointand collective communication using blocking and nonblocking transmission. Oneapplication illustrates the manager/worker model with buffered communications.Code examples provided in C, C++, Fortran...
HPCW Parallel Programming Models
09 Oct 2007 | | Contributor(s):: Sam Midkiff
Illinois ECE 498AL: Programming Massively Parallel Processors
11 Aug 2009 | | Contributor(s):: Wen-Mei W Hwu
Spring 2009Virtually all semiconductor market domains, including PCs, game consoles, mobile handsets, servers, supercomputers, and networks, are converging to concurrent platforms. There are two important reasons for this trend. First, these concurrent processors can potentially offer more...
Illinois ECE 498AL: Programming Massively Parallel Processors, Lecture 10: Control Flow
01 Sep 2009 | | Contributor(s):: Wen-Mei W Hwu
Control FlowTopics: Terminology Review How Thread Blocks are Partitioned Control Flow Instructions Parallel Reduction A Vector Reduction Example A simple Implementation Vector Reduction With Bank Conflicts Vector Reduction With Branch Divergence Predicted Execution Concept Instruction Prediction...
Illinois ECE 498AL: Programming Massively Parallel Processors, Lecture 6: CUDA Memories - Part 2
20 Aug 2009 | | Contributor(s):: Wen-Mei W Hwu
CUDA Memories Part2Topics: Tiled Multiply Breaking Md and Nd into Tiles Tiled Matrix Multiplication Kernel CUDA Code - Kernel Execution Configuration First Order Size considerations in G80 G80 Shared Memory and Threading Tiling Size Effects Typical Structure of a CUDA ProgramThese lecture were...
Illinois ECE 498AL: Programming Massively Parallel Processors, Lecture 9: Memory Hardware in G80
30 Aug 2009 | | Contributor(s):: Wen-Mei W Hwu
Memory Hardware in G80Topics: CUDA Device Memory Space Parallel Memory Sharing SM Memory Architecture SM Register File Programmer view of Register File Matrix Multiplication Example More on Dynamic Partitioning ILP vs. TLP Memory Layout of a Matrix in C Constants Shared Memory Parallel Memory...
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++,...
Introduction to TotalView
This single-session course presents an introduction to the use of the TotalView parallel debugger available on Purdue's Linux systems.
Mathematica for CUDA and OpenCL Programming
07 Mar 2011 | | 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. Several applications, including image processing, medical imaging, multi-gpu, statistics and finance will...
MPI for the Next Generation of Supercomputing
05 Dec 2008 | | 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 to advance, creating challenges to several aspects of MPI. In this talk we will review the design...
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...
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...
Session 3: Discussion
20 Dec 2007 |
Discussion led by Jim Demmel, University of California at Berkeley.
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.