Skip to content
Snippets Groups Projects
Commit f5274369 authored by Jakub Klinkovský's avatar Jakub Klinkovský Committed by Tomáš Oberhuber
Browse files

Fixed calculation of bandwidth in the traverser benchmarks

parent 8ea590e9
No related branches found
No related tags found
1 merge request!20Traversers optimizations
...@@ -80,7 +80,7 @@ bool runBenchmark( const Config::ParameterContainer& parameters, ...@@ -80,7 +80,7 @@ bool runBenchmark( const Config::ParameterContainer& parameters,
*/ */
if( tests.containsValue( "all" ) || tests.containsValue( "no-bc-pure-c" ) ) if( tests.containsValue( "all" ) || tests.containsValue( "no-bc-pure-c" ) )
{ {
benchmark.setOperation( "Pure C", pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB ); benchmark.setOperation( "Pure C", 2 * pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB );
auto hostWriteOneUsingPureC = [&] () auto hostWriteOneUsingPureC = [&] ()
{ {
...@@ -103,7 +103,7 @@ bool runBenchmark( const Config::ParameterContainer& parameters, ...@@ -103,7 +103,7 @@ bool runBenchmark( const Config::ParameterContainer& parameters,
*/ */
if( tests.containsValue( "all" ) || tests.containsValue( "no-bc-parallel-for" ) ) if( tests.containsValue( "all" ) || tests.containsValue( "no-bc-parallel-for" ) )
{ {
benchmark.setOperation( "parallel for", pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB ); benchmark.setOperation( "parallel for", 2 * pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB );
auto hostWriteOneUsingParallelFor = [&] () auto hostWriteOneUsingParallelFor = [&] ()
{ {
...@@ -130,7 +130,7 @@ bool runBenchmark( const Config::ParameterContainer& parameters, ...@@ -130,7 +130,7 @@ bool runBenchmark( const Config::ParameterContainer& parameters,
{ {
hostTraverserBenchmark.writeOneUsingParallelForAndGridEntity(); hostTraverserBenchmark.writeOneUsingParallelForAndGridEntity();
}; };
benchmark.setOperation( "par.for+grid ent.", pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB ); benchmark.setOperation( "par.for+grid ent.", 2 * pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB );
benchmark.time< Devices::Host >( hostReset, "CPU", hostWriteOneUsingParallelForAndGridEntity ); benchmark.time< Devices::Host >( hostReset, "CPU", hostWriteOneUsingParallelForAndGridEntity );
#ifdef HAVE_CUDA #ifdef HAVE_CUDA
...@@ -152,7 +152,7 @@ bool runBenchmark( const Config::ParameterContainer& parameters, ...@@ -152,7 +152,7 @@ bool runBenchmark( const Config::ParameterContainer& parameters,
{ {
hostTraverserBenchmark.writeOneUsingParallelForAndMeshFunction(); hostTraverserBenchmark.writeOneUsingParallelForAndMeshFunction();
}; };
benchmark.setOperation( "par.for+mesh fc.", pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB ); benchmark.setOperation( "par.for+mesh fc.", 2 * pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB );
benchmark.time< Devices::Host >( hostReset, "CPU", hostWriteOneUsingParallelForAndMeshFunction ); benchmark.time< Devices::Host >( hostReset, "CPU", hostWriteOneUsingParallelForAndMeshFunction );
#ifdef HAVE_CUDA #ifdef HAVE_CUDA
...@@ -171,7 +171,7 @@ bool runBenchmark( const Config::ParameterContainer& parameters, ...@@ -171,7 +171,7 @@ bool runBenchmark( const Config::ParameterContainer& parameters,
*/ */
if( tests.containsValue( "all" ) || tests.containsValue( "no-bc-traverser" ) ) if( tests.containsValue( "all" ) || tests.containsValue( "no-bc-traverser" ) )
{ {
benchmark.setOperation( "traverser", pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB ); benchmark.setOperation( "traverser", 2 * pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB );
auto hostWriteOneUsingTraverser = [&] () auto hostWriteOneUsingTraverser = [&] ()
{ {
hostTraverserBenchmark.writeOneUsingTraverser(); hostTraverserBenchmark.writeOneUsingTraverser();
...@@ -234,14 +234,14 @@ bool runBenchmark( const Config::ParameterContainer& parameters, ...@@ -234,14 +234,14 @@ bool runBenchmark( const Config::ParameterContainer& parameters,
if( tests.containsValue( "all" ) || tests.containsValue( "bc-pure-c" ) ) if( tests.containsValue( "all" ) || tests.containsValue( "bc-pure-c" ) )
{ {
benchmark.setOperation( "Pure C", pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB ); benchmark.setOperation( "Pure C", 2 * pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB );
benchmark.time< Devices::Host >( "CPU", hostTraverseUsingPureC ); benchmark.time< Devices::Host >( "CPU", hostTraverseUsingPureC );
#ifdef HAVE_CUDA #ifdef HAVE_CUDA
if( withCuda ) if( withCuda )
benchmark.time< Devices::Cuda >( "GPU", cudaTraverseUsingPureC ); benchmark.time< Devices::Cuda >( "GPU", cudaTraverseUsingPureC );
#endif #endif
benchmark.setOperation( "Pure C RST", pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB ); benchmark.setOperation( "Pure C RST", 2 * pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB );
benchmark.time< Devices::Host >( hostReset, "CPU", hostTraverseUsingPureC ); benchmark.time< Devices::Host >( hostReset, "CPU", hostTraverseUsingPureC );
#ifdef HAVE_CUDA #ifdef HAVE_CUDA
if( withCuda ) if( withCuda )
...@@ -266,14 +266,14 @@ bool runBenchmark( const Config::ParameterContainer& parameters, ...@@ -266,14 +266,14 @@ bool runBenchmark( const Config::ParameterContainer& parameters,
if( tests.containsValue( "all" ) || tests.containsValue( "bc-parallel-for" ) ) if( tests.containsValue( "all" ) || tests.containsValue( "bc-parallel-for" ) )
{ {
benchmark.setOperation( "parallel for", pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB ); benchmark.setOperation( "parallel for", 2 * pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB );
benchmark.time< Devices::Host >( "CPU", hostTraverseUsingParallelFor ); benchmark.time< Devices::Host >( "CPU", hostTraverseUsingParallelFor );
#ifdef HAVE_CUDA #ifdef HAVE_CUDA
if( withCuda ) if( withCuda )
benchmark.time< Devices::Cuda >( "GPU", cudaTraverseUsingParallelFor ); benchmark.time< Devices::Cuda >( "GPU", cudaTraverseUsingParallelFor );
#endif #endif
benchmark.setOperation( "parallel for RST", pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB ); benchmark.setOperation( "parallel for RST", 2 * pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB );
benchmark.time< Devices::Host >( hostReset, "CPU", hostTraverseUsingParallelFor ); benchmark.time< Devices::Host >( hostReset, "CPU", hostTraverseUsingParallelFor );
#ifdef HAVE_CUDA #ifdef HAVE_CUDA
if( withCuda ) if( withCuda )
...@@ -298,13 +298,13 @@ bool runBenchmark( const Config::ParameterContainer& parameters, ...@@ -298,13 +298,13 @@ bool runBenchmark( const Config::ParameterContainer& parameters,
if( tests.containsValue( "all" ) || tests.containsValue( "bc-traverser" ) ) if( tests.containsValue( "all" ) || tests.containsValue( "bc-traverser" ) )
{ {
benchmark.setOperation( "traverser", pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB ); benchmark.setOperation( "traverser", 2 * pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB );
benchmark.time< Devices::Host >( "CPU", hostTraverseUsingTraverser ); benchmark.time< Devices::Host >( "CPU", hostTraverseUsingTraverser );
#ifdef HAVE_CUDA #ifdef HAVE_CUDA
benchmark.time< Devices::Cuda >( "GPU", cudaTraverseUsingTraverser ); benchmark.time< Devices::Cuda >( "GPU", cudaTraverseUsingTraverser );
#endif #endif
benchmark.setOperation( "traverser RST", pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB ); benchmark.setOperation( "traverser RST", 2 * pow( ( double ) size, ( double ) Dimension ) * sizeof( Real ) / oneGB );
benchmark.time< Devices::Host >( hostReset, "CPU", hostTraverseUsingTraverser ); benchmark.time< Devices::Host >( hostReset, "CPU", hostTraverseUsingTraverser );
#ifdef HAVE_CUDA #ifdef HAVE_CUDA
benchmark.time< Devices::Cuda >( cudaReset, "GPU", cudaTraverseUsingTraverser ); benchmark.time< Devices::Cuda >( cudaReset, "GPU", cudaTraverseUsingTraverser );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment