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

Externalize crs graph #425

Merged
merged 22 commits into from
Dec 28, 2020
Merged

Externalize crs graph #425

merged 22 commits into from
Dec 28, 2020

Conversation

aprokop
Copy link
Contributor

@aprokop aprokop commented Dec 3, 2020

Most stuff is just shuffling things around. ArborX_DetailsCrsGraphWrapper.hpp combines most of ArborX_BoundingVolumeHierarchy.hpp with ArborX_DetailsBufferOptimization.hpp.

@aprokop aprokop added the refactoring Code reorganization label Dec 3, 2020
@masterleinad
Copy link
Collaborator

The performance benchmark results look OK

BM_radius_search<ArborX::BVH<Serial>>/1000/1000/10/1/0/0/2/manual_time_median                             -0.0214         -0.0214          5727          5605          5728          5605
BM_radius_callback_search<ArborX::BVH<Serial>>/1000/1000/10/1/0/0/2/manual_time_median                    -0.0118         -0.0118          2873          2839          2875          2841
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/1/0/0/2/manual_time_median                           -0.0201         -0.0201         64937         63631         64931         63626
BM_radius_callback_search<ArborX::BVH<Serial>>/10000/10000/10/1/0/0/2/manual_time_median                  -0.0120         -0.0120         32832         32438         32837         32443
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/1/0/0/2/manual_time_median                         -0.0196         -0.0196        677788        664514        677715        664437
BM_radius_callback_search<ArborX::BVH<Serial>>/100000/100000/10/1/0/0/2/manual_time_median                -0.0114         -0.0114        342598        338676        342627        338705
BM_radius_search<ArborX::BVH<Serial>>/1000/1000/10/1/0/1/3/manual_time_median                             -0.0212         -0.0213          2656          2600          2657          2601
BM_radius_callback_search<ArborX::BVH<Serial>>/1000/1000/10/1/0/1/3/manual_time_median                    -0.0086         -0.0086          1359          1348          1362          1350
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/1/0/1/3/manual_time_median                           -0.0153         -0.0153         16529         16276         16529         16276
BM_radius_callback_search<ArborX::BVH<Serial>>/10000/10000/10/1/0/1/3/manual_time_median                  -0.0110         -0.0110          8900          8802          8907          8809
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/1/0/1/3/manual_time_median                         -0.0011         -0.0010        120507        120377        120493        120367
BM_radius_callback_search<ArborX::BVH<Serial>>/100000/100000/10/1/0/1/3/manual_time_median                -0.0067         -0.0067         68535         68077         68594         68135
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/1/0/0/2/manual_time_median                             -0.0043         -0.0052           936           932          1020          1015
BM_radius_callback_search<ArborX::BVH<Cuda>>/10000/10000/10/1/0/0/2/manual_time_median                    +0.0019         +0.0014           426           427           484           485
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/1/0/0/2/manual_time_median                           -0.0018         -0.0037          2993          2988          3461          3448
BM_radius_callback_search<ArborX::BVH<Cuda>>/100000/100000/10/1/0/0/2/manual_time_median                  +0.0423         +0.0426          1589          1656          1652          1723
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/0/0/2/manual_time_median                         +0.0001         -0.0003         16836         16837         17729         17724
BM_radius_callback_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/0/0/2/manual_time_median                -0.0079         +0.0002          7277          7220          8196          8198
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/1/0/1/3/manual_time_median                             -0.0060         -0.0064           870           865           954           948
BM_radius_callback_search<ArborX::BVH<Cuda>>/10000/10000/10/1/0/1/3/manual_time_median                    +0.0011         +0.0008           395           396           453           453
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/1/0/1/3/manual_time_median                           -0.0039         -0.0034          2416          2407          2874          2864
BM_radius_callback_search<ArborX::BVH<Cuda>>/100000/100000/10/1/0/1/3/manual_time_median                  -0.0022         -0.0018          1405          1402          1470          1467
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/0/1/3/manual_time_median                         -0.0026         -0.0023          7659          7639          8500          8481
BM_radius_callback_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/0/1/3/manual_time_median                -0.0025         -0.0011          4086          4076          5072          5067

@aprokop
Copy link
Contributor Author

aprokop commented Dec 3, 2020

One thing that I think breaks the modularity is that buffer optimization have to know about the fact whether acceleration structure reorders queries inside or not. So, they are not completely independent. But it's still better, I think.

@aprokop
Copy link
Contributor Author

aprokop commented Dec 3, 2020

The performance benchmark results look OK

Thanks for posting. This is expected, as I did not touch buffer optimization code, except for making it run tree.query() without sorting. So, no performance code has been touched, only code was moved around.

@aprokop aprokop marked this pull request as ready for review December 7, 2020 20:54
@aprokop
Copy link
Contributor Author

aprokop commented Dec 7, 2020

The updated version got rid of CrsGraphWrapper struct, instead using free function ArborX::query_crs.

@aprokop
Copy link
Contributor Author

aprokop commented Dec 7, 2020

I think we need to understand of semantics of interaction of two-pass with the underlying data structure, and where preparation should happen (like sorting). But we can also kick the ball down the road, and postpone hard thinking.

@aprokop
Copy link
Contributor Author

aprokop commented Dec 7, 2020

Rebased on master (fixed conflicts with #427).

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.

Looks pretty good to me.
Is the code in details/ArborX_DetailsBufferOptimization.hpp still used?

Reviewing would have been much easier by clearing marking commits that only move code around.

I don't have a strong opinion about BoostRtree and would be fine. Thinking about compatibility later.

src/ArborX_CrsGraphWrapper.hpp Outdated Show resolved Hide resolved
src/ArborX_LinearBVH.hpp Outdated Show resolved Hide resolved
test/tstDetailsBufferOptimization.cpp Outdated Show resolved Hide resolved
test/tstDetailsBufferOptimization.cpp Outdated Show resolved Hide resolved
@aprokop
Copy link
Contributor Author

aprokop commented Dec 8, 2020

@masterleinad

Is the code in details/ArborX_DetailsBufferOptimization.hpp still used?

That code was moved to details/ArborX_CrsGraphWrapperImpl.hpp.

Reviewing would have been much easier by clearing marking commits that only move code around.

I understand that, but I could not find a simple way of just moving code around without breaks. Instead of spending a lot of time trying be very careful, I just ripped the bandage off.

@masterleinad
Copy link
Collaborator

Is the code in details/ArborX_DetailsBufferOptimization.hpp still used?

That code was moved to details/ArborX_CrsGraphWrapperImpl.hpp.

Yes, I realized that but you don't remove details/ArborX_DetailsBufferOptimization.hpp.

@aprokop
Copy link
Contributor Author

aprokop commented Dec 8, 2020

Yes, I realized that but you don't remove details/ArborX_DetailsBufferOptimization.hpp.

Huh... I guess I messed something up during the rebase, as this and details/ArborX_DetailsBoundingVolumeHierarchy.hpp should have been gone. Pushed the fix.

@masterleinad
Copy link
Collaborator

This patch works for me:

diff --git a/src/ArborX_CrsGraphWrapper.hpp b/src/ArborX_CrsGraphWrapper.hpp
index e91d70a..72695ad 100644
--- a/src/ArborX_CrsGraphWrapper.hpp
+++ b/src/ArborX_CrsGraphWrapper.hpp
@@ -24,9 +24,17 @@ inline void query_crs(ExecutionSpace const &space, Tree const &tree,
                       CallbackOrView &&callback_or_view, View &&view,
                       Args &&... args)
 {
-  Details::CrsGraphWrapperImpl::query(
-      space, tree, predicates, std::forward<CallbackOrView>(callback_or_view),
-      std::forward<View>(view), std::forward<Args>(args)...);
+  Details::CrsGraphWrapperImpl::
+      check_valid_callback_if_first_argument_is_not_a_view(callback_or_view,
+                                                           predicates, view);
+
+  using Access = AccessTraits<Predicates, Traits::PredicatesTag>;
+  using Tag = typename Details::AccessTraitsHelper<Access>::tag;
+
+  ArborX::Details::CrsGraphWrapperImpl::queryDispatch(
+      Tag{}, tree, space, predicates,
+      std::forward<CallbackOrView>(callback_or_view), std::forward<View>(view),
+      std::forward<Args>(args)...);
 }
 
 } // namespace ArborX
diff --git a/src/details/ArborX_DetailsCrsGraphWrapperImpl.hpp b/src/details/ArborX_DetailsCrsGraphWrapperImpl.hpp
index fe51cf4..dbadd47 100644
--- a/src/details/ArborX_DetailsCrsGraphWrapperImpl.hpp
+++ b/src/details/ArborX_DetailsCrsGraphWrapperImpl.hpp
@@ -610,24 +610,6 @@ check_valid_callback_if_first_argument_is_not_a_view(View const &,
   // do nothing
 }
 
-template <typename ExecutionSpace, typename Tree, typename Predicates,
-          typename CallbackOrView, typename View, typename... Args>
-inline std::enable_if_t<Kokkos::is_view<std::decay_t<View>>{}>
-query(ExecutionSpace const &space, Tree const &tree,
-      Predicates const &predicates, CallbackOrView &&callback_or_view,
-      View &&view, Args &&... args)
-{
-  check_valid_callback_if_first_argument_is_not_a_view(callback_or_view,
-                                                       predicates, view);
-
-  using Access = AccessTraits<Predicates, Traits::PredicatesTag>;
-  using Tag = typename AccessTraitsHelper<Access>::tag;
-
-  queryDispatch(Tag{}, tree, space, predicates,
-                std::forward<CallbackOrView>(callback_or_view),
-                std::forward<View>(view), std::forward<Args>(args)...);
-}
-
 } // namespace CrsGraphWrapperImpl
 
 } // namespace Details
diff --git a/test/tstDetailsBufferOptimization.cpp b/test/tstDetailsBufferOptimization.cpp
index 98878bf..af45977 100644
--- a/test/tstDetailsBufferOptimization.cpp
+++ b/test/tstDetailsBufferOptimization.cpp
@@ -27,13 +27,11 @@ struct Test1
             typename InsertGenerator>
   void query(ExecutionSpace const &space, Predicates const &predicates,
              InsertGenerator const &insert_generator,
-             ArborX::Experimental::TraversalPolicy const &policy =
+             ArborX::Experimental::TraversalPolicy const & =
                  ArborX::Experimental::TraversalPolicy()) const
   {
     using Access = ArborX::AccessTraits<Predicates, ArborX::PredicatesTag>;
 
-    std::ignore = policy;
-
     Kokkos::parallel_for(
         Kokkos::RangePolicy<ExecutionSpace>(space, 0, Access::size(predicates)),
         KOKKOS_LAMBDA(int predicate_index) {```

Co-authored-by: Daniel Arndt <arndtd@ornl.gov>
@aprokop
Copy link
Contributor Author

aprokop commented Dec 8, 2020

This patch works for me:

I'm OK applying it, but I want to see what @dalg24 says first.

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.

I strongly object to the free function name query_crs and suggest we call it just query.
I am also tempted to always take the tree as first argument.

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

aprokop commented Dec 8, 2020

I strongly object to the free function name query_crs and suggest we call it just query.

I'm OK with it. But lets say we want to introduce a function that stores the results in 2D format (like, CabanaMD). What do you propose to call that function? Or do you assume you can always figure out which one is called based on arguments? In addition, I find it a bit confusing with the proliferation of all query calls.

I am also tempted to always take the tree as first argument.

I have no strong arguments for either, and don't care.

@aprokop
Copy link
Contributor Author

aprokop commented Dec 9, 2020

I strongly object to the free function name query_crs and suggest we call it just query.

Decided not to waste time on this, and changed it as requested.

Co-authored-by: Daniel Arndt <arndtd@ornl.gov>
@aprokop
Copy link
Contributor Author

aprokop commented Dec 9, 2020

I addressed all comments. The only remaining thing seems to be a discussion about the place of sorting in the algorithm.

@aprokop
Copy link
Contributor Author

aprokop commented Dec 19, 2020

Merged master in and resolved all conflicts. Figured that this is the only easy way, as rebasing this branch on top of master would have meant to resolve conflicts multiple times for each individual commit.

@aprokop
Copy link
Contributor Author

aprokop commented Dec 19, 2020

I think there only two things remaining in this PR:

  • decide whether we want to abstract tying the buffer optimization from sorting queries somehow (which could be considered out of scope for this PR)
  • what to do with BoostRTree in the benchmark (ArborX::query could be specialized for Rtree as just no-op)

@aprokop
Copy link
Contributor Author

aprokop commented Dec 20, 2020

Fixed Boost thing. And I think it's ok to address the sorting issue in a separate PR. So, I think it is ready. Once I get the approvals, I will rerun the performance studies.

src/ArborX_LinearBVH.hpp Outdated Show resolved Hide resolved
src/ArborX_LinearBVH.hpp Outdated Show resolved Hide resolved
benchmarks/bvh_driver/bvh_driver.cpp Show resolved Hide resolved
examples/callback/example_callback.cpp Show resolved Hide resolved
src/ArborX_LinearBVH.hpp Show resolved Hide resolved
src/details/ArborX_DetailsPermutedData.hpp Show resolved Hide resolved
test/Search_UnitTestHelpers.hpp Show resolved Hide resolved
test/tstDetailsBufferOptimization.cpp Show resolved Hide resolved
test/tstLinearBVH.cpp Show resolved Hide resolved
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.

Should we hold on a bit longer before emitting deprecation warnings?

test/tstLinearBVH.cpp Show resolved Hide resolved
src/ArborX_LinearBVH.hpp Outdated Show resolved Hide resolved
test/Search_UnitTestHelpers.hpp Show resolved Hide resolved
@aprokop
Copy link
Contributor Author

aprokop commented Dec 23, 2020

Comparison of master (6368455) and pr (cc01971) reveals no regression:

BM_construction<ArborX::BVH<Serial>>/10000/0/manual_time_median                                     -0.0192         -0.0192          1984          1946          2059          2020
BM_construction<ArborX::BVH<Serial>>/100000/0/manual_time_median                                    -0.0113         -0.0114         16426         16239         16501         16313
BM_construction<ArborX::BVH<Serial>>/1000000/0/manual_time_median                                   -0.0123         -0.0123        176237        174076        176749        174572
BM_construction<ArborX::BVH<Serial>>/10000/1/manual_time_median                                     -0.0164         -0.0164          1942          1910          2018          1985
BM_construction<ArborX::BVH<Serial>>/100000/1/manual_time_median                                    -0.0152         -0.0154         16182         15936         16258         16007
BM_construction<ArborX::BVH<Serial>>/1000000/1/manual_time_median                                   -0.0171         -0.0171        173818        170854        174332        171343
BM_knn_search<ArborX::BVH<Serial>>/10000/10000/10/1/0/2/manual_time_median                          +0.0028         +0.0028         52998         53149         52994         53144
BM_knn_search<ArborX::BVH<Serial>>/100000/100000/10/1/0/2/manual_time_median                        -0.0009         -0.0009        558490        557994        558431        557931
BM_knn_search<ArborX::BVH<Serial>>/1000000/1000000/10/1/0/2/manual_time_median                      -0.0009         -0.0009       5945182       5940015       5944755       5939567
BM_knn_search<ArborX::BVH<Serial>>/10000/10000/10/1/1/3/manual_time_median                          +0.0050         +0.0049         52782         53045         52780         53041
BM_knn_search<ArborX::BVH<Serial>>/100000/100000/10/1/1/3/manual_time_median                        +0.0008         +0.0009        715884        716478        715803        716454
BM_knn_search<ArborX::BVH<Serial>>/1000000/1000000/10/1/1/3/manual_time_median                      +0.0016         +0.0016       9941990       9957898       9941115       9956985
BM_knn_search<ArborX::BVH<Serial>>/10000/10000/10/0/0/2/manual_time_median                          -0.0049         -0.0049         54630         54362         54627         54359
BM_knn_search<ArborX::BVH<Serial>>/100000/100000/10/0/0/2/manual_time_median                        -0.0070         -0.0071        588922        584774        588845        584690
BM_knn_search<ArborX::BVH<Serial>>/1000000/1000000/10/0/0/2/manual_time_median                      -0.0083         -0.0083       6604186       6549266       6602238       6547157
BM_knn_search<ArborX::BVH<Serial>>/10000/10000/10/0/1/3/manual_time_median                          -0.0062         -0.0062         59328         58963         59324         58959
BM_knn_search<ArborX::BVH<Serial>>/100000/100000/10/0/1/3/manual_time_median                        -0.0097         -0.0097        834818        826726        834714        826618
BM_knn_search<ArborX::BVH<Serial>>/1000000/1000000/10/0/1/3/manual_time_median                      -0.0096         -0.0096      11963553      11848581      11960243      11844947
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/1/0/0/2/manual_time_median                     +0.0041         +0.0041         64377         64642         64375         64637
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/1/0/0/2/manual_time_median                   +0.0034         +0.0034        672476        674740        672408        674703
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/1/0/0/2/manual_time_median                 +0.0032         +0.0032       7116505       7139280       7115983       7138662
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/1/0/1/3/manual_time_median                     +0.0032         +0.0032         16384         16436         16384         16436
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/1/0/1/3/manual_time_median                   +0.0010         +0.0010        119894        120016        119883        120001
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/1/0/1/3/manual_time_median                 +0.0023         +0.0024       1154120       1156783       1153794       1156563
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/1/10/0/2/manual_time_median                    -0.0068         -0.0068         65025         64580         65019         64578
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/1/10/0/2/manual_time_median                  -0.0078         -0.0078        677959        672658        677874        672578
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/1/10/0/2/manual_time_median                -0.0086         -0.0085       7240934       7178965       7240185       7178354
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/1/10/1/3/manual_time_median                    -0.0062         -0.0061         16640         16537         16638         16537
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/1/10/1/3/manual_time_median                  -0.0070         -0.0070        122232        121376        122221        121364
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/1/10/1/3/manual_time_median                -0.0025         -0.0025       1179857       1176854       1179628       1176637
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/0/0/0/2/manual_time_median                     -0.0034         -0.0034         68442         68210         68437         68204
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/0/0/0/2/manual_time_median                   -0.0053         -0.0053        741408        737489        741313        737411
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/0/0/0/2/manual_time_median                 -0.0073         -0.0073       8486085       8423859       8483097       8420806
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/0/0/1/3/manual_time_median                     -0.0042         -0.0042         20586         20499         20585         20499
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/0/0/1/3/manual_time_median                   -0.0080         -0.0080        142916        141772        142902        141759
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/0/0/1/3/manual_time_median                 -0.0112         -0.0111       1161288       1148318       1161079       1148153
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/0/10/0/2/manual_time_median                    -0.0033         -0.0033         69321         69095         69320         69089
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/0/10/0/2/manual_time_median                  -0.0075         -0.0074        747671        742089        747580        742030
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/0/10/0/2/manual_time_median                -0.0088         -0.0088       8571513       8496034       8568604       8492962
BM_radius_search<ArborX::BVH<Serial>>/10000/10000/10/0/10/1/3/manual_time_median                    +0.0005         +0.0005         20891         20901         20890         20901
BM_radius_search<ArborX::BVH<Serial>>/100000/100000/10/0/10/1/3/manual_time_median                  -0.0053         -0.0053        144680        143910        144663        143897
BM_radius_search<ArborX::BVH<Serial>>/1000000/1000000/10/0/10/1/3/manual_time_median                -0.0089         -0.0088       1180460       1169969       1180234       1169818
BM_construction<ArborX::BVH<OpenMP>>/10000/0/manual_time_median                                     -0.0230         -0.0239           591           577           621           606
BM_construction<ArborX::BVH<OpenMP>>/100000/0/manual_time_median                                    -0.0088         -0.0091          1776          1761          1811          1795
BM_construction<ArborX::BVH<OpenMP>>/1000000/0/manual_time_median                                   -0.0008         -0.0035         15054         15042         15648         15594
BM_construction<ArborX::BVH<OpenMP>>/10000/1/manual_time_median                                     -0.0222         -0.0234           597           584           628           613
BM_construction<ArborX::BVH<OpenMP>>/100000/1/manual_time_median                                    -0.0069         -0.0072          1940          1927          1975          1961
BM_construction<ArborX::BVH<OpenMP>>/1000000/1/manual_time_median                                   +0.0018         -0.0009         17737         17768         18334         18318
BM_knn_search<ArborX::BVH<OpenMP>>/10000/10000/10/1/0/2/manual_time_median                          -0.0088         -0.0089          2260          2240          2262          2242
BM_knn_search<ArborX::BVH<OpenMP>>/100000/100000/10/1/0/2/manual_time_median                        -0.0024         -0.0033         15921         15882         15554         15502
BM_knn_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/1/0/2/manual_time_median                      +0.0030         -0.0023        158960        159445        157618        157257
BM_knn_search<ArborX::BVH<OpenMP>>/10000/10000/10/1/1/3/manual_time_median                          -0.0071         -0.0071          2642          2623          2644          2625
BM_knn_search<ArborX::BVH<OpenMP>>/100000/100000/10/1/1/3/manual_time_median                        -0.0050         -0.0026         27423         27286         25489         25423
BM_knn_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/1/1/3/manual_time_median                      -0.0144         -0.0043        410041        404147        341522        340046
BM_knn_search<ArborX::BVH<OpenMP>>/10000/10000/10/0/0/2/manual_time_median                          +0.0007         +0.0004          1798          1800          1801          1802
BM_knn_search<ArborX::BVH<OpenMP>>/100000/100000/10/0/0/2/manual_time_median                        +0.0036         +0.0036         15171         15225         14449         14501
BM_knn_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/0/0/2/manual_time_median                      +0.0048         +0.0053        196895        197831        187612        188608
BM_knn_search<ArborX::BVH<OpenMP>>/10000/10000/10/0/1/3/manual_time_median                          +0.0032         +0.0033          1915          1921          1917          1924
BM_knn_search<ArborX::BVH<OpenMP>>/100000/100000/10/0/1/3/manual_time_median                        +0.0032         +0.0031         21051         21119         21048         21113
BM_knn_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/0/1/3/manual_time_median                      +0.0031         +0.0030        321307        322293        320339        321302
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/1/0/0/2/manual_time_median                     -0.0103         -0.0102          2381          2357          2383          2359
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/1/0/0/2/manual_time_median                   -0.0034         -0.0050         18803         18738         18139         18048
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/1/0/0/2/manual_time_median                 +0.0009         -0.0032        185110        185268        183126        182532
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/1/0/1/3/manual_time_median                     -0.0146         -0.0190          1546          1523          1323          1298
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/1/0/1/3/manual_time_median                   -0.0001         -0.0055          8111          8110          3539          3520
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/1/0/1/3/manual_time_median                 +0.0023         +0.0090         69837         69995         30411         30684
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/1/10/0/2/manual_time_median                    -0.0108         -0.0108          2534          2507          2536          2509
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/1/10/0/2/manual_time_median                  -0.0033         -0.0030         19458         19395         18738         18682
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/1/10/0/2/manual_time_median                +0.0009         -0.0016        193432        193611        191099        190788
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/1/10/1/3/manual_time_median                    -0.0116         -0.0239          1681          1661          1417          1383
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/1/10/1/3/manual_time_median                  -0.0010         -0.0055          8431          8422          3664          3644
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/1/10/1/3/manual_time_median                +0.0009         -0.0024         72513         72576         31854         31778
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/0/0/0/2/manual_time_median                     -0.0073         -0.0069          1952          1938          1954          1940
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/0/0/0/2/manual_time_median                   -0.0064         -0.0064         18728         18609         18729         18609
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/0/0/0/2/manual_time_median                 +0.0039         -0.0020        257132        258132        255968        255467
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/0/0/1/3/manual_time_median                     -0.0154         -0.0150           797           784           799           787
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/0/0/1/3/manual_time_median                   -0.0157         -0.0156          3978          3916          3980          3918
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/0/0/1/3/manual_time_median                 -0.0117         -0.0150         29510         29166         29003         28567
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/0/10/0/2/manual_time_median                    +0.0164         +0.0165          2068          2102          2071          2105
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/0/10/0/2/manual_time_median                  +0.0207         +0.0207         19003         19397         19003         19397
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/0/10/0/2/manual_time_median                +0.0221         +0.0146        260496        266260        259478        263267
BM_radius_search<ArborX::BVH<OpenMP>>/10000/10000/10/0/10/1/3/manual_time_median                    +0.0010         +0.0014           899           899           901           902
BM_radius_search<ArborX::BVH<OpenMP>>/100000/100000/10/0/10/1/3/manual_time_median                  +0.0042         +0.0043          4141          4158          4143          4161
BM_radius_search<ArborX::BVH<OpenMP>>/1000000/1000000/10/0/10/1/3/manual_time_median                +0.0081         -0.0005         30610         30859         30180         30165
BM_construction<ArborX::BVH<Cuda>>/10000/0/manual_time_median                                       +0.0436         +0.0056          1411          1473          1426          1434
BM_construction<ArborX::BVH<Cuda>>/100000/0/manual_time_median                                      +0.0129         +0.0017          2156          2184          2550          2554
BM_construction<ArborX::BVH<Cuda>>/1000000/0/manual_time_median                                     -0.0033         -0.0014          6935          6912          7413          7403
BM_construction<ArborX::BVH<Cuda>>/10000/1/manual_time_median                                       +0.0456         +0.0047          1410          1475          1425          1432
BM_construction<ArborX::BVH<Cuda>>/100000/1/manual_time_median                                      +0.0076         +0.0017          2159          2175          2550          2555
BM_construction<ArborX::BVH<Cuda>>/1000000/1/manual_time_median                                     -0.0114         -0.0021          6988          6908          7416          7400
BM_knn_search<ArborX::BVH<Cuda>>/10000/10000/10/1/0/2/manual_time_median                            -0.0127         -0.0110          1600          1580          1692          1674
BM_knn_search<ArborX::BVH<Cuda>>/100000/100000/10/1/0/2/manual_time_median                          +0.0160         -0.0010          6498          6602          6966          6959
BM_knn_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/0/2/manual_time_median                        +0.0065         +0.0076         26670         26844         27517         27726
BM_knn_search<ArborX::BVH<Cuda>>/10000/10000/10/1/1/3/manual_time_median                            +0.0015         +0.0026          1632          1634          1723          1727
BM_knn_search<ArborX::BVH<Cuda>>/100000/100000/10/1/1/3/manual_time_median                          +0.0026         +0.0024          7259          7278          7724          7743
BM_knn_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/1/3/manual_time_median                        +0.0171         +0.0157         43369         44110         44230         44922
BM_knn_search<ArborX::BVH<Cuda>>/10000/10000/10/0/0/2/manual_time_median                            -0.0097         -0.0079          1204          1193          1296          1286
BM_knn_search<ArborX::BVH<Cuda>>/100000/100000/10/0/0/2/manual_time_median                          +0.0044         +0.0047          4662          4683          5129          5153
BM_knn_search<ArborX::BVH<Cuda>>/1000000/1000000/10/0/0/2/manual_time_median                        +0.0088         +0.0006         56896         57397         57695         57727
BM_knn_search<ArborX::BVH<Cuda>>/10000/10000/10/0/1/3/manual_time_median                            +0.0067         +0.0077          1256          1264          1346          1356
BM_knn_search<ArborX::BVH<Cuda>>/100000/100000/10/0/1/3/manual_time_median                          +0.0144         +0.0168          6761          6858          7207          7328
BM_knn_search<ArborX::BVH<Cuda>>/1000000/1000000/10/0/1/3/manual_time_median                        -0.0045         -0.0032        100043         99593        100643        100316
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/1/0/0/2/manual_time_median                       +0.0056         +0.0067           967           973          1058          1066
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/1/0/0/2/manual_time_median                     +0.0062         +0.0055          3166          3186          3645          3665
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/0/0/2/manual_time_median                   -0.0054         -0.0010         16998         16905         17819         17802
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/1/0/1/3/manual_time_median                       +0.0117         +0.0124           896           907           988          1000
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/1/0/1/3/manual_time_median                     +0.0286         +0.0053          2459          2529          2925          2940
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/0/1/3/manual_time_median                   -0.0025         -0.0021          7730          7710          8580          8562
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/1/10/0/2/manual_time_median                      +0.0040         +0.0051          1102          1106          1193          1199
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/1/10/0/2/manual_time_median                    +0.0145         +0.0019          4237          4299          4707          4716
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/10/0/2/manual_time_median                  -0.0006         +0.0001         24411         24397         25298         25301
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/1/10/1/3/manual_time_median                      +0.0094         +0.0100          1023          1033          1115          1127
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/1/10/1/3/manual_time_median                    -0.0076         -0.0014          3733          3705          4177          4172
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/1/10/1/3/manual_time_median                  -0.0002         -0.0010          9915          9913         10767         10756
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/0/0/0/2/manual_time_median                       +0.0025         +0.0027           668           670           759           761
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/0/0/0/2/manual_time_median                     -0.0038         -0.0012          2058          2051          2529          2526
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/0/0/0/2/manual_time_median                   +0.0003         +0.0001         64542         64561         65422         65428
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/0/0/1/3/manual_time_median                       -0.0020         +0.0018           583           582           674           676
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/0/0/1/3/manual_time_median                     +0.0110         +0.0032          1309          1324          1779          1785
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/0/0/1/3/manual_time_median                   +0.0044         +0.0003          4943          4965          5794          5796
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/0/10/0/2/manual_time_median                      +0.0149         +0.0159           753           764           843           856
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/0/10/0/2/manual_time_median                    +0.0338         +0.0023          3159          3266          3636          3645
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/0/10/0/2/manual_time_median                  -0.0015         +0.0013         73707         73597         74371         74469
BM_radius_search<ArborX::BVH<Cuda>>/10000/10000/10/0/10/1/3/manual_time_median                      -0.0135         -0.0094           718           709           810           802
BM_radius_search<ArborX::BVH<Cuda>>/100000/100000/10/0/10/1/3/manual_time_median                    -0.0031         +0.0002          2416          2408          2871          2872
BM_radius_search<ArborX::BVH<Cuda>>/1000000/1000000/10/0/10/1/3/manual_time_median                  -0.0018         -0.0012          6976          6964          7822          7812

@aprokop
Copy link
Contributor Author

aprokop commented Dec 23, 2020

@dalg24 I addressed all your comments. This is ready for merge.

@aprokop aprokop merged commit 7040316 into arborx:master Dec 28, 2020
@aprokop aprokop deleted the ext_buffer branch December 28, 2020 16:06
@aprokop
Copy link
Contributor Author

aprokop commented Dec 28, 2020

Merged with SYCL test failed (see #442).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactoring Code reorganization
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants