Build Scalable GPU-Accelerated Applications. Faster.

Researchers, scientists, and developers are advancing science by accelerating their high performance computing (HPC) applications on NVIDIA GPUs using specialized libraries, directives, and language-based programming models. From computational science to AI, CUDA-X HPC, OpenACC, and CUDA® are GPU-accelerating applications to deliver groundbreaking scientific discoveries. And popular languages like C, C++, Fortran, and Python are being used to develop, optimize, and deploy these applications.

CUDA-X HPC

A collection of optimized, GPU-accelerated libraries for commonly used computing operations.


Learn More >

OpenACC

A directive-based programming model for easy on-ramping to parallel computing on GPUs, CPUs, and other devices.


Learn More >

CUDA

A parallel computing platform and programming model designed to deliver the most flexibility and performance for GPU-accelerated applications

Learn More >


Scientists and Researchers

With scientific discoveries taking priority, domain scientists are utilizing GPUs to achieve faster results while minimizing programming efforts. Scientists in fields such as computational fluid dynamics, climate, weather and ocean, molecular dynamics, quantum chemistry, and physics, among others, see 3–10X code speedups on GPUs.




"Today, researchers can take advantage of GPUs to approach computational models for drug discovery and design that are accurate, affordable and achievable. With adequate computational resources, it is now possible to optimize a lead in days or weeks, instead of months."

Taisung Lee, Associate Research Professor at Rutgers University and Co-Developer of Amber


Getting Started

  1. Check if your application is already accelerated on GPUs. The list is available in the GPU Applications Catalog and containers on NVIDIA NGC.
  2. If your code isn’t GPU-accelerated, use CUDA-X HPC libraries for supported algorithms and add OpenACC Directives for initial acceleration.
  3. Use CUDA to accelerate selected kernels or parts of your code.

Application Developers

Application developers are looking to achieve mission-critical productivity in scientific discovery. They strive to be efficient, simplify support to provide code longevity, and get maximum performance for their users. Across a variety of domains like computational fluid dynamics, computational chemistry, bioinformatics, and physics, GPUs accelerate applications with the use of programming models and tools designed to maintain productivity.




"We believe that the improvements in speed and cost from GPU acceleration will jumpstart the next evolution of the turbomachinery design system. Faster and more powerful GPUs will make analyses that are currently unachievable well within reach in the next few years."

Michael Ni, CEO, ADSCFD


Getting Started

  1. Explore GPU-accelerated libraries (CUDA-X HPC) for supported algorithms.
  2. Add OpenACC Directives to support portability and simplify future code maintenance.
  3. Use CUDA for maximum performance for critical kernels and parts of the code.

Educators

Educators are tasked with educating students, computer scientists, and domain researchers on parallel programming and helping their constituents to start accelerating or continue optimizing their codes on GPUs.




"I teach parallel programming, which encompasses GPU programming, and find teaching materials that are readily available very helpful and resourceful. These teaching materials and the robust set of GPU libraries and tools greatly benefit both my course and my interdisciplinary research by enabling GPU-acceleration of scientific codes."

Sunita Chandrasekaran, Assistant Professor, University of Delaware


Getting Started

  1. Check out teaching materials and hands-on workshops from the NVIDIA Deep Learning Institute (DLI). They offer hands-on training in accelerated computing and AI as well as NVIDIA Teaching Kits, which are complete course solutions, including easy-to-use curriculum, for a variety of academic disciplines.
  2. Invite your teams to attend or mentor at GPU Hackathons and bootcamps or host one to jump-start acceleration of the scientific codes integral to your organization. These events can help your team master GPU-programming skills through extensive hands-on experience and collaboration with real-life codes and data.
  3. Explore prebuilt containers in NGC, including GPU-optimized software for HPC, deep learning, and machine learning that supports Docker and Singularity.

Facilitators and IT Support

Facilitators and IT managers are critical to the success of HPC scientists accelerating their codes on GPUs. HPC applications require a unique set of robust hardware and software, as well as up-to-date tools, drives, compilers, and more, that require support. Facilitators work with scientists to help accelerate their codes on GPUs in a variety of scientific domains, including astrophysics, computational fluid dynamics, quantum chemistry, molecular dynamics, material science, and others.




"Sometimes porting code to the GPU can be daunting to those who don’t have the experience. Our team often works with researchers to make the porting process as easy and painless as possible. The variety and quality of training materials, hackathons, tools, and compilers available makes our work efficient, helps bring domain researchers up to speed quickly, and ultimately helps advance science."

Ian Cosden, Manager of Research Software Engineering Group at Princeton


Getting Started

  1. Explore prebuilt containers in NGC, including GPU-optimized software for HPC, deep learning, and machine learning that supports Docker and Singularity.
  2. Learn about the latest server-grade NVIDIA® Tesla® GPUs.
  3. Invite your users to attend GPU Hackathons and Bootcamps or host one to jump-start acceleration of their codes and help increase GPU utilization of your cluster. These events can help users master GPU-programming skills through extensive hands-on experience and collaboration with real-life codes and data.

Additional Resources