2010
DOI: 10.1002/cpe.1628
|View full text |Cite
|
Sign up to set email alerts
|

Hypercubic storage layout and transforms in arbitrary dimensions using GPUs and CUDA

Abstract: SUMMARYMany simulations in the physical sciences are expressed in terms of rectilinear arrays of variables. It is attractive to develop such simulations for use in 1-, 2-, 3-or arbitrary physical dimensions and also in a manner that supports exploitation of data-parallelism on fast modern processing devices. We report on data layouts and transformation algorithms that support both conventional and data-parallel memory layouts. We present our implementations expressed in both conventional serial C code as well … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
10
0

Year Published

2010
2010
2023
2023

Publication Types

Select...
4
2
1

Relationship

2
5

Authors

Journals

citations
Cited by 8 publications
(10 citation statements)
references
References 39 publications
(52 reference statements)
0
10
0
Order By: Relevance
“…To overcome this issue we use a method known as crinkling to re-order the bits in the mesh. Crinkling was pioneered for distributed array processors like the DAP by [23] and the same process is described for GPU architectures in [24]. The process of crinkling a mesh involves relocating the red and black spins of the mesh into separate parts of the array or into separate arrays.…”
Section: Cuda Checkerboard Implementationmentioning
confidence: 99%
See 1 more Smart Citation
“…To overcome this issue we use a method known as crinkling to re-order the bits in the mesh. Crinkling was pioneered for distributed array processors like the DAP by [23] and the same process is described for GPU architectures in [24]. The process of crinkling a mesh involves relocating the red and black spins of the mesh into separate parts of the array or into separate arrays.…”
Section: Cuda Checkerboard Implementationmentioning
confidence: 99%
“…The implementation can either take an existing Ising system or randomly initialise one. The Crinkle and Uncrinkle operators are performed on the GPU and described in [24]. One thread is created for each element in the crinkled arrays, these threads will perform the algorithm described above for a single element from one array and write the results to the same array.…”
Section: Cuda Implementation Of the Regular Lattice Ising Modelmentioning
confidence: 99%
“…We developed a customised simulation code in the C++ programming language for this work. This uses a pre- viously developed and tested library of geometry generating algorithms [7] and allows us to experiment with hexagonal, triangular and hyper-cubic lattice systems in arbitrary dimensions and also to experiment with different sizes of neighbourhoods, including simple nearest neighbour (eg 4 in 2D, 6 in 3D); Moore neighbourhoods (eg 8 in 2D, 26 in 3D) and generalised spherical inclusion parameterised by a radius. The procedure for the computational experiments is outlined in Algorithm 1.…”
Section: Computational Experimentsmentioning
confidence: 99%
“…Hyperbrick of the Ising model simulated on a 64 3 lattice, rendered with a cut-away octant to allow viewing of the interior structure. approach also lends itself well to using data-parallelism [4,31,34] and other tile -oriented [3,28] parallel computing solutions [29,32] such as special purpose processing accelerators [22] such as Graphical Processing Units (GPUs) [27] that have special purpose hardware for manipulating regular arrays of cells [1] that can be easily mapped to a multi dimensional simulation model [16].…”
Section: Introductionmentioning
confidence: 99%