Exemple #1
0
  static void run( int i, size_t MemoryCapacity = 16000 )
  {
    typedef typename sched_type::memory_space memory_space;

    enum { MinBlockSize   =   64 };
    enum { MaxBlockSize   = 1024 };
    enum { SuperBlockSize = 1u << 12 };

    sched_type root_sched( memory_space()
                         , MemoryCapacity
                         , MinBlockSize
                         , MaxBlockSize
                         , SuperBlockSize );

    future_type f = Kokkos::host_spawn( Kokkos::TaskSingle( root_sched )
                                      , TestFib( root_sched, i ) );

    Kokkos::wait( root_sched );

    ASSERT_EQ( eval_fib( i ), f.get() );

#if 0
    fprintf( stdout, "\nTestFib::run(%d) spawn_size(%d) when_all_size(%d) alloc_capacity(%d) task_max(%d) task_accum(%ld)\n"
           , i
           , int(root_sched.template spawn_allocation_size<TestFib>())
           , int(root_sched.when_all_allocation_size(2))
           , root_sched.allocation_capacity()
           , root_sched.allocated_task_count_max()
           , root_sched.allocated_task_count_accum()
           );
    fflush( stdout );
#endif
  }
Exemple #2
0
  static void run( int i , size_t MemoryCapacity = 16000 )
    {
      typedef typename policy_type::memory_space memory_space ;

      enum { Log2_SuperBlockSize = 12 };

      policy_type root_policy( memory_space() , MemoryCapacity , Log2_SuperBlockSize );

      future_type f = root_policy.host_spawn( TestFib(root_policy,i) , Kokkos::TaskSingle );
      Kokkos::wait( root_policy );
      ASSERT_EQ( eval_fib(i) , f.get() );

#if 0
      fprintf( stdout , "\nTestFib::run(%d) spawn_size(%d) when_all_size(%d) alloc_capacity(%d) task_max(%d) task_accum(%ld)\n"
             , i
             , int(root_policy.template spawn_allocation_size<TestFib>())
             , int(root_policy.when_all_allocation_size(2))
             , root_policy.allocation_capacity()
             , root_policy.allocated_task_count_max()
             , root_policy.allocated_task_count_accum()
             );
      fflush( stdout );
#endif
    }