Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change signature of the nearest callback #366

Merged
merged 15 commits into from
Dec 19, 2020

Conversation

aprokop
Copy link
Contributor

@aprokop aprokop commented Aug 22, 2020

Fix #355

@aprokop aprokop added the API User visible interface modifications label Aug 22, 2020
@aprokop aprokop closed this Sep 30, 2020
This commit only addresses on-node part.
@aprokop aprokop reopened this Dec 14, 2020
@aprokop aprokop marked this pull request as ready for review December 14, 2020 01:11
@aprokop
Copy link
Contributor Author

aprokop commented Dec 14, 2020

Decided to quickly redo this as this will heavily conflict with #425.

Copy link
Contributor Author

@aprokop aprokop left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, the patch is pretty straightforward. The only thing I'm not happy with is where the extra functions (getReversePermutation and getPrimitiveBoundingVolume) live. Any ideas welcome. This should be merged prior to #425.

Comment on lines 49 to 59
Kokkos::View<unsigned int *, typename BVH::memory_space> rev_permute(
Kokkos::ViewAllocateWithoutInitializing(
"ArborX::DistributedTree::query::nearest::reverse_permutation"),
n);
Kokkos::parallel_for(
"ArborX::DistributedTree::query::nearest::compute_reverse_permutation",
Kokkos::RangePolicy<ExecutionSpace>(exec_space, 0, n),
KOKKOS_LAMBDA(int const i) {
rev_permute(leaf_nodes(i).getLeafPermutationIndex()) = i;
});
Copy link
Contributor Author

@aprokop aprokop Dec 14, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was actually a nice idea. Mostly, because it avoids all the semantics of when and how to store user primitives, or extra arrays. It completely bypasses this question, because it is possible to figure out reverse permutation from the leaf nodes, which are accessible during query.

src/details/ArborX_DetailsTreeTraversal.hpp Outdated Show resolved Hide resolved
@@ -417,6 +449,9 @@ DistributedTreeImpl<DeviceType>::queryDispatchImpl(
// recompute everything instead of just searching for potential better
// neighbors and updating the list.

CallbackWithDistance<BVH<typename DeviceType::memory_space>>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if I should try to fix it to something like std::decay_t<decltype(bottom_tree)>. It is still completely tied to BVH and won't work with anything else.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just add a comment before you merge

Copy link
Collaborator

@masterleinad masterleinad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks reasonable but can you please comment on the disabled tests?

src/details/ArborX_DetailsBoundingVolumeHierarchyImpl.hpp Outdated Show resolved Hide resolved
test/tstCallbacks.cpp Show resolved Hide resolved
test/tstCallbacks.cpp Outdated Show resolved Hide resolved
@aprokop
Copy link
Contributor Author

aprokop commented Dec 15, 2020

@masterleinad Thanks for the review. I'll fix exclusivePrefixSum once @dalg24 reviews, so that I can push them together.

src/details/ArborX_Callbacks.hpp Outdated Show resolved Hide resolved
src/details/ArborX_Callbacks.hpp Outdated Show resolved Hide resolved
src/details/ArborX_DetailsBoundingVolumeHierarchyImpl.hpp Outdated Show resolved Hide resolved
test/tstLinearBVH.cpp Outdated Show resolved Hide resolved
test/tstCallbacks.cpp Outdated Show resolved Hide resolved
test/tstCallbacks.cpp Outdated Show resolved Hide resolved
return make_compressed_storage(
Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace{}, offsets),
Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace{}, values));
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you mean to keep the distributed version?

#ifdef ARBORX_ENABLE_MPI
template <typename ExecutionSpace, typename Tree, typename Queries>
auto query_with_distance(ExecutionSpace const &exec_space, Tree const &tree,
Queries const &queries,
std::enable_if_t<is_distributed<Tree>{}> * = nullptr)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DistributedTree has a (deprecated) query dispatch that returns distances. If we want to maintain backwards compatibility, it has to be kept and tested.

src/details/ArborX_DetailsDistributedTreeImpl.hpp Outdated Show resolved Hide resolved
src/details/ArborX_DetailsDistributedTreeImpl.hpp Outdated Show resolved Hide resolved
src/ArborX_LinearBVH.hpp Outdated Show resolved Hide resolved
@aprokop
Copy link
Contributor Author

aprokop commented Dec 16, 2020

@masterleinad @dalg24 Should have addressed all your comments.

A friend declaration inside a class counts as a declaration, so if we
also declare that friend outside the class, that will trigger a
redundant declaration warning from this check.
@aprokop
Copy link
Contributor Author

aprokop commented Dec 16, 2020

PGI seems to fail sporadically, same error as in #430. PGI was running on cpu_node_4. Interestingly, when tests passed before, PGI was also running on cpu_node_4. So, despite running on the same node, it sometimes fail. 🤷

Copy link
Collaborator

@masterleinad masterleinad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fine with me.

Copy link
Contributor

@dalg24 dalg24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK with me after we clarify the Clang-Tidy check removal

src/details/ArborX_DetailsTreeTraversal.hpp Outdated Show resolved Hide resolved
.clang-tidy Outdated Show resolved Hide resolved
@aprokop
Copy link
Contributor Author

aprokop commented Dec 18, 2020

I changed to using friend class declaration instead of two friend functions. I also reverted clang-tidy check. @dalg24 This should address all your comments.

On a side note, I wasted a lot of time trying to figure out why it did not work. It was an easy thing of forgetting to include ArborX_Config.hpp which had ARBORX_ENABLE_MPI macro. But the compiler error was useless as it was simply saying that something is private but not why.

This is not the first time I got burned by forgetting to include that header. Does anyone know if we can have a check that if a file uses any macro with a name from the config file, the config file has to be included?

@masterleinad
Copy link
Collaborator

This is not the first time I got burned by forgetting to include that header. Does anyone know if we can have a check that if a file uses any macro with a name from the config file, the config file has to be included?

Our headers_self_contained test should do exactly that...

@aprokop
Copy link
Contributor Author

aprokop commented Dec 18, 2020

Our headers_self_contained test should do exactly that...

No. It only tests whether the standalone header can be compiled. But the issue here is that it can be compiled even when you use macros from the config header without including it. The protected code is simply compiled away.

@masterleinad
Copy link
Collaborator

If it includes a macro, it should be in ArborX_HEADERS_MUST_INCLUDE_CONFIG_HPP and for those we check that ArborX_Config.hpp is (transitively) included AFAICT.

@aprokop
Copy link
Contributor Author

aprokop commented Dec 18, 2020

If it includes a macro, it should be in ArborX_HEADERS_MUST_INCLUDE_CONFIG_HPP and for those we check that ArborX_Config.hpp is (transitively) included AFAICT.

I guess I got burned accidentally here, as this ArborX_LinearBVH.hpp was not part of ArborX_HEADERS_MUST_ENABLE_MPI (which are only files that include "mpi.h").

@aprokop
Copy link
Contributor Author

aprokop commented Dec 18, 2020

again HIP failure

@aprokop
Copy link
Contributor Author

aprokop commented Dec 18, 2020

retest this please

dalg24
dalg24 previously requested changes Dec 18, 2020
Copy link
Contributor

@dalg24 dalg24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not requesting change but making sure it does not get merged "too early".
I want to detect that the legacy signature is being used and provide a better error message via a failed static assertion.

@dalg24 dalg24 dismissed their stale review December 18, 2020 20:53

Unblocking now that error message is better

@aprokop
Copy link
Contributor Author

aprokop commented Dec 18, 2020

Another randomly failing test: distributed tree on PGI. Can be merged.

@aprokop
Copy link
Contributor Author

aprokop commented Dec 19, 2020

retest this please

@aprokop
Copy link
Contributor Author

aprokop commented Dec 19, 2020

@dalg24 You dismissed your review, but did not approve. Should I understand it as you are going to do a final look?

@@ -417,6 +449,9 @@ DistributedTreeImpl<DeviceType>::queryDispatchImpl(
// recompute everything instead of just searching for potential better
// neighbors and updating the list.

CallbackWithDistance<BVH<typename DeviceType::memory_space>>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just add a comment before you merge

@aprokop aprokop merged commit 2b59972 into arborx:master Dec 19, 2020
@aprokop aprokop deleted the nearest_callback branch December 19, 2020 03:04
@aprokop
Copy link
Contributor Author

aprokop commented Dec 19, 2020

@dalg24 thanks!

@dalg24 dalg24 mentioned this pull request Dec 21, 2020
@aprokop
Copy link
Contributor Author

aprokop commented Dec 21, 2020

I completely forgot to performance test this PR. And results look very fishy (I compared 6224c97 with 9c4ae2d):

  • smallest construction in Serial is 12% faster
  • OpenMP is significantly faster
  • smallest radius searching in Cuda are 10-25% slower

Serial

BM_construction<ArborX::BVH<Serial>>/10000/0/manual_time_median                                     -0.1081         -0.1099          2059          1836       
   2140          1905
BM_construction<ArborX::BVH<Serial>>/100000/0/manual_time_median                                    -0.0193         -0.0196         16528         16209         16601         16277
BM_construction<ArborX::BVH<Serial>>/1000000/0/manual_time_median                                   -0.0098         -0.0100        176096        174376        176610        174836
BM_construction<ArborX::BVH<Serial>>/10000/1/manual_time_median                                     -0.1001         -0.1000          2018          1816          2093          1883
BM_construction<ArborX::BVH<Serial>>/100000/1/manual_time_median                                    -0.0128         -0.0132         16215         16007         16288         16073
BM_construction<ArborX::BVH<Serial>>/1000000/1/manual_time_median                                   -0.0089         -0.0090        173518        171973        174037        172479
BM_knn_search<ArborX::BVH<Serial>>/10000/10000/10/1/0/2/manual_time_median                          +0.0018         +0.0018         53173         53269         53167         53265
BM_knn_search<ArborX::BVH<Serial>>/100000/100000/10/1/0/2/manual_time_median                        -0.0006         -0.0006        559762        559446        559705        559381
BM_knn_search<ArborX::BVH<Serial>>/1000000/1000000/10/1/0/2/manual_time_median                      -0.0003         -0.0002       5956651       5955020       5955968       5954490
BM_knn_search<ArborX::BVH<Serial>>/10000/10000/10/1/1/3/manual_time_median                          -0.0009         -0.0007         52970         52921         52966         52931
BM_knn_search<ArborX::BVH<Serial>>/100000/100000/10/1/1/3/manual_time_median                        -0.0041         -0.0041        717737        714774        717653        714703
BM_knn_search<ArborX::BVH<Serial>>/1000000/1000000/10/1/1/3/manual_time_median                      -0.0030         -0.0030       9956042       9925856       9955031       9924945
BM_knn_search<ArborX::BVH<Serial>>/10000/10000/10/0/0/2/manual_time_median                          -0.0029         -0.0029         54911         54750         54907         54747
BM_knn_search<ArborX::BVH<Serial>>/100000/100000/10/0/0/2/manual_time_median                        -0.0047         -0.0047        590200        587441        590130        587363
BM_knn_search<ArborX::BVH<Serial>>/1000000/1000000/10/0/0/2/manual_time_median                      -0.0032         -0.0031       6592393       6571571       6590117       6569598
BM_knn_search<ArborX::BVH<Serial>>/10000/10000/10/0/1/3/manual_time_median                          -0.0040         -0.0043         59494         59255         59507         59250
BM_knn_search<ArborX::BVH<Serial>>/100000/100000/10/0/1/3/manual_time_median                        -0.0028         -0.0028        833213        830907        833106        830800
BM_knn_search<ArborX::BVH<Serial>>/1000000/1000000/10/0/1/3/manual_time_median                      -0.0019         -0.0019      11915662      11892630      11911844      11889060
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/1/0/0/2/manual_time_median                     +0.0023         +0.0022         63722         63867         63716         63856
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/1/0/0/2/manual_time_median                   +0.0024         +0.0024        665791        667401        665712        667315
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/1/0/0/2/manual_time_median                 +0.0046         +0.0046       7036547       7068884       7035965       7068278
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/1/0/1/3/manual_time_median                     +0.0098         +0.0099         16192         16352         16192         16352
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/1/0/1/3/manual_time_median                   +0.0001         +0.0001        119361        119377        119349        119364
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/1/0/1/3/manual_time_median                 +0.0025         +0.0024       1151064       1153948       1150833       1153564
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/1/10/0/2/manual_time_median                    +0.0009         +0.0009         64731         64790         64726         64785
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/1/10/0/2/manual_time_median                  -0.0002         -0.0002        676198        676075        676121        675985
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/1/10/0/2/manual_time_median                -0.0000         -0.0000       7211730       7211538       7211274       7210964
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/1/10/1/3/manual_time_median                    +0.0043         +0.0044         16608         16680         16608         16681
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/1/10/1/3/manual_time_median                  -0.0005         -0.0005        121885        121829        121873        121817
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/1/10/1/3/manual_time_median                +0.0034         +0.0033       1175492       1179443       1175278       1179201
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/0/0/0/2/manual_time_median                     +0.0046         +0.0045         68042         68355         68040         68349
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/0/0/0/2/manual_time_median                   +0.0041         +0.0042        737005        740039        736899        739961
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/0/0/0/2/manual_time_median                 +0.0042         +0.0042       8414275       8449260       8411116       8446243
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/0/0/1/3/manual_time_median                     +0.0010         +0.0010         20555         20575         20555         20575
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/0/0/1/3/manual_time_median                   +0.0046         +0.0045        142436        143086        142425        143071
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/0/0/1/3/manual_time_median                 +0.0078         +0.0078       1158162       1167207       1157979       1167049
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/0/10/0/2/manual_time_median                    -0.0072         -0.0075         69717         69214         69711         69186
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/0/10/0/2/manual_time_median                  -0.0136         -0.0136        753933        743682        753830        743597
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/0/10/0/2/manual_time_median                -0.0117         -0.0116       8607678       8507355       8604592       8504369
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/0/10/1/3/manual_time_median                    -0.0086         -0.0086         21126         20945         21126         20944
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/0/10/1/3/manual_time_median                  -0.0098         -0.0097        146163        144733        146149        144725
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/0/10/1/3/manual_time_median                -0.0010         -0.0009       1186769       1185640       1186557       1185434

OpenMP

BM_construction<ArborX::BVH<OpenMP>>/10000/0/manual_time_median                                     -0.5354         -0.5472           728           338           769           348
BM_construction<ArborX::BVH<OpenMP>>/100000/0/manual_time_median                                    -0.1838         -0.1927          1906          1556          1946          1571
BM_construction<ArborX::BVH<OpenMP>>/1000000/0/manual_time_median                                   -0.0184         -0.0193         15021         14745         15610         15309
BM_construction<ArborX::BVH<OpenMP>>/10000/1/manual_time_median                                     -0.5204         -0.5332           732           351           774           361
BM_construction<ArborX::BVH<OpenMP>>/100000/1/manual_time_median                                    -0.1544         -0.1633          2060          1742          2100          1757
BM_construction<ArborX::BVH<OpenMP>>/1000000/1/manual_time_median                                   -0.0165         -0.0172         17730         17438         18319         18004
BM_knn_search<ArborX::BVH<OpenMP>>/10000/10000/10/1/0/2/manual_time_median                          -0.2332         -0.2330          2442          1873          2444          1875
BM_knn_search<ArborX::BVH<OpenMP>>/100000/100000/10/1/0/2/manual_time_median                        -0.0222         -0.0242         15985         15631         15627         15249
BM_knn_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/1/0/2/manual_time_median                      +0.0045         +0.0100        158674        159388        156496        158062
BM_knn_search<ArborX::BVH<OpenMP>>/10000/10000/10/1/1/3/manual_time_median                          -0.1992         -0.1991          2825          2262          2827          2264
BM_knn_search<ArborX::BVH<OpenMP>>/100000/100000/10/1/1/3/manual_time_median                        +0.0007         -0.0046         27227         27245         25434         25317
BM_knn_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/1/1/3/manual_time_median                      +0.0179         +0.0174        398966        406101        337496        343359
BM_knn_search<ArborX::BVH<OpenMP>>/10000/10000/10/0/0/2/manual_time_median                          -0.1564         -0.1565          1903          1606          1906          1607
BM_knn_search<ArborX::BVH<OpenMP>>/100000/100000/10/0/0/2/manual_time_median                        -0.0185         -0.0188         15289         15006         14562         14288
BM_knn_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/0/0/2/manual_time_median                      +0.0001         +0.0001        197218        197239        188041        188066
BM_knn_search<ArborX::BVH<OpenMP>>/10000/10000/10/0/1/3/manual_time_median                          -0.1490         -0.1489          2020          1719          2022          1721
BM_knn_search<ArborX::BVH<OpenMP>>/100000/100000/10/0/1/3/manual_time_median                        -0.0166         -0.0168         21146         20795         21142         20787
BM_knn_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/0/1/3/manual_time_median                      -0.0026         -0.0029        321454        320627        320370        319451
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/1/0/0/2/manual_time_median                     -0.1753         -0.1752          2551          2103          2553          2105
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/1/0/0/2/manual_time_median                   -0.0113         -0.0139         18911         18698         18262         18008
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/1/0/0/2/manual_time_median                 +0.0106         +0.0095        185265        187221        182654        184383
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/1/0/1/3/manual_time_median                     -0.2474         -0.3568          1703          1282          1480           952
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/1/0/1/3/manual_time_median                   -0.0480         -0.1125          8276          7879          3697          3281
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/1/0/1/3/manual_time_median                 -0.0055         -0.0077         69874         69493         30587         30352
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/1/10/0/2/manual_time_median                    -0.1865         -0.1865          2728          2219          2730          2221
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/1/10/0/2/manual_time_median                  -0.0140         -0.0161         19633         19357         18931         18626
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/1/10/0/2/manual_time_median                +0.0102         +0.0108        194040        196025        190930        192991
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/1/10/1/3/manual_time_median                    -0.2603         -0.3689          1863          1378          1596          1007
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/1/10/1/3/manual_time_median                  -0.0501         -0.1214          8617          8185          3836          3370
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/1/10/1/3/manual_time_median                -0.0023         -0.0067         72531         72364         31751         31539
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/0/0/0/2/manual_time_median                     -0.0817         -0.0818          2020          1855          2023          1857
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/0/0/0/2/manual_time_median                   -0.0075         -0.0075         18781         18640         18781         18641
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/0/0/0/2/manual_time_median                 -0.0016         -0.0031        259467        259042        256818        256014
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/0/0/1/3/manual_time_median                     -0.1929         -0.1927           868           701           871           703
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/0/0/1/3/manual_time_median                   -0.0486         -0.0489          4065          3868          4068          3870
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/0/0/1/3/manual_time_median                 -0.0048         -0.0033         29572         29431         28948         28852
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/0/10/0/2/manual_time_median                    -0.1063         -0.1063          2161          1932          2164          1934
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/0/10/0/2/manual_time_median                  -0.0126         -0.0125         19080         18840         19080         18841
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/0/10/0/2/manual_time_median                -0.0022         -0.0040        262680        262115        260015        258963
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/0/10/1/3/manual_time_median                    -0.2325         -0.2322           995           764           997           766
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/0/10/1/3/manual_time_median                  -0.0630         -0.0631          4256          3988          4258          3989
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/0/10/1/3/manual_time_median                -0.0091         -0.0068         30761         30479         30057         29853

Cuda

BM_construction<ArborX::BVH<Cuda>>/10000/0/manual_time_median                                       -0.0049         -0.0048          1405          1398          1420          1413
BM_construction<ArborX::BVH<Cuda>>/100000/0/manual_time_median                                      -0.0062         -0.0052          2149          2136          2540          2526
BM_construction<ArborX::BVH<Cuda>>/1000000/0/manual_time_median                                     +0.0042         -0.0037          6896          6925          7385          7358
BM_construction<ArborX::BVH<Cuda>>/10000/1/manual_time_median                                       -0.0047         -0.0049          1404          1398          1419          1412
BM_construction<ArborX::BVH<Cuda>>/100000/1/manual_time_median                                      -0.0043         -0.0051          2148          2139          2541          2528
BM_construction<ArborX::BVH<Cuda>>/1000000/1/manual_time_median                                     -0.0086         -0.0025          7144          7082          7388          7369
BM_knn_search<ArborX::BVH<Cuda>>/10000/10000/10/1/0/2/manual_time_median                            -0.0123         -0.0114          1573          1553          1665          1646
BM_knn_search<ArborX::BVH<Cuda>>/100000/100000/10/1/0/2/manual_time_median                          -0.0139         -0.0139          6463          6373          6931          6835
BM_knn_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/0/2/manual_time_median                        -0.0081         -0.0048         26891         26673         27654         27521
BM_knn_search<ArborX::BVH<Cuda>>/10000/10000/10/1/1/3/manual_time_median                            -0.0136         -0.0126          1621          1599          1712          1691
BM_knn_search<ArborX::BVH<Cuda>>/100000/100000/10/1/1/3/manual_time_median                          +0.0032         -0.0039          7233          7256          7692          7662
BM_knn_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/1/3/manual_time_median                        -0.0025         -0.0022         43712         43604         44554         44458
BM_knn_search<ArborX::BVH<Cuda>>/10000/10000/10/0/0/2/manual_time_median                            -0.0320         -0.0298          1201          1163          1293          1254
BM_knn_search<ArborX::BVH<Cuda>>/100000/100000/10/0/0/2/manual_time_median                          -0.0097         -0.0059          4703          4657          5121          5091
BM_knn_search<ArborX::BVH<Cuda>>/1000000/1000000/10/0/0/2/manual_time_median                        -0.0212         -0.0113         57813         56585         57891         57235
BM_knn_search<ArborX::BVH<Cuda>>/10000/10000/10/0/1/3/manual_time_median                            -0.0281         -0.0258          1256          1220          1346          1311
BM_knn_search<ArborX::BVH<Cuda>>/100000/100000/10/0/1/3/manual_time_median                          -0.0037         -0.0061          6778          6753          7237          7192
BM_knn_search<ArborX::BVH<Cuda>>/1000000/1000000/10/0/1/3/manual_time_median                        +0.0059         +0.0058         99864        100454        100758        101345
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/1/0/0/2/manual_time_median                       +0.1601         +0.1474           978          1134          1069          1227
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/1/0/0/2/manual_time_median                     +0.0511         +0.0485          3207          3371          3653          3830
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/0/0/2/manual_time_median                   +0.0113         +0.0085         16926         17116         17817         17970
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/1/0/1/3/manual_time_median                       +0.1772         +0.1618           909          1070          1001          1162
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/1/0/1/3/manual_time_median                     +0.0619         +0.0514          2468          2621          2931          3082
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/0/1/3/manual_time_median                   +0.0245         +0.0163          7755          7944          8581          8720
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/1/10/0/2/manual_time_median                      +0.1240         +0.1149          1096          1232          1188          1324
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/1/10/0/2/manual_time_median                    +0.0287         +0.0243          4210          4331          4684          4797
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/10/0/2/manual_time_median                  -0.0020         +0.0019         24483         24435         25272         25320
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/1/10/1/3/manual_time_median                      +0.1165         +0.1073          1019          1137          1111          1230
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/1/10/1/3/manual_time_median                    +0.0148         +0.0226          3728          3783          4150          4244
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/10/1/3/manual_time_median                  +0.0074         +0.0065          9888          9960         10729         10799
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/0/0/0/2/manual_time_median                       +0.2287         +0.2027           693           852           785           944
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/0/0/0/2/manual_time_median                     +0.0770         +0.0591          2065          2224          2538          2688
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/0/0/0/2/manual_time_median                   -0.0092         -0.0098         64732         64139         65634         64993
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/0/0/1/3/manual_time_median                       +0.2634         +0.2283           599           756           691           848
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/0/0/1/3/manual_time_median                     +0.1207         +0.0855          1322          1482          1788          1941
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/0/0/1/3/manual_time_median                   +0.0355         +0.0269          4972          5149          5812          5968
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/0/10/0/2/manual_time_median                      +0.1423         +0.1272           752           859           842           950
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/0/10/0/2/manual_time_median                    +0.0340         +0.0282          3145          3252          3618          3720
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/0/10/0/2/manual_time_median                  -0.0130         -0.0122         73682         72725         74493         73583
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/0/10/1/3/manual_time_median                      +0.1523         +0.1351           716           825           808           917
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/0/10/1/3/manual_time_median                    +0.0415         +0.0342          2389          2488          2852          2950
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/0/10/1/3/manual_time_median                  -0.0026         +0.0113          7175          7157          7798          7886

aprokop added a commit that referenced this pull request Dec 22, 2020
Fix performance regression introduced in #366
aprokop added a commit to aprokop/ArborX that referenced this pull request Dec 29, 2023
It is only used in the distributed testing, and does not test anything
useful. It prevents the refactoring of the DistributedTree as it reaches
inside the implementation which would vary between the old and new
interface.

Should have been removed as part of arborx#366.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API User visible interface modifications
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consider changing nearest callback signature to that of spatial (i.e., remove distance argument)
3 participants