In a previous post, we reported on the Intel Parallel Computing Centers (IPCC) and the opportunities that open up by bringing to your country a specialized laboratory on accelerator technology. This time, it is the turn of CUDA centers, a similar and well-established initiative by NVIDIA.
The most recent release of the Top500 list reveals the relevance of accelerators in the construction of modern supercomputers. Out of the top 10 systems, 5 use accelerators, 3 of them use NVIDIA graphic processing units (GPU). Moreover, there are 16 systems in the first 100 that use NVIDIA GPUs. Power concerns are driving a wider adoption of GPUs to build new systems. A look at the top 10 systems of the Green500 list (the supercomputers with the best FLOPS/Watt ratio) shows that 8 systems use NVIDIA GPUs. In addition, the Department of Energy program Coral, which will provide the next set of elite supercomputers in the United States in 2017, will include IBM hybrid machines combining POWER processors and NVIDIA GPUs.
Behind NVIDIA's strategy to democratize the use of GPUs, there is a language extension to offload computation to the GPU. This language extension is called Compute Unified Device Architecture, CUDA. Programs written in C, C++, or Fortran can be modified to make use of the graphic's card in a computer as a general purpose graphic processing unit. Therefore, CUDA makes it possible to accelerate kernels in traditional scientific computing routines. Also, new scientific fields are explored to measure the impact of CUDA in performance. NVIDIA offers several academic programs to foster the use of CUDA in an institution. Among those programs, there are CUDA centers. These centers aim at improving education, research, and collaboration in CUDA. There are 3 types of CUDA centers:
- Teaching center: designed to improve training on CUDA programming, support research, and complement advanced parallel computing education. The benefits of a teaching center include the donation of CUDA-enabled GPUs, education material, teaching assistant funds, and technical support on CUDA technology.
- Research center: aimed at pushing the envelope on scientific applications by using CUDA enabled GPUs. Among the benefits of a research center are participation in conferences, assignment of CUDA liaison, donation of GPUs, inclusion in a larger network of CUDA developers, and promotion in several NVIDIA programs.
- Center of excellence: oriented towards the recognition of groundbreaking research in GPU computing. This last type of center looks for a stronger relationship between NVIDIA and the institution and provides a collaboration channel for the development of new projects.
There are dozens of CUDA centers around the world. In particular, Latin America has a good number of centers distributed in 7 countries. The figure below shows the distribution of CUDA centers in several Latin American countries. A clear trend in all countries is to have more teaching centers than research centers. This trend is possibly explained by the way CUDA maturity evolves: starts with training, followed by programming projects, next research, and finally state-of-the-art CUDA development. Brazil seems to be the most advanced country in terms of CUDA maturity. In fact, it is the only country featuring a center of excellence.
The Computer Science Institute at the Universidade Federal Fluminense in Rio de Janeiro, Brazil, hosts the CUDA Center of Excellence, the only of its kind in Latin America (so far). Led by Prof. Esteban Clua, the center focuses on the development of applications for cosmology, oil exploration, and software engineering. Additionally, the center also provides training opportunities for those willing to enter into the CUDA world.
If you wish to apply for a CUDA center in your institution, visit https://developer.nvidia.com/academic-programs for more information.