Daniel Moth, Parallel Computing Platform, Microsoft Heterogeneous platform support in Visual Studio Context Code Closing thoughts 146X 36X 19X 17X 100X Interactive Ionic placement for Transcoding HD Simulation in Astrophysics N-visualization of molecular video stream to Matlab using .mex body simulation volumetric white dynamics H.264 file CUDA function matter connectivity simulation on GPU 149X 47X 20X 24X 30X Financial GLAME@lab: An Ultrasound Highly optimized Cmatch exact string simulation of M-script API for medical imaging object oriented matching to find LIBOR model with linear Algebra for cancer molecular similar proteins and swaptions operations on GPU diagnostics dynamics gene sequences CPU GPU Low memory bandwidth High memory bandwidth Higher power consumption Lower power consumption Medium level of parallelism High level of parallelism Deep execution pipelines Shallow execution pipelines Random accesses Sequential accesses Supports general code Supports data-parallel code Mainstream programming Niche/exotic programming CPUs and GPUs coming closer together… …nothing settled in this space, things still in motion… We have designed a mainstream solution not only for today, ...
Daniel Moth, Parallel Computing Platform, Microsoft Heterogeneous platform support in Visual Studio Context
Code
Closing thoughts 146X 36X 19X 17X 100X
Interactive Ionic placement for Transcoding HD Simulation in Astrophysics N-
visualization of molecular video stream to Matlab using .mex body simulation
volumetric white dynamics H.264 file CUDA function
matter connectivity simulation on GPU
149X 47X 20X 24X 30X
Financial GLAME@lab: An Ultrasound Highly optimized Cmatch exact string
simulation of M-script API for medical imaging object oriented matching to find
LIBOR model with linear Algebra for cancer molecular similar proteins and
swaptions operations on GPU diagnostics dynamics gene sequences CPU GPU
Low memory bandwidth High memory bandwidth
Higher power consumption Lower power consumption
Medium level of parallelism High level of parallelism
Deep execution pipelines Shallow execution pipelines
Random accesses Sequential accesses
Supports general code Supports data-parallel code
Mainstream programming Niche/exotic programming
CPUs and GPUs coming closer together…
…nothing settled in this space, things still in motion…
We have designed
a mainstream solution
not only for today,
but also for tomorrow Part of Visual C++
Visual Studio integration
STL-like library for multidimensional data
Builds on DirectX
performance
productivity
portability Context
Code
Closing thoughts
void AddArrays(int n, int * pA, int * pB, int * pC)
{
for (int i=0; i