Accelerated computing is replacing CPU-only computing as best practice. The litany of breakthroughs driven by accelerated computing, the ever increasing demand for accelerated applications, programming conventions that ease writing them, and constant improvements in the hardware that supports them, are driving this inevitable transition.
At the center of accelerated computing's success, both in terms of its impressive performance, and its ease of use, is the CUDA compute platform. CUDA provides a coding paradigm that extends languages like C, C++, Python, and Fortran, to be capable of running accelerated, massively parallelized code on the world's most performant parallel processors: NVIDIA GPUs. CUDA accelerates applications drastically with little effort, has an ecosystem of highly optimized libraries for DNN, BLAS, graph analytics, FFT, and more, and also ships with powerful command line and visual profilers.
CUDA supports many, if not most, of the world's most performant applications in, Computational Fluid Dynamics, Molecular Dynamics, Quantum Chemistry, Physics and HPC.
Learning CUDA will enable you to accelerate your own applications. Accelerated applications perform much faster than their CPU-only couterparts, and make possible computations that would be otherwise prohibited given the limited performance of CPU-only applications. In this lab you will receive an introduction to programming accelerated applications with CUDA C/C++, enough to be able to begin work accelerating your own CPU-only applications for performance gains, and for moving into novel computational territory.
The aim of the course is to provide an understanding of GPU hardware and a competence in CUDA GPU programming. Prior knowledge of CUDA or Parallel programming is not required.
Create an NVIDIA Developer account at http://courses.nvidia.com/join.
Make sure that WebSockets works for you: Test your laptop at http://websocketstest.com (Under ENVIRONMENT, confirm that "WebSockets" is checked yes and under WEBSOCKETS (PORT 80), confirm that "Data Receive", "Send", and "Echo Test" are checked yes).
Dr Jony Castagna is part of the High Performance Software Engineer group at Hartree Centre since 2016. His research is primarily in Turbulent Flow Simulations, Particle Methods for Mesoscale Simulation and HPC. He ported several scientific applications to NVidia multi-GPUs clusters using CUDA language since 2010 when he started working for an Oil & Gas company in London. He recently gained the NVidia Ambassador status from the NVidia Deep Learning Institute and started working with Deep Learning for Computer Vision and Scientific Applications.