CUDA Week in Review Newsletter Homepage
Wed., Sept. 12, 2012, Issue #79 - Newsletter Home  
Welcome to CUDA: WEEK IN REVIEW, a news summary for the worldwide CUDA, GPGPU and parallel programming community.
CUDA TECH TIP: Have you ever wondered how GPU hardware assigns multi-dimensional thread indexes to physical threads and warps? Answer: The index of a thread and its thread ID relate to each other in a straightforward way. For a 1-dimensional block, they are the same; for a 2-dimensional block of size (Dx, Dy), the thread ID of a thread of index (x, y) is (x + y Dx); for a 3-dimensional block of size (Dx, Dy, Dz), the thread ID of a thread of index (x, y, z) is (x + y Dx + z Dx Dy). See example below.


GPU-Accelerated Medical Imaging
This week’s Spotlight is on Dr. Supratik Moulik, founder of Triaradiate Industries, a software development firm.

"GPUs provide a way for complex visualization and analysis tasks to be performed quickly and with easily-attainable hardware," says Supratik. "This translates into faster and more readily-available diagnostic tools which allow doctors to spend more time on patient care." Read our interview here.
Supratik Moulik


GTC 2013 Call for Submissions is Open!
The upcoming GPU Technology Conference (GTC 2013) will be better than ever, showcasing GPU technology innovations across a range of fields. NVIDIA is now soliciting submissions in four categories: GPU Computing; Cloud Computing; Computer Graphics; Game Development. Submit your ideas here. We look forward to seeing you in March.

NVIDIA Quadro K5000 for Mac
Based on the Kepler architecture, the new Quadro K5000 for Mac is the most powerful professional-class GPU ever for Macintosh designers and digital content creators. Key features include Cinema 4K display support (4096x2160 resolution) and a new display engine that can drive up to four displays simultaneously. See:

MATLAB Adds GPU Support for Additional Toolboxes
MATLAB R2012b provides new GPU computing capabilities for a number of toolboxes, including Signal Processing Toolbox; Phased Array System Toolbox; Communications System Toolbox; and Neural Network Toolbox. More GPU-enabled MATLAB functions and performance improvements have been added to Parallel Computing Toolbox.
  • More info on GPU computing in MATLAB
  • Desktop Engineering article on GPU computing in MATLAB

Webinars in India
The NVIDIA team in India has launched a series of webinars for the Indian time zone:
  • Introduction to GPU Computing & CUDA Architecture: Sept. 21, 10:00 am IST
  • Programming GPUs with OpenACC: Sept. 28, 10:00 am IST
  • Introducing CUDA 5: New Features and Benefits: Oct. 5, 10:00 am IST
  • Nsight Eclipse: High Productivity IDE for CUDA on Linux, MacOS: Oct. 12, 10:00 am IST

CUDA Consulting
Training, programming, and project development services are available from CUDA consultants around the world. To be considered for inclusion on list, email:


Congrats to Ronald Meyer Caplan, Claremont Graduate University, on his dissertation titled "Study of Vortex Ring Dynamics in the Nonlinear Schrodinger Equation Utilizing GPU-Accelerated High-Order Compact Numerical Integrators." Advisor: Ricardo Carretero-Gonzalez. Degree: Computational Science Joint PhD with San Diego State University. Read more: and


Hologic develops medical imaging systems and surgical products. In August, Hologic and Gen-Probe joined forces to create Hologic’s molecular diagnostics business. Hologic Gen-Probe is seeking a Software Engineer to design software components for imaging, visualization, workflow, and analytics products. Knowledge of CUDA is a plus.
See: (Job #0656)


Question: For a 3-dimensional thread block of size (5, 4, 3), how are the threads assigned to warps on a device with a compute capability of 2.x?
Answer: First map the thread index to a thread ID, a single integer. In this case, for thread index (x, y, z): threadID = x + (y * 5) + (z * 5 * 4). This will give us threadIDs in the range {0, 1, …, 59}. Since a warp consists of 32 threads, and we have 60 threads total, two warps will be needed:
warp0 = threadIDs {0,1,…,31}
warp1 = threadIDs {32,33,…,59}

See the CUDA C Programming Guide and CUDA C Best Practices Guide for more info and the CUDA GPU list for compute capabilities.


back to the top
Stay up to date by reading the NVIDIA blog:
What is CUDA?, by Mark Ebersole
GPU Breakthroughs at IBC Amsterdam, by Greg Estes
Auto Designer Puts Pedal to the Metal, by Daniel Simon


back to the top
Find a GPU Meetup in your location, or start one up. Upcoming meetings include:
India GPU Meetup, Sept. 13
Silicon Valley GPU Meetup, Sept. 17
Paris GPU Meetup, Sept. 19
Boston GPU Meetup, Sept. 26

(Want to start a GPU Meetup? Contact


back to the top


- Workshop on GPUs and Databases (ADBIS)
Sept. 17, 2012, Poznan, Poland

- Running Risk on GPUs (Webinar)
Sept. 19, 2012, 9:00 am PT
Presenter: Tim Wood, Quantitative Analyst, ING Bank nv

- MATLAB for CUDA Programmers (Webinar)
Sept. 19, 2012, 9:00am and 2:00pm EDT

- Genomics MATLAB Apps… with Jacket (Webinar)
Sept. 19, 2012, noon PT
Presented by AccelerEyes

- Heterogeneous Parallel Programming
Sept. 24-Nov. 2, 2012 (6 weeks)
Taught by Dr. Wen-mei Hwu, University of Illinois
Note: This is an online course offered on Coursera

- CUDA Programming Course (Delft University of Technology)
Sept. 28, 2012, Delft, Netherlands
Taught by Prof. Dr. Ir. Kees Vuik and Ir. Kees Lemmens


- 4-Day CUDA Training Course (Acceleware)
Oct. 2-5, 2012, San Jose, Calif.

- OpenACC Workshop (RWTH Aachen University)
Oct. 11-12, 2012, Aachen, Germany
Taught by Timo Stich, NVIDIA and Sandra Wienke, RWTH Aachen University

- GPUs in the Cloud
Dec. 3-6, 2012, Taipei, Taiwan

- Many-Core Developer Conference (UKMAC 2012)
Dec. 5, 2012, University of Bristol, UK


- GPU Tech Conference
March 18-21, 2013, San Jose, Calif.

(To list an event, email:



– CUDA 5:
– CUDA 5 survey:
– Nsight:
– CARMA (pre-register):

CUDA on the Web

– GPU Test Drive:
– Learn more about CUDA on CUDA Zone:
– Follow CUDA & GPU Computing on Twitter:
– Network with other developers:
– Stay tuned to GPGPU news and events:
– Check out the NVIDIA Research page:
– Newsletter archive:
– CUDA Spotlights:


CUDA® is a parallel computing platform and programming model invented by NVIDIA. It enables dramatic increases in computing performance by harnessing the power of the graphics processing unit (GPU). NVIDIA provides a complete toolkit for programming on the CUDA architecture, supporting standard computing languages such as C, C++ and Fortran. Send comments and suggestions on the newsletter to
You are receiving this email because you have previously expressed interest in NVIDIA products and technologies. Click here to opt in specifically to CUDA: Week in Review. NVIDIA - World Leader in Visual Computing Technologies
Feel free to forward this email to customers, partners and colleagues.

Copyright © 2012 NVIDIA Corporation. All rights reserved. 2701 San Tomas Expressway, Santa Clara, CA 95050.