Spotlight: Petrobras Speeds Up Linear Solvers for Reservoir Simulation Using NVIDIA Grace CPU

Reservoir simulation helps reservoir engineers optimize their resource exploration approach by simulating complex scenarios and comparing with real-world field…

João Paulo Navarro
8 min readadvanced
--
View Original

Overview

The article discusses how Petrobras leverages the NVIDIA Grace CPU to enhance the performance of linear solvers used in reservoir simulation, achieving significant improvements in time-to-solution, energy efficiency, and scalability. It highlights the collaboration between Petrobras, NVIDIA, and Brazilian research institutes to optimize the SolverBR project for Arm architecture.

What You'll Learn

1

How to optimize linear solvers for reservoir simulation using NVIDIA Grace CPU

2

Why transitioning from x86 to Arm architecture can enhance performance in HPC applications

3

How to implement effective compiler flags for Arm-based processors

Prerequisites & Requirements

  • Understanding of reservoir simulation concepts and linear solvers
  • Familiarity with GCC compiler and its optimization flags(optional)

Key Questions Answered

What performance improvements did Petrobras achieve using NVIDIA Grace CPU?
Petrobras achieved up to 4.5x faster time-to-solution, 4.3x greater energy efficiency, and 1.5x higher scalability compared to alternative x86-based CPUs when using the NVIDIA Grace CPU for reservoir simulation.
How does the SolverBR project enhance reservoir simulation?
The SolverBR project optimizes the solving of linear systems, which can account for up to 70% of computational time in reservoir simulations, by using novel compute parallelization techniques and efficient multicore implementations.
What are the key features of the NVIDIA Grace CPU that contribute to its performance?
The NVIDIA Grace CPU features a 72-core Arm Neoverse V2 architecture, high-bandwidth memory, and a scalable coherent fabric, which collectively enhance its performance for high-performance computing tasks.
What compilation flags were used for porting SolverBR from x86 to Arm?
For x86_64, the flags included -std=c++17 -O3 -lrt -fPIC -m64 -march=native -mtune=native -fopenmp-simd -fopenmp, while for aarch64, the flags were -std=c++17 -O3 -lrt -fPIC -mcpu=native -fopenmp-simd -fopen.

Key Statistics & Figures

Time-to-solution improvement
4.5x faster
Achieved by Petrobras using the NVIDIA Grace CPU compared to alternative x86-based CPUs.
Energy efficiency improvement
4.3x greater
Measured during the performance evaluation of the NVIDIA Grace CPU.
Scalability improvement
1.5x higher
Compared to alternative x86-based CPUs in the reservoir simulation workflow.

Technologies & Tools

Hardware
Nvidia Grace CPU
Used for optimizing linear solvers in reservoir simulation.
Software
Gcc
Compiler used for porting SolverBR to Arm architecture.

Key Actionable Insights

1
Utilizing the NVIDIA Grace CPU can significantly reduce the time-to-solution for reservoir simulations, making it a valuable asset for energy companies.
This is particularly relevant for companies like Petrobras that require efficient resource exploration and production, as faster simulations can lead to quicker decision-making and reduced operational costs.
2
Porting applications from x86 to Arm architecture can yield substantial performance benefits, as demonstrated by the SolverBR project.
Companies should consider evaluating their existing applications for potential migration to Arm-based systems to leverage these performance gains.
3
Adopting a multiplatform build system can simplify the transition process when porting software across different architectures.
This approach minimizes the effort required for maintaining codebases and ensures consistent performance testing across platforms.

Common Pitfalls

1
Failing to optimize compilation flags when porting applications can lead to suboptimal performance.
It's crucial to adapt flags specific to the target architecture to fully leverage the hardware capabilities and avoid performance bottlenecks.

Related Concepts

High-performance Computing (hpc)
Linear Solvers In Reservoir Simulation
Arm Architecture Advantages
Energy Efficiency In Computing