KOKKOS_INLINE_FUNCTION void operator()( const size_type i0 ) const { for ( size_type i1 = 0 ; i1 < output.dimension_1() ; ++i1 ) { for ( size_type i2 = 0 ; i2 < output.dimension_2() ; ++i2 ) { for ( size_type i3 = 0 ; i3 < output.dimension_3() ; ++i3 ) { for ( size_type i4 = 0 ; i4 < output.dimension_4() ; ++i4 ) { for ( size_type i5 = 0 ; i5 < output.dimension_5() ; ++i5 ) { for ( size_type i6 = 0 ; i6 < output.dimension_6() ; ++i6 ) { for ( size_type i7 = 0 ; i7 < output.dimension_7() ; ++i7 ) { output.at(i0,i1,i2,i3,i4,i5,i6,i7) = input ; }}}}}}} }
ViewRemap( const OutputView & arg_out , const InputView & arg_in ) : output( arg_out ), input( arg_in ) , n0( std::min( (size_t)arg_out.dimension_0() , (size_t)arg_in.dimension_0() ) ) , n1( std::min( (size_t)arg_out.dimension_1() , (size_t)arg_in.dimension_1() ) ) , n2( std::min( (size_t)arg_out.dimension_2() , (size_t)arg_in.dimension_2() ) ) , n3( std::min( (size_t)arg_out.dimension_3() , (size_t)arg_in.dimension_3() ) ) , n4( std::min( (size_t)arg_out.dimension_4() , (size_t)arg_in.dimension_4() ) ) , n5( std::min( (size_t)arg_out.dimension_5() , (size_t)arg_in.dimension_5() ) ) , n6( std::min( (size_t)arg_out.dimension_6() , (size_t)arg_in.dimension_6() ) ) , n7( std::min( (size_t)arg_out.dimension_7() , (size_t)arg_in.dimension_7() ) ) { parallel_for( n0 , *this ); }
void execute_on_thread( HostThread & this_thread ) const { std::pair<Host::size_type,Host::size_type> range = this_thread.work_range( output.dimension_0() ); for ( Host::size_type i0 = range.first ; i0 < range.second ; ++i0 ) { for ( Host::size_type i1 = 0 ; i1 < output.dimension_1() ; ++i1 ) { for ( Host::size_type i2 = 0 ; i2 < output.dimension_2() ; ++i2 ) { for ( Host::size_type i3 = 0 ; i3 < output.dimension_3() ; ++i3 ) { for ( Host::size_type i4 = 0 ; i4 < output.dimension_4() ; ++i4 ) { output(i0,i1,i2,i3,i4) = input(i0,i1,i2,i3,i4); }}}}} this_thread.barrier(); }