kth.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
GPU Computing for Efficient Sedimentary Basin Simulations
KTH, School of Engineering Sciences (SCI), Mathematics (Dept.), Numerical Analysis, NA.
2014 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesisAlternative title
GPU-beräkning för effektiva sedimentbassängsimuleringar (Swedish)
Abstract [en]

This paper presents PDEs that describes sedimentation by a system of diffusion and transportation equations. These PDEs are implemented with a semi-implicit scheme and solved on a Graphics Processing Unit (GPU). The equations are solved with the iterative solvers (conjugate gradient and biconjugate gradient stabilized method) provided by the software ViennaCL. The timings from these operations are compared with a CPU implementation.

Before using the iterative solvers, a sparse matrix and a right hand side vector is set. The sparse matrix and the right hand side vector are efficiently updated on the GPU. The implicit terms of the PDEs are stored in the sparse matrix and the explicit terms in the right hand side vector. The sparse matrix is stored in the compressed sparse row (CSR) format. Algorithms to update the sparse matrix for the PDEs, which have Neumann or a mix of Neumann and Dirichlet boundary conditions, are presented. As the values in the sparse matrix depend on values from the previous results, the sparse matrix has to be updated frequently. Considerable time is saved by updating the sparse matrix on the GPU instead of on the CPU (slow data transfers between CPU and GPU are reduced).

The speedup for the GPU implementation was found to be 8-10 and 12-18 for the GPUs GTX 590 and K20m respectively, depending on grid size. The high speedup is due to the CPU model of the CPUs used for timings being an older model. If a newer CPU model were used, the speedup would be lower. Due to limited access to newer hardware, a more accurate value for speedup comparison has not been acquired. Indications still prove that the GPU implementation is faster than the sequential CPU implementation.

 

Abstract [sv]

Den här uppsatsen presenterar PDEer som beskriver sedimentering av ett system av diffusion och transport ekvationer. Dessa PDEerna blir implementerade med en halvimplicit metod och löst med en grafikprocessor (GPU). Ekvationerna är lösta med iterativa lösare (CG och BiCGStab) från mjukvaran ViennaCL. Tidsmätningarna från dessa operationerna blir jämförda med en CPU-implementation.

För användandet av de iterativa lösarna blir en gles matris och en vektor på höger sida satt. Den glesa matrisen och vektorn blir effektivt uppdaterat av GPUen. De implicita termerna blir lagrat i den glesa matrisen och de explicita termerna i vektorn på höger sida. Den glesa matrisen är sparat i det komprimerade glesa rad (CSR) formatet. Algoritmer för att uppdatera den glesa matrisen för PDEs som har Neumann, eller Neumann och Dirichlet randvillkor blir presenterade. Eftersom värdena i den glesa matrisen beror på värdena från det förra resultatet, måste den glesa matrisen uppdateras ofta. Avsevärt med tid sparas av att uppdatera den glesa matrisen på GPUen istället för på CPUen (långsamma data överföringar mellan CPU och GPU reduceras).

Accelerationen för GPU-implementationen konstaterades vara 8-10 och 12-18 för GPUena GTX 590 och K20m beroende på storleken på rutnätet. Den höga accelerationen beror på att CPU-modellen som användes till tidmätning är en äldre modell. Om en nyare CPU modell användes, ville accelerationen bli lägre. På grund av begränsad tillgång till nyare hårdvara, har inte mer exakta värden för acceleration kunnat uppdrivas. Indikationer visar dock att GPU-implementationen är snabbare än den sekventiella CPU-implementationen.

Place, publisher, year, edition, pages
2014.
Series
TRITA-MAT-E ; 2014:43
National Category
Computational Mathematics
Identifiers
URN: urn:nbn:se:kth:diva-148169OAI: oai:DiVA.org:kth-148169DiVA, id: diva2:735921
External cooperation
Simula Research Lab, Oslo
Subject / course
Scientific Computing
Educational program
Master of Science - Scientific Computing
Supervisors
Examiners
Available from: 2014-08-04 Created: 2014-08-04 Last updated: 2022-06-23Bibliographically approved

Open Access in DiVA

fulltext(1407 kB)458 downloads
File information
File name FULLTEXT01.pdfFile size 1407 kBChecksum SHA-512
b4fbe2e74e1dd04484cb8f3ceed9ece309fa4885100b8ee542fb100258a4e8243e6ff569fdfda31ce83ca661731d0c4c97c649d7d59c135487b502eca1bea926
Type fulltextMimetype application/pdf

By organisation
Numerical Analysis, NA
Computational Mathematics

Search outside of DiVA

GoogleGoogle Scholar
Total: 458 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 210 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf