本文整理汇总了C++中kokkos::View::extent_int方法的典型用法代码示例。如果您正苦于以下问题:C++ View::extent_int方法的具体用法?C++ View::extent_int怎么用?C++ View::extent_int使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kokkos::View
的用法示例。
在下文中一共展示了View::extent_int方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void NearestNeighborOperator<DeviceType>::apply(
Kokkos::View<double const *, DeviceType> source_values,
Kokkos::View<double *, DeviceType> target_values ) const
{
// Precondition: check that the source and target are properly sized
DTK_REQUIRE( _indices.extent( 0 ) == target_values.extent( 0 ) );
DTK_REQUIRE( _size == source_values.extent_int( 0 ) );
auto values = Details::NearestNeighborOperatorImpl<DeviceType>::fetch(
_comm, _ranks, _indices, source_values );
Kokkos::deep_copy( target_values, values );
}
示例2: indices
NearestNeighborOperator<DeviceType>::NearestNeighborOperator(
MPI_Comm comm, Kokkos::View<Coordinate const **, DeviceType> source_points,
Kokkos::View<Coordinate const **, DeviceType> target_points )
: _comm( comm )
, _indices( "indices" )
, _ranks( "ranks" )
, _size( source_points.extent_int( 0 ) )
{
// NOTE: instead of checking the pre-condition that there is at least one
// source point passed to one of the rank, we let the tree handle the
// communication and just check that the tree is not empty.
// Build distributed search tree over the source points.
DistributedSearchTree<DeviceType> search_tree( _comm, source_points );
// Tree must have at least one leaf, otherwise it makes little sense to
// perform the search for nearest neighbors.
DTK_CHECK( !search_tree.empty() );
// Query nearest neighbor for all target points.
auto nearest_queries = Details::NearestNeighborOperatorImpl<
DeviceType>::makeNearestNeighborQueries( target_points );
// Perform the actual search.
Kokkos::View<int *, DeviceType> indices( "indices" );
Kokkos::View<int *, DeviceType> offset( "offset" );
Kokkos::View<int *, DeviceType> ranks( "ranks" );
search_tree.query( nearest_queries, indices, offset, ranks );
// Check post-condition that we did find a nearest neighbor to all target
// points.
DTK_ENSURE( lastElement( offset ) == target_points.extent_int( 0 ) );
// Save results.
// NOTE: we don't bother keeping `offset` around since it is just `[0, 1, 2,
// ..., n_target_poins]`
_indices = indices;
_ranks = ranks;
}