Loading Documentation/Tutorials/Reduction/CMakeLists.txt +12 −12 Original line number Diff line number Diff line Loading @@ -11,14 +11,14 @@ IF( BUILD_CUDA ) ADD_CUSTOM_COMMAND( COMMAND ComparisonExample > ComparisonExample.out OUTPUT ComparisonExample.out ) CUDA_ADD_EXECUTABLE( UpdateAndResidueExample UpdateAndResidueExample.cu ) ADD_CUSTOM_COMMAND( COMMAND UpdateAndResidueExample > UpdateAndResidueExample.out OUTPUT UpdateAndResidueExample.out ) CUDA_ADD_EXECUTABLE( MaskAndReduceExample-1 MaskAndReduceExample-1.cu ) ADD_CUSTOM_COMMAND( COMMAND MaskAndReduceExample-1 > MaskAndReduceExample-1.out OUTPUT MaskAndReduceExample-1.out ) CUDA_ADD_EXECUTABLE( MaskAndReduceExample-2 MaskAndReduceExample-2.cu ) ADD_CUSTOM_COMMAND( COMMAND MaskAndReduceExample-2 > MaskAndReduceExample-2.out OUTPUT MaskAndReduceExample-2.out ) CUDA_ADD_EXECUTABLE( MaskAndReduceExample-3 MaskAndReduceExample-3.cu ) ADD_CUSTOM_COMMAND( COMMAND MaskAndReduceExample-3 > MaskAndReduceExample-3.out OUTPUT MaskAndReduceExample-3.out ) ADD_EXECUTABLE( ReductionInMethodsExample ReductionInMethodsExample.cpp ) ADD_CUSTOM_COMMAND( COMMAND ReductionInMethodsExample > ReductionInMethodsExample.out OUTPUT ReductionInMethodsExample.out ) CUDA_ADD_EXECUTABLE( MapReduceExample-1 MapReduceExample-1.cu ) ADD_CUSTOM_COMMAND( COMMAND MapReduceExample-1 > MapReduceExample-1.out OUTPUT MapReduceExample-1.out ) CUDA_ADD_EXECUTABLE( MapReduceExample-2 MapReduceExample-2.cu ) ADD_CUSTOM_COMMAND( COMMAND MapReduceExample-2 > MapReduceExample-2.out OUTPUT MapReduceExample-2.out ) CUDA_ADD_EXECUTABLE( MapReduceExample-3 MapReduceExample-3.cu ) ADD_CUSTOM_COMMAND( COMMAND MapReduceExample-3 > MapReduceExample-3.out OUTPUT MapReduceExample-3.out ) CUDA_ADD_EXECUTABLE( ReductionWithArgument ReductionWithArgument.cu ) ADD_CUSTOM_COMMAND( COMMAND ReductionWithArgument > ReductionWithArgument.out OUTPUT ReductionWithArgument.out ) ENDIF() IF( BUILD_CUDA ) Loading @@ -29,8 +29,8 @@ ADD_CUSTOM_TARGET( TutorialsReduction-cuda ALL DEPENDS MaximumNormExample.out ComparisonExample.out UpdateAndResidueExample.out MaskAndReduceExample-1.out MaskAndReduceExample-2.out MaskAndReduceExample-3.out ReductionInMethodsExample.out ) MapReduceExample-1.out MapReduceExample-2.out MapReduceExample-3.out ReductionWithArgument.out ) ENDIF() Documentation/Tutorials/Reduction/MaskAndReduceExample-1.cpp→Documentation/Tutorials/Reduction/MapReduceExample-1.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ using namespace TNL::Containers; using namespace TNL::Containers::Algorithms; template< typename Device > double maskAndReduce( Vector< double, Device >& u ) double mapReduce( Vector< double, Device >& u ) { auto u_view = u.getView(); auto fetch = [=] __cuda_callable__ ( int i )->double { Loading @@ -23,13 +23,13 @@ int main( int argc, char* argv[] ) Timer timer; Vector< double, Devices::Host > host_u( 10 ); host_u.evaluate( [] __cuda_callable__ ( int i ) { return sin( ( double ) i ); } ); double result = maskAndReduce( host_u ); double result = mapReduce( host_u ); std::cout << "host_u = " << host_u << std::endl; std::cout << "Sum of the positive numbers is:" << result << std::endl; #ifdef HAVE_CUDA Vector< double, Devices::Cuda > cuda_u( 10 ); cuda_u = host_u; result = maskAndReduce( cuda_u ); result = mapReduce( cuda_u ); std::cout << "cuda_u = " << cuda_u << std::endl; std::cout << "Sum of the positive numbers is:" << result << std::endl; #endif Loading Documentation/Tutorials/Reduction/MaskAndReduceExample-2.cpp→Documentation/Tutorials/Reduction/MapReduceExample-2.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ using namespace TNL::Containers; using namespace TNL::Containers::Algorithms; template< typename Device > double maskAndReduce( Vector< double, Device >& u ) double mapReduce( Vector< double, Device >& u ) { auto u_view = u.getView(); auto fetch = [=] __cuda_callable__ ( int i )->double { Loading @@ -25,7 +25,7 @@ int main( int argc, char* argv[] ) Vector< double, Devices::Host > host_u( 100000 ); host_u = 1.0; timer.start(); double result = maskAndReduce( host_u ); double result = mapReduce( host_u ); timer.stop(); std::cout << "Host tesult is:" << result << ". It took " << timer.getRealTime() << "seconds." << std::endl; #ifdef HAVE_CUDA Loading @@ -33,7 +33,7 @@ int main( int argc, char* argv[] ) cuda_u = 1.0; timer.reset(); timer.start(); result = maskAndReduce( cuda_u ); result = mapReduce( cuda_u ); timer.stop(); std::cout << "CUDA result is:" << result << ". It took " << timer.getRealTime() << "seconds." << std::endl; #endif Loading Documentation/Tutorials/Reduction/MaskAndReduceExample-3.cpp→Documentation/Tutorials/Reduction/MapReduceExample-3.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ using namespace TNL::Containers; using namespace TNL::Containers::Algorithms; template< typename Device > double maskAndReduce( Vector< double, Device >& u ) double mapReduce( Vector< double, Device >& u ) { auto u_view = u.getView(); auto fetch = [=] __cuda_callable__ ( int i )->double { Loading @@ -24,15 +24,15 @@ int main( int argc, char* argv[] ) Vector< double, Devices::Host > host_u( 100000 ); host_u = 1.0; timer.start(); double result = maskAndReduce( host_u ); double result = mapReduce( host_u ); timer.stop(); std::cout << "Host tesult is:" << result << ". It took " << timer.getRealTime() << "seconds." << std::endl; std::cout << "Host result is:" << result << ". It took " << timer.getRealTime() << "seconds." << std::endl; #ifdef HAVE_CUDA Vector< double, Devices::Cuda > cuda_u( 100000 ); cuda_u = 1.0; timer.reset(); timer.start(); result = maskAndReduce( cuda_u ); result = mapReduce( cuda_u ); timer.stop(); std::cout << "CUDA result is:" << result << ". It took " << timer.getRealTime() << "seconds." << std::endl; #endif Loading Documentation/Tutorials/Reduction/MaskAndReduceExample-1.cudeleted 120000 → 0 +0 −1 Original line number Diff line number Diff line MaskAndReduceExample-1.cpp No newline at end of file Loading
Documentation/Tutorials/Reduction/CMakeLists.txt +12 −12 Original line number Diff line number Diff line Loading @@ -11,14 +11,14 @@ IF( BUILD_CUDA ) ADD_CUSTOM_COMMAND( COMMAND ComparisonExample > ComparisonExample.out OUTPUT ComparisonExample.out ) CUDA_ADD_EXECUTABLE( UpdateAndResidueExample UpdateAndResidueExample.cu ) ADD_CUSTOM_COMMAND( COMMAND UpdateAndResidueExample > UpdateAndResidueExample.out OUTPUT UpdateAndResidueExample.out ) CUDA_ADD_EXECUTABLE( MaskAndReduceExample-1 MaskAndReduceExample-1.cu ) ADD_CUSTOM_COMMAND( COMMAND MaskAndReduceExample-1 > MaskAndReduceExample-1.out OUTPUT MaskAndReduceExample-1.out ) CUDA_ADD_EXECUTABLE( MaskAndReduceExample-2 MaskAndReduceExample-2.cu ) ADD_CUSTOM_COMMAND( COMMAND MaskAndReduceExample-2 > MaskAndReduceExample-2.out OUTPUT MaskAndReduceExample-2.out ) CUDA_ADD_EXECUTABLE( MaskAndReduceExample-3 MaskAndReduceExample-3.cu ) ADD_CUSTOM_COMMAND( COMMAND MaskAndReduceExample-3 > MaskAndReduceExample-3.out OUTPUT MaskAndReduceExample-3.out ) ADD_EXECUTABLE( ReductionInMethodsExample ReductionInMethodsExample.cpp ) ADD_CUSTOM_COMMAND( COMMAND ReductionInMethodsExample > ReductionInMethodsExample.out OUTPUT ReductionInMethodsExample.out ) CUDA_ADD_EXECUTABLE( MapReduceExample-1 MapReduceExample-1.cu ) ADD_CUSTOM_COMMAND( COMMAND MapReduceExample-1 > MapReduceExample-1.out OUTPUT MapReduceExample-1.out ) CUDA_ADD_EXECUTABLE( MapReduceExample-2 MapReduceExample-2.cu ) ADD_CUSTOM_COMMAND( COMMAND MapReduceExample-2 > MapReduceExample-2.out OUTPUT MapReduceExample-2.out ) CUDA_ADD_EXECUTABLE( MapReduceExample-3 MapReduceExample-3.cu ) ADD_CUSTOM_COMMAND( COMMAND MapReduceExample-3 > MapReduceExample-3.out OUTPUT MapReduceExample-3.out ) CUDA_ADD_EXECUTABLE( ReductionWithArgument ReductionWithArgument.cu ) ADD_CUSTOM_COMMAND( COMMAND ReductionWithArgument > ReductionWithArgument.out OUTPUT ReductionWithArgument.out ) ENDIF() IF( BUILD_CUDA ) Loading @@ -29,8 +29,8 @@ ADD_CUSTOM_TARGET( TutorialsReduction-cuda ALL DEPENDS MaximumNormExample.out ComparisonExample.out UpdateAndResidueExample.out MaskAndReduceExample-1.out MaskAndReduceExample-2.out MaskAndReduceExample-3.out ReductionInMethodsExample.out ) MapReduceExample-1.out MapReduceExample-2.out MapReduceExample-3.out ReductionWithArgument.out ) ENDIF()
Documentation/Tutorials/Reduction/MaskAndReduceExample-1.cpp→Documentation/Tutorials/Reduction/MapReduceExample-1.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ using namespace TNL::Containers; using namespace TNL::Containers::Algorithms; template< typename Device > double maskAndReduce( Vector< double, Device >& u ) double mapReduce( Vector< double, Device >& u ) { auto u_view = u.getView(); auto fetch = [=] __cuda_callable__ ( int i )->double { Loading @@ -23,13 +23,13 @@ int main( int argc, char* argv[] ) Timer timer; Vector< double, Devices::Host > host_u( 10 ); host_u.evaluate( [] __cuda_callable__ ( int i ) { return sin( ( double ) i ); } ); double result = maskAndReduce( host_u ); double result = mapReduce( host_u ); std::cout << "host_u = " << host_u << std::endl; std::cout << "Sum of the positive numbers is:" << result << std::endl; #ifdef HAVE_CUDA Vector< double, Devices::Cuda > cuda_u( 10 ); cuda_u = host_u; result = maskAndReduce( cuda_u ); result = mapReduce( cuda_u ); std::cout << "cuda_u = " << cuda_u << std::endl; std::cout << "Sum of the positive numbers is:" << result << std::endl; #endif Loading
Documentation/Tutorials/Reduction/MaskAndReduceExample-2.cpp→Documentation/Tutorials/Reduction/MapReduceExample-2.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ using namespace TNL::Containers; using namespace TNL::Containers::Algorithms; template< typename Device > double maskAndReduce( Vector< double, Device >& u ) double mapReduce( Vector< double, Device >& u ) { auto u_view = u.getView(); auto fetch = [=] __cuda_callable__ ( int i )->double { Loading @@ -25,7 +25,7 @@ int main( int argc, char* argv[] ) Vector< double, Devices::Host > host_u( 100000 ); host_u = 1.0; timer.start(); double result = maskAndReduce( host_u ); double result = mapReduce( host_u ); timer.stop(); std::cout << "Host tesult is:" << result << ". It took " << timer.getRealTime() << "seconds." << std::endl; #ifdef HAVE_CUDA Loading @@ -33,7 +33,7 @@ int main( int argc, char* argv[] ) cuda_u = 1.0; timer.reset(); timer.start(); result = maskAndReduce( cuda_u ); result = mapReduce( cuda_u ); timer.stop(); std::cout << "CUDA result is:" << result << ". It took " << timer.getRealTime() << "seconds." << std::endl; #endif Loading
Documentation/Tutorials/Reduction/MaskAndReduceExample-3.cpp→Documentation/Tutorials/Reduction/MapReduceExample-3.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ using namespace TNL::Containers; using namespace TNL::Containers::Algorithms; template< typename Device > double maskAndReduce( Vector< double, Device >& u ) double mapReduce( Vector< double, Device >& u ) { auto u_view = u.getView(); auto fetch = [=] __cuda_callable__ ( int i )->double { Loading @@ -24,15 +24,15 @@ int main( int argc, char* argv[] ) Vector< double, Devices::Host > host_u( 100000 ); host_u = 1.0; timer.start(); double result = maskAndReduce( host_u ); double result = mapReduce( host_u ); timer.stop(); std::cout << "Host tesult is:" << result << ". It took " << timer.getRealTime() << "seconds." << std::endl; std::cout << "Host result is:" << result << ". It took " << timer.getRealTime() << "seconds." << std::endl; #ifdef HAVE_CUDA Vector< double, Devices::Cuda > cuda_u( 100000 ); cuda_u = 1.0; timer.reset(); timer.start(); result = maskAndReduce( cuda_u ); result = mapReduce( cuda_u ); timer.stop(); std::cout << "CUDA result is:" << result << ". It took " << timer.getRealTime() << "seconds." << std::endl; #endif Loading
Documentation/Tutorials/Reduction/MaskAndReduceExample-1.cudeleted 120000 → 0 +0 −1 Original line number Diff line number Diff line MaskAndReduceExample-1.cpp No newline at end of file