Implementation of the Lattice Boltzmann Method on Heterogeneous Hardware and Platforms using OpenCL
The Lattice Boltzmann method (LBM) has become an alternative method for computational fluid dynamics with a wide range of applications. Besides its numerical stability and accuracy, one of the major advantages of LBM is its relatively easy parallelization and, hence, it is especially well fitted t...
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Stefan cel Mare University of Suceava
2012-02-01
|
Series: | Advances in Electrical and Computer Engineering |
Subjects: | |
Online Access: | http://dx.doi.org/10.4316/AECE.2012.01009 |
_version_ | 1811262548927840256 |
---|---|
author | TEKIC, P. M. RADJENOVIC, J. B. RACKOVIC, M. |
author_facet | TEKIC, P. M. RADJENOVIC, J. B. RACKOVIC, M. |
author_sort | TEKIC, P. M. |
collection | DOAJ |
description | The Lattice Boltzmann method (LBM) has become an alternative method for computational fluid dynamics with a wide range of applications. Besides its numerical stability and accuracy, one of the major advantages of LBM is its relatively easy parallelization and, hence, it is especially well fitted to many-core hardware as graphics processing units (GPU). The majority of work concerning LBM implementation on GPU's has used the CUDA programming model, supported exclusively by NVIDIA. Recently, the open standard for parallel programming of heterogeneous systems (OpenCL) has been introduced. OpenCL standard matures and is supported on processors from most vendors. In this paper, we make use of the OpenCL framework for the lattice Boltzmann method simulation, using hardware accelerators - AMD ATI Radeon GPU, AMD Dual-Core CPU and NVIDIA GeForce GPU's. Application has been developed using a combination of Java and OpenCL programming languages. Java bindings for OpenCL have been utilized. This approach offers the benefits of hardware and operating system independence, as well as speeding up of lattice Boltzmann algorithm. It has been showed that the developed lattice Boltzmann source code can be executed without modification on all of the used hardware accelerators. Performance results have been presented and compared for the hardware accelerators that have been utilized. |
first_indexed | 2024-04-12T19:27:40Z |
format | Article |
id | doaj.art-9734edc44d1a4e12a2203d3a9e0ae320 |
institution | Directory Open Access Journal |
issn | 1582-7445 1844-7600 |
language | English |
last_indexed | 2024-04-12T19:27:40Z |
publishDate | 2012-02-01 |
publisher | Stefan cel Mare University of Suceava |
record_format | Article |
series | Advances in Electrical and Computer Engineering |
spelling | doaj.art-9734edc44d1a4e12a2203d3a9e0ae3202022-12-22T03:19:26ZengStefan cel Mare University of SuceavaAdvances in Electrical and Computer Engineering1582-74451844-76002012-02-01121515610.4316/AECE.2012.01009Implementation of the Lattice Boltzmann Method on Heterogeneous Hardware and Platforms using OpenCLTEKIC, P. M.RADJENOVIC, J. B.RACKOVIC, M.The Lattice Boltzmann method (LBM) has become an alternative method for computational fluid dynamics with a wide range of applications. Besides its numerical stability and accuracy, one of the major advantages of LBM is its relatively easy parallelization and, hence, it is especially well fitted to many-core hardware as graphics processing units (GPU). The majority of work concerning LBM implementation on GPU's has used the CUDA programming model, supported exclusively by NVIDIA. Recently, the open standard for parallel programming of heterogeneous systems (OpenCL) has been introduced. OpenCL standard matures and is supported on processors from most vendors. In this paper, we make use of the OpenCL framework for the lattice Boltzmann method simulation, using hardware accelerators - AMD ATI Radeon GPU, AMD Dual-Core CPU and NVIDIA GeForce GPU's. Application has been developed using a combination of Java and OpenCL programming languages. Java bindings for OpenCL have been utilized. This approach offers the benefits of hardware and operating system independence, as well as speeding up of lattice Boltzmann algorithm. It has been showed that the developed lattice Boltzmann source code can be executed without modification on all of the used hardware accelerators. Performance results have been presented and compared for the hardware accelerators that have been utilized.http://dx.doi.org/10.4316/AECE.2012.01009GPUJavalattice Boltzmann methodmany-coreOpenC |
spellingShingle | TEKIC, P. M. RADJENOVIC, J. B. RACKOVIC, M. Implementation of the Lattice Boltzmann Method on Heterogeneous Hardware and Platforms using OpenCL Advances in Electrical and Computer Engineering GPU Java lattice Boltzmann method many-core OpenC |
title | Implementation of the Lattice Boltzmann Method on Heterogeneous Hardware and Platforms using OpenCL |
title_full | Implementation of the Lattice Boltzmann Method on Heterogeneous Hardware and Platforms using OpenCL |
title_fullStr | Implementation of the Lattice Boltzmann Method on Heterogeneous Hardware and Platforms using OpenCL |
title_full_unstemmed | Implementation of the Lattice Boltzmann Method on Heterogeneous Hardware and Platforms using OpenCL |
title_short | Implementation of the Lattice Boltzmann Method on Heterogeneous Hardware and Platforms using OpenCL |
title_sort | implementation of the lattice boltzmann method on heterogeneous hardware and platforms using opencl |
topic | GPU Java lattice Boltzmann method many-core OpenC |
url | http://dx.doi.org/10.4316/AECE.2012.01009 |
work_keys_str_mv | AT tekicpm implementationofthelatticeboltzmannmethodonheterogeneoushardwareandplatformsusingopencl AT radjenovicjb implementationofthelatticeboltzmannmethodonheterogeneoushardwareandplatformsusingopencl AT rackovicm implementationofthelatticeboltzmannmethodonheterogeneoushardwareandplatformsusingopencl |