From a31a7e6db7910bd208b6b556ae7227705fe20557 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Oberhuber?= <oberhuber.tomas@gmail.com> Date: Sat, 5 Jan 2019 08:34:20 +0100 Subject: [PATCH] Refactoring of Grid 1D traverser. --- .../Meshes/GridDetails/GridTraverser_1D.hpp | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/TNL/Meshes/GridDetails/GridTraverser_1D.hpp b/src/TNL/Meshes/GridDetails/GridTraverser_1D.hpp index 505f9c3d74..5b35d5be97 100644 --- a/src/TNL/Meshes/GridDetails/GridTraverser_1D.hpp +++ b/src/TNL/Meshes/GridDetails/GridTraverser_1D.hpp @@ -199,7 +199,31 @@ processEntities( } else { - dim3 cudaBlockSize( 256 ); + dim3 blockSize( 256 ), blocksCount, gridsCount; + Devices::Cuda::setupThreads( + blockSize, + blocksCount, + gridsCount, + end.x() - begin.x() + 1 ); + dim3 gridIdx; + for( gridIdx.x = 0; gridIdx.x < gridsCount.x; gridIdx.x++ ) + { + dim3 gridSize; + Devices::Cuda::setupGrid( + blocksCount, + gridsCount, + gridIdx, + gridSize ); + GridTraverser1D< Real, Index, GridEntity, UserData, EntitiesProcessor > + <<< blocksCount, blockSize, 0, s >>> + ( &gridPointer.template getData< Devices::Cuda >(), + userData, + begin, + end, + gridIdx.x ); + } + + /*dim3 cudaBlockSize( 256 ); dim3 cudaBlocks; cudaBlocks.x = Devices::Cuda::getNumberOfBlocks( end.x() - begin.x() + 1, cudaBlockSize.x ); const IndexType cudaXGrids = Devices::Cuda::getNumberOfGrids( cudaBlocks.x ); -- GitLab