SlideShare a Scribd company logo
Version Control
.
Introduction
Nowadays, GPU computational power grows fast, and multi-dissimilar-
processor computation has been increasingly popular. It is our attempt to
adopt GPUs techniques on the computation engine and algorithms of
ablative thermal protection system surfaces modeling.
Analyzing the source code, we have roughly figured out the time
consuming percentage of each part of the source code and the reasons
behind. Since that GPUs techniques require low level details, it is also
essential in some cases to be familiarize with the related source code other
than the preconditioner and solver.
Several approaches to adopt GPUs iterative methods are attempted since
this is a ongoing project and direction is not clear. Considering original
program uses PETSc, our first attempt was to adopt ready-to-use libraries
like AMGX to test potentials and estimate incoming problems.
Other ways like using new sparse matrix subclasses to perform matrix-
vector products on the GPU or to adjust half-ready libraries like
CUDA_ITSOL are still on hold.
2015 Kentucky Academic of Science Conference
Abstract
This project is based on a larger multi-group ongoing project and version
control was implemented. Our current research aims to improve
computational efficiency in solving large sparse linear systems for
modeling of ablative thermal protection system surfaces by introducing
GPU techniques. So far three approaches have been attempted, and trying
to use AMGX is still in progress.
The tools we formed our toolchain include Git, CMake, Doxygen, and Gitolite
etc. The purpose we set up the current tools was to not only increase the speed
of the program, but to increase the speed od developing as well. Thanks to
former researchers, we are developing synchronously at an steady and
increasingly fast speed.
Their main functionalities cover from analyzing and dissecting source code to
building and synchronizing works. For instance, with SSH authentication and
Gitolite authorization we are able to not only avoid running into using
commercial services like Github or Bitbucket.
Adopting GPU Accelerated Computing
The source code mainly choose to use PETSc as the library to solve Ax = b problems. To
control variables and to do detailed comparison we try to keep using block Jacobi
preconditioned flexible GMRES solver as well.
Employing Version Control and GPU Accelerated ComputEmploying Version Control and GPU Accelerated Computinging Technology to Numerical andTechnology to Numerical and
Experimental Investigations for Modeling of Ablative Thermal Protection System SurfacesExperimental Investigations for Modeling of Ablative Thermal Protection System Surfaces
Longyin Cui, Jens Hannemann and Chi Shen
Division of Computer Science, Kentucky State University
Funded by NASA EPSCOR---Subaward 3049025269-14-032
Source Code and its Analyzing
The source code is the fluid dynamics module known as Kentucky
Aerothermodynamics and Thermal Response System (KATS). The solver uses a
second-order finite volume approach to solve the laminar Navier-Stokes
equations, species mass conservation and energy balance equations for flow in
chemical and thermal non-equilibrium state, and a fully implicit first-order
backward Euler method for time integration.
The picture on the
left is example
about a open
source distributed
version control
system Git
showing
documented
changes.
The picture on the
left is showing
different PETSc
function calls’ time
consumption in our
case.
The time is
averaged due to
variation.
In this project, the PETSc library is linked to KATS, which provides linear solver for the
large sparse linear system and preconditioning. It is found that the program require
multiple rounds (as many as 3000000) times of converging. During each process, a series
of function relate to convection-diffusion equations and perturbation are called, and then
preconditioner and solver are chosen and prepared through runtime options. After solving,
solutions are restored for the next round.
For CFD applications, experientially speaking, people see good results with 10:1
CPU:GPU ratio, and have run as many as 40:1. Furthermore, we discovered that in the
preparing process there is another portion of the codes that consumes a large amount of
time. However, the root loop calls functions that pertaining to basic linear algebra
calculations which means it could be solved by GPUs easily.
Our next step is to fully inserted AMGX into source and test different ratio concerning
CPUs and GPUs. The overall time consumption comparison for solving and preparing
phases would be easily achieved.
The picture one the left is the solving time
for one time step when the CPU:GPU ratio
is 1:1.
Although the solving time could speed up
we realize it is unpractical to allocate 16
nodes when requiring 32 GPUs if each
node has only 2.
The picture on the
left is another
example of
building tool
CMake.
It is chosen for its
compatibility
across different
platform and
convenience to
use.

More Related Content

PDF
The Past, Present, and Future of OpenACC
inside-BigData.com
 
PPTX
OpenACC Monthly Highlights: September 2021
OpenACC
 
PDF
Deep Learning for Fast Simulation
Helix Nebula The Science Cloud
 
PPTX
OpenACC Monthly Highlights: February 2022
OpenACC
 
PPTX
OpenACC Monthly Highlights: January 2021
OpenACC
 
PPTX
OpenACC Monthly Highlights: July 2021
OpenACC
 
PDF
Resume_Dec_16
Prantit Lokre
 
PPTX
OpenACC Highlights: GTC Digital April 2020
OpenACC
 
The Past, Present, and Future of OpenACC
inside-BigData.com
 
OpenACC Monthly Highlights: September 2021
OpenACC
 
Deep Learning for Fast Simulation
Helix Nebula The Science Cloud
 
OpenACC Monthly Highlights: February 2022
OpenACC
 
OpenACC Monthly Highlights: January 2021
OpenACC
 
OpenACC Monthly Highlights: July 2021
OpenACC
 
Resume_Dec_16
Prantit Lokre
 
OpenACC Highlights: GTC Digital April 2020
OpenACC
 

What's hot (20)

PDF
Varun Gatne - Resume - Final
Varun Gatne
 
PPTX
OpenACC Monthly Highlights: March 2021
OpenACC
 
PPTX
OpenACC Monthly Highlights: June 2021
OpenACC
 
PPTX
OpenACC Monthly Highlights March 2019
OpenACC
 
PPTX
OpenACC Monthly Highlights: October2020
OpenACC
 
PPTX
OpenACC Highlights: 2019 Year in Review
OpenACC
 
PPTX
OpenACC Monthly Highlights: May 2019
OpenACC
 
PPTX
Evaluating Caching Strategies for Cloud Data Access using an Enterprise Serv...
Santiago Gómez Sáez
 
PPTX
OpenACC Monthly Highlights Summer 2019
OpenACC
 
PPTX
OpenACC Monthly Highlights: February 2021
OpenACC
 
DOC
Shrilesh kathe 2017
Shrilesh Kathe
 
DOCX
A data and task co scheduling algorithm for scientific cloud workflows
Finalyearprojects Toall
 
PPTX
OpenACC Monthly Highlights: August 2020
OpenACC
 
PPTX
OpenACC Monthly Highlights: June 2020
OpenACC
 
PPTX
OpenACC Monthly Highlights: November 2020
OpenACC
 
PDF
Portfolio-DeepSoft.en
Vinicius Pess
 
PDF
HPC + Ai: Machine Learning Models in Scientific Computing
inside-BigData.com
 
PPTX
OpenACC Monthly Highlights April 2018
NVIDIA
 
PPTX
A Model Transformation from the Palladio Component Model to Layered Queueing ...
Heiko Koziolek
 
PDF
Spark for Behavioral Analytics Research: Spark Summit East talk by John W u
Spark Summit
 
Varun Gatne - Resume - Final
Varun Gatne
 
OpenACC Monthly Highlights: March 2021
OpenACC
 
OpenACC Monthly Highlights: June 2021
OpenACC
 
OpenACC Monthly Highlights March 2019
OpenACC
 
OpenACC Monthly Highlights: October2020
OpenACC
 
OpenACC Highlights: 2019 Year in Review
OpenACC
 
OpenACC Monthly Highlights: May 2019
OpenACC
 
Evaluating Caching Strategies for Cloud Data Access using an Enterprise Serv...
Santiago Gómez Sáez
 
OpenACC Monthly Highlights Summer 2019
OpenACC
 
OpenACC Monthly Highlights: February 2021
OpenACC
 
Shrilesh kathe 2017
Shrilesh Kathe
 
A data and task co scheduling algorithm for scientific cloud workflows
Finalyearprojects Toall
 
OpenACC Monthly Highlights: August 2020
OpenACC
 
OpenACC Monthly Highlights: June 2020
OpenACC
 
OpenACC Monthly Highlights: November 2020
OpenACC
 
Portfolio-DeepSoft.en
Vinicius Pess
 
HPC + Ai: Machine Learning Models in Scientific Computing
inside-BigData.com
 
OpenACC Monthly Highlights April 2018
NVIDIA
 
A Model Transformation from the Palladio Component Model to Layered Queueing ...
Heiko Koziolek
 
Spark for Behavioral Analytics Research: Spark Summit East talk by John W u
Spark Summit
 
Ad

Similar to NASA_EPSCoR_poster_2015 (20)

PDF
V3I8-0460
Richard Haney
 
PPTX
OpenACC Monthly Highlights: May 2020
OpenACC
 
PDF
Application Optimisation using OpenPOWER and Power 9 systems
Ganesan Narayanasamy
 
PDF
OpenACC and Hackathons Monthly Highlights: April 2023
OpenACC
 
PPTX
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
PDF
Advances in the Solution of Navier-Stokes Eqs. in GPGPU Hardware. Modelling F...
Storti Mario
 
PDF
Accelerating HPC Applications on NVIDIA GPUs with OpenACC
inside-BigData.com
 
PPTX
OpenACC Monthly Highlights September 2020
OpenACC
 
PDF
Accelerating S3D A GPGPU Case Study
Martha Brown
 
PDF
Python и программирование GPU (Ивашкевич Глеб)
IT-Доминанта
 
PDF
OpenACC and Open Hackathons Monthly Highlights: Summer 2024
OpenACC
 
PDF
A Gentle Introduction to GPU Computing by Armen Donigian
Data Con LA
 
PPTX
OpenACC Monthly Highlights February 2019
NVIDIA
 
PPTX
OpenACC Monthly Highlights February 2019
OpenACC
 
PDF
CUDA-Python and RAPIDS for blazing fast scientific computing
inside-BigData.com
 
PDF
OpenACC and Open Hackathons Monthly Highlights June 2022.pdf
OpenACC
 
PDF
Nvidia GTC 2014 Talk
William Brouwer
 
PPTX
PGI Compilers & Tools Update- March 2018
NVIDIA
 
PDF
The International Journal of Engineering and Science (The IJES)
theijes
 
PDF
main
Ian Masliah
 
V3I8-0460
Richard Haney
 
OpenACC Monthly Highlights: May 2020
OpenACC
 
Application Optimisation using OpenPOWER and Power 9 systems
Ganesan Narayanasamy
 
OpenACC and Hackathons Monthly Highlights: April 2023
OpenACC
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
Advances in the Solution of Navier-Stokes Eqs. in GPGPU Hardware. Modelling F...
Storti Mario
 
Accelerating HPC Applications on NVIDIA GPUs with OpenACC
inside-BigData.com
 
OpenACC Monthly Highlights September 2020
OpenACC
 
Accelerating S3D A GPGPU Case Study
Martha Brown
 
Python и программирование GPU (Ивашкевич Глеб)
IT-Доминанта
 
OpenACC and Open Hackathons Monthly Highlights: Summer 2024
OpenACC
 
A Gentle Introduction to GPU Computing by Armen Donigian
Data Con LA
 
OpenACC Monthly Highlights February 2019
NVIDIA
 
OpenACC Monthly Highlights February 2019
OpenACC
 
CUDA-Python and RAPIDS for blazing fast scientific computing
inside-BigData.com
 
OpenACC and Open Hackathons Monthly Highlights June 2022.pdf
OpenACC
 
Nvidia GTC 2014 Talk
William Brouwer
 
PGI Compilers & Tools Update- March 2018
NVIDIA
 
The International Journal of Engineering and Science (The IJES)
theijes
 
Ad

NASA_EPSCoR_poster_2015

  • 1. Version Control . Introduction Nowadays, GPU computational power grows fast, and multi-dissimilar- processor computation has been increasingly popular. It is our attempt to adopt GPUs techniques on the computation engine and algorithms of ablative thermal protection system surfaces modeling. Analyzing the source code, we have roughly figured out the time consuming percentage of each part of the source code and the reasons behind. Since that GPUs techniques require low level details, it is also essential in some cases to be familiarize with the related source code other than the preconditioner and solver. Several approaches to adopt GPUs iterative methods are attempted since this is a ongoing project and direction is not clear. Considering original program uses PETSc, our first attempt was to adopt ready-to-use libraries like AMGX to test potentials and estimate incoming problems. Other ways like using new sparse matrix subclasses to perform matrix- vector products on the GPU or to adjust half-ready libraries like CUDA_ITSOL are still on hold. 2015 Kentucky Academic of Science Conference Abstract This project is based on a larger multi-group ongoing project and version control was implemented. Our current research aims to improve computational efficiency in solving large sparse linear systems for modeling of ablative thermal protection system surfaces by introducing GPU techniques. So far three approaches have been attempted, and trying to use AMGX is still in progress. The tools we formed our toolchain include Git, CMake, Doxygen, and Gitolite etc. The purpose we set up the current tools was to not only increase the speed of the program, but to increase the speed od developing as well. Thanks to former researchers, we are developing synchronously at an steady and increasingly fast speed. Their main functionalities cover from analyzing and dissecting source code to building and synchronizing works. For instance, with SSH authentication and Gitolite authorization we are able to not only avoid running into using commercial services like Github or Bitbucket. Adopting GPU Accelerated Computing The source code mainly choose to use PETSc as the library to solve Ax = b problems. To control variables and to do detailed comparison we try to keep using block Jacobi preconditioned flexible GMRES solver as well. Employing Version Control and GPU Accelerated ComputEmploying Version Control and GPU Accelerated Computinging Technology to Numerical andTechnology to Numerical and Experimental Investigations for Modeling of Ablative Thermal Protection System SurfacesExperimental Investigations for Modeling of Ablative Thermal Protection System Surfaces Longyin Cui, Jens Hannemann and Chi Shen Division of Computer Science, Kentucky State University Funded by NASA EPSCOR---Subaward 3049025269-14-032 Source Code and its Analyzing The source code is the fluid dynamics module known as Kentucky Aerothermodynamics and Thermal Response System (KATS). The solver uses a second-order finite volume approach to solve the laminar Navier-Stokes equations, species mass conservation and energy balance equations for flow in chemical and thermal non-equilibrium state, and a fully implicit first-order backward Euler method for time integration. The picture on the left is example about a open source distributed version control system Git showing documented changes. The picture on the left is showing different PETSc function calls’ time consumption in our case. The time is averaged due to variation. In this project, the PETSc library is linked to KATS, which provides linear solver for the large sparse linear system and preconditioning. It is found that the program require multiple rounds (as many as 3000000) times of converging. During each process, a series of function relate to convection-diffusion equations and perturbation are called, and then preconditioner and solver are chosen and prepared through runtime options. After solving, solutions are restored for the next round. For CFD applications, experientially speaking, people see good results with 10:1 CPU:GPU ratio, and have run as many as 40:1. Furthermore, we discovered that in the preparing process there is another portion of the codes that consumes a large amount of time. However, the root loop calls functions that pertaining to basic linear algebra calculations which means it could be solved by GPUs easily. Our next step is to fully inserted AMGX into source and test different ratio concerning CPUs and GPUs. The overall time consumption comparison for solving and preparing phases would be easily achieved. The picture one the left is the solving time for one time step when the CPU:GPU ratio is 1:1. Although the solving time could speed up we realize it is unpractical to allocate 16 nodes when requiring 32 GPUs if each node has only 2. The picture on the left is another example of building tool CMake. It is chosen for its compatibility across different platform and convenience to use.