Computational Science Community Wiki

GPU Club: Dataflow


alt="NVIDIA CUDA Research Centre"

  • Software for GPUs inc. compiler/directives, maths libs & tools (debuggers and profilers)


14:00-15:30, Monday 10 December
4.205 University Place

The following presentations were given and discussed:

After the presentations the following points were discussed:

On the presentations:

Dataflow

  1. In the Lee test case, how was the performance of the Dataflow method? It was reported as being more efficient than an imperative threaded code.
  2. Other Dataflow languages include StarSs (Barcelona Supercomputing Centre) , Scala (using in CS), out-of-order Java.

SPH

  1. One of the slides shows >100% efficiency. How was this explained? It was reported for weak scaling and as the number of particles increased some problem sizes were more suited to an increasing number of GPUs than others.

  2. Why was only ~50% of GPU memory used in some cases? It was reported that some regions of the solution domain needed more cells depending on the model the fluid was interacting with. The graph shown was for a region requiring fewer cells but space had to be available for larger cell counts.
  3. Had the code been run on Emerald? Not yet.

Future Speakers

Attendees were asked what topics they would like covered in future presentations. Topics included hearing from Nvidia about their new K20 products, programming experiences with the Xeon Phi and how OpenGL visulaization can be added to a CUDA code.

Pre-Meeting Details

Daniel Goodman, "Dataflow: What is it and why does it matter?"

First developed in the 1980s and early '90s, dataflow programming is a deterministic, race condition free model for parallel programming that represents an alternative to the procedural models implemented by languages such as C. Originally the continuing production of faster and faster single core processors left dataflow surplus to requirement. Now that multi-cores are the norm, dataflow is once again an area of interest.

This talk covers what dataflow is, how and why it is used, and some of the different variants of dataflow ranging from those supported by Maxeler on FPGAs to the more flexible dynamic versions for CPUs and GPUs.

Jose Manuel Dominguez Alonso, "Multi-GPU implementation for Smoothed Particle Hydrodynamics"

The new parallel implementation for SPH methods combines the parallel performance of several GPUs to accelerate fluid dynamic simulations.

This multi-GPU code enables simulations with large number of particles, more than 10^9 in a cluster with 64 GPUs at a reasonable time.


GPU Club Meetings

Previous Meetings

  • Tues 26 Nov 2013: 2-3pm, B8 George Begg. Christian Obrecht on GPU implementations of fluid dynamics simulations on regular meshes: some recent advances

  • Weds 13 Nov: 2pm, Univ Place. John Michalakes (NOAA) and Craig Davies (Maxeler Dataflow)

  • Weds 30 Oct: Intermediate CUDA training run by NVIDIA

  • Tues 29 Oct: 2pm, Univ Place, NVIDIA and Stephen Longshaw.

  • Weds 2 Oct 2013 - Large Scale Optimization and High Performance Computing for Asset Management, Daniel Egloff (QuantAlea)

  • Tuesday 23 July MathWorks (GPUs for MATLAB) and NVIDIA (GPUs & CUDA)

  • Thur 2 May 2013 Lessons from GTC and on using the Intel Xeon Phi

  • Mon 10 Dec 2012 Dataflow and MultiGPU SPH

  • Tues 25 Sept Seminar on implementing financial models on GPUs, FPGAs and in the Cloud

  • Mon 15 Oct: OpenCL training from UoM IT Services

  • Thurs 25 Oct: Hands-on "OpenACC" workshop run by Cray UK Ltd.

  • 17 May 2012 Speakers on healthcare policy simulation in OpenCL, MHD algorithms in CUDA, Tridiagonal Solvers in CUDA

  • 20 April 2012 Francois Bodin, CAPS: "Programming Heterogeneous Many-Cores using Directives" using HMPP

  • 23 March 2012 Roko Grubisic, ARM: "Embedded Computer Graphics and ARM Mali GPUs"

  • 02 March 2012 Speakers on profiling, sparse matrix algebra and atmospheric chemistry

  • 09 Dec 2011 MPI and GPUs, directives-based programming, FPGA and GPU comparison, ideas for 2012

  • 30 Sept 2011 GPU programming in FORTRAN, multiple GPUs, image reconstruction

  • 15 July 2011 Jack Dongarra key note on Emerging Technologies

  • 18 Mar 2011 OpenCL, debugging and profiling tools, porting C to CUDA, real time analysis

  • 26 Nov 2010 biological MD, smoothed particle hydrodynamics, Monte Carlo financial models, Markov models