Git Product home page Git Product logo

ericqg / conjugate-gradient-cuda Goto Github PK

View Code? Open in Web Editor NEW

This project forked from petros89/conjugate-gradient-cuda

0.0 0.0 0.0 3.37 MB

Process simulation from a single CPU to a single GPU implementation. A speedup is observed with the matrix-free method compared to a linear solver using a sparse matrix, both on a single GPU. In addition, several schemes devised to gain higher efficiency are discussed in details, which include exclusion of inactive elements from the memory, adaptiv

License: MIT License

Shell 3.85% Python 5.68% Cuda 89.51% Makefile 0.96%

conjugate-gradient-cuda's Introduction

GPU-enabled Matrix-Free Conjugate Gradient Method

Abstract

  • This paper presents an efficient GPU-based part-scale thermal process simulator for laser powder bed fusion (L-PBF) additive manufacturing (AM). To take full advantage of modern GPU computing, a matrix-free preconditioned conjugate gradient (PCG) finite element algorithm with voxel mesh is proposed to solve the transient heat transfer problem involved in the L-PBF process. The accuracy of the developed simulator is demonstrated by comparing with a commercial software (ANSYS) using representative L-PBF process parameters and temperature-dependent thermal properties for Ti6Al4V. For efficiency, it is found that the process simulation has a significant speedup going from a single CPU to a single GPU implementation. A speedup is also observed with the matrix-free method compared to a linear solver using a sparse matrix, both on a single GPU. In addition, several schemes devised to gain higher efficiency are discussed in details, which include exclusion of inactive elements from the memory, adaptive meshing in the build direction, preconditioner, and layer lumping. Using these schemes, the adaptability and scalability of the developed simulator are demonstrated on a complex geometry. A calibration of the model is also performed in realistic conditions with a thermocouple measurement coming from experimental data.Keywords: Additive manufacturing; Laser powder bed fusion; Matrix-free method; Finite element analysis; GPU computing; Heat transfer modeling; Process simulation

Performance

  • It achieves maximum speed up of ~112 x times and scales up to 550 x 550 x 550 hexahedral elements using double precision arithmetic
  • A summary presentation is given at petros_matrix-free.pptx.pdf.

Boosting performance using CUBLAS linear algebra kernels (ddot,daxpy,dnrm2).

Runs on >= CUDA 10 versions on TITAN V, Quadro RTX, GTX Devices:

  • Arch >= sm_70

Usage

  • Compile make to generate executable file (see makefile for compilation info).
  • Execute ./GPU_CG.

Demonstration

The results on memory and runtime performance are demonstrated below.

Losses Accuracies

Cite

Contact

conjugate-gradient-cuda's People

Contributors

petros89 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.