Loading examples/heat-equation/tnl-heat-equation.h +2 −2 Original line number Diff line number Diff line Loading @@ -27,8 +27,8 @@ using namespace TNL; using namespace TNL::Problems; //typedef tnlDefaultBuildMeshConfig BuildConfig; //typedef Solvers::FastBuildConfig BuildConfig; typedef Solvers::HeatEquationBuildConfig BuildConfig; typedef Solvers::FastBuildConfig BuildConfig; //typedef Solvers::HeatEquationBuildConfig BuildConfig; template< typename MeshConfig > class heatEquationConfig Loading src/TNL/Devices/Cuda.cu +3 −3 Original line number Diff line number Diff line Loading @@ -31,11 +31,11 @@ void Cuda::setupThreads( const dim3& blockSize, * TODO: Fix the following: * I do not known how to get max grid size in kernels :( * /* Also, this is very slow. int currentDevice( 0 ); * Also, this is very slow. */ /*int currentDevice( 0 ); cudaGetDevice( currentDevice ); cudaDeviceProp properties; cudaGetDeviceProperties( &properties, currentDevice );*/ cudaGetDeviceProperties( &properties, currentDevice ); gridsCount.x = blocksCount.x / properties.maxGridSize[ 0 ] + ( blocksCount.x % properties.maxGridSize[ 0 ] != 0 ); gridsCount.y = blocksCount.y / properties.maxGridSize[ 1 ] + ( blocksCount.y % properties.maxGridSize[ 1 ] != 0 ); gridsCount.z = blocksCount.z / properties.maxGridSize[ 2 ] + ( blocksCount.z % properties.maxGridSize[ 2 ] != 0 ); Loading src/TNL/Meshes/GridDetails/GridTraverser_impl.h +1 −0 Original line number Diff line number Diff line Loading @@ -518,6 +518,7 @@ processEntities( for( gridIdx.x = 0; gridIdx.x < cudaGridsCount.x; gridIdx.x ++ ) { Devices::Cuda::setupGrid( cudaBlocksCount, cudaGridsCount, gridIdx, cudaGridSize ); //Devices::Cuda::printThreadsSetup( cudaBlockSize, cudaBlocksCount, cudaGridSize, cudaGridsCount ); GridTraverser2D< Real, Index, GridEntity, UserData, EntitiesProcessor, processOnlyBoundaryEntities, GridEntityParameters... > <<< cudaGridSize, cudaBlockSize, 0, s >>> ( &gridPointer.template getData< Devices::Cuda >(), Loading Loading
examples/heat-equation/tnl-heat-equation.h +2 −2 Original line number Diff line number Diff line Loading @@ -27,8 +27,8 @@ using namespace TNL; using namespace TNL::Problems; //typedef tnlDefaultBuildMeshConfig BuildConfig; //typedef Solvers::FastBuildConfig BuildConfig; typedef Solvers::HeatEquationBuildConfig BuildConfig; typedef Solvers::FastBuildConfig BuildConfig; //typedef Solvers::HeatEquationBuildConfig BuildConfig; template< typename MeshConfig > class heatEquationConfig Loading
src/TNL/Devices/Cuda.cu +3 −3 Original line number Diff line number Diff line Loading @@ -31,11 +31,11 @@ void Cuda::setupThreads( const dim3& blockSize, * TODO: Fix the following: * I do not known how to get max grid size in kernels :( * /* Also, this is very slow. int currentDevice( 0 ); * Also, this is very slow. */ /*int currentDevice( 0 ); cudaGetDevice( currentDevice ); cudaDeviceProp properties; cudaGetDeviceProperties( &properties, currentDevice );*/ cudaGetDeviceProperties( &properties, currentDevice ); gridsCount.x = blocksCount.x / properties.maxGridSize[ 0 ] + ( blocksCount.x % properties.maxGridSize[ 0 ] != 0 ); gridsCount.y = blocksCount.y / properties.maxGridSize[ 1 ] + ( blocksCount.y % properties.maxGridSize[ 1 ] != 0 ); gridsCount.z = blocksCount.z / properties.maxGridSize[ 2 ] + ( blocksCount.z % properties.maxGridSize[ 2 ] != 0 ); Loading
src/TNL/Meshes/GridDetails/GridTraverser_impl.h +1 −0 Original line number Diff line number Diff line Loading @@ -518,6 +518,7 @@ processEntities( for( gridIdx.x = 0; gridIdx.x < cudaGridsCount.x; gridIdx.x ++ ) { Devices::Cuda::setupGrid( cudaBlocksCount, cudaGridsCount, gridIdx, cudaGridSize ); //Devices::Cuda::printThreadsSetup( cudaBlockSize, cudaBlocksCount, cudaGridSize, cudaGridsCount ); GridTraverser2D< Real, Index, GridEntity, UserData, EntitiesProcessor, processOnlyBoundaryEntities, GridEntityParameters... > <<< cudaGridSize, cudaBlockSize, 0, s >>> ( &gridPointer.template getData< Devices::Cuda >(), Loading