Skip to content

Latest commit

 

History

History
348 lines (249 loc) · 21.2 KB

CHANGELOG.md

File metadata and controls

348 lines (249 loc) · 21.2 KB

Changelog

1.7 (2024-09-03)

Full Changelog

New features:

  • Distributed tree: add support for a nearest query with a callback [EXPERIMENTAL] #1075
  • Distributed tree: add support for a spatial query only taking a callback #733

Build Changes:

  • Require Kokkos 4.2.00 #1054

Enhancements:

  • Implement box-triangle intersection #1059
  • Add tetrahedron geometry [EXPERIMENTAL] #1079
  • Expand KDOP to support different dimensions and precision [EXPERIMENTAL] #982
  • Add 2D KDOP geometries [EXERIMENTAL] #1088
  • Improve performance of the distributed algorithms #1098, #1103
  • Add make_ordered_intersects helper function to implicitly construct ordered intersect queries for a set of geometries [EXPERIMENTAL] #1117

Backward incompatible changes:

  • Remove deprecated InlineCallbackTag #1078
  • Remove deprecated Traits::Access #1078

Deprecations:

  • Deprecate += and reduction_identity for Box #1082
  • Deprecate += in KDOP #982

Fixed bugs:

  • Fix a Kokkos bounds check warning reported when using FDBSCAN-DenseBox #1067
  • Fix DBSCAN test on Intel GPUs #1112
  • Fix policy warning when using CMake 3.30 with Boost #1123
  • Fix geometry traits for const geometries #1129

1.6 (2024-04-11)

Full Changelog

New features:

  • Introduce new API for ArborX indexes (EXPERIMENTAL) #970, #1017
  • Add Moving Least Squares (MLS) interpolation (EXPERIMENTAL) #946, #992, #1000

Build Changes:

  • Require Kokkos 4.1.00 #973

Enhancements:

  • Introduce PairValueIndex and Experimental::attach_indices #969, #1016, #1036
  • Improve examples #1008, #1009, #936
  • Auto-fetch Google benchmark when not found locally #1039
  • Allow default initialized distributed tree #1040
  • Implement distance point-triangle #1046
  • Implement nearest query for BruteForce #1053
  • Add helper functions to construct predicates #1038
  • Add an example of a distributed tree k-nearest neighbors search #724
  • Add triangulated surface distance benchmark #1052

Deprecations:

  • Deprecate min, max, minMax #998
  • Deprecate iota, exclusivePrefixSum, accumulate, adjacentDifference #999

Fixed bugs:

  • Fixed CUDA build warning #1010
  • Fixed HIP build with ROCm 6 #1030
  • Fixed FDBSCAN-DenseBox issue with user provided AccessTraits #1045
  • Fixed stream destruction order in CUDA access traits example and execution spaces benchmark #1050

1.5 (2023-12-16)

Full Changelog

Build Changes:

  • Require Kokkos 4.0.00 #895

Enhancements:

  • Add a multi-dimensional triangle (EXPERIMENTAL) #916
  • Add example of triangle-point intersections #542
  • Allow running individual queries in non-batch mode (EXPERIMENTAL) #917
  • Support for MSVC (core only) #908

Fixed bugs:

  • Fix compilation for CUDA-12.2 #933
  • Fix a bug in the dendrogram generation #955
  • Fix compilation for C++20 #884

1.4.1 (2023-06-08)

Full Changelog

Build Changes:

  • Add support for Trilinos 14.0 #886

1.4 (2023-05-05)

Full Changelog

New features:

Build changes:

  • Require Kokkos 3.7.01 #834, #749
  • Require Google Benchmark 1.5.4 when building benchmarks #799

Enhancements:

  • Add a faster implementation of the union-find for Serial #767, #780
  • Annotate fences #805
  • Improve performance of FDBSCAN #810
  • Add new facility to find "half" or "full" neighbor lists (EXPERIMENTAL) #809, #812
  • Introduce ArborX::PairIndexRank #819
  • Reduce memory consumption when sending data in DistributedTree #829
  • Avoid extra copy when sending across network in sendAcrossNetwork #830
  • Deprecate ARBORX_USE_CUDA_AWARE_MPI and replace it with ARBORX_USE_GPU_AWARE_MPI #828
  • Allow 7D data #853, #854

Backward incompatible changes:

  • Remove deprecated queryDispatch calls in the distributed tree #793
  • Remove volatile overloads in ArborX::Box and ArborX::Point #838

Fixed bugs:

  • Fix a bug when using distributed tree with rays #786
  • Fix undefined behavior when parsing boolean options in DBSCAN benchmark #804
  • Fix compilation for CUDA 11.0-11.3 #850

1.3 (2022-10-18)

Full Changelog

New features:

Build changes:

  • Require C++17 #715
  • Require Kokkos 3.6 #748

Enhancements:

  • Switch to using stackless spatial traversal for all backends #672
  • Add ordered tree traversal (EXPERIMENTAL) #683
  • Add a ray-tracing example using ordered tree traversal #691
  • Add distance() function to the nearest predicate #700
  • Template BruteForce on bounding volume #712
  • Throw an exception when FDBSCAN-DenseBox may potentially produce wrong result #560
  • Migrate full DBSCAN driver from examples/ to benchmarks/ #736
  • Add a DBSCAN example #763

Backward incompatible changes:

  • Fail compilation when using the old ArborX::Traits interface #667
  • Remove deprecated BVH version templated on a device type #705
  • Remove deprecated DistributedSearchTree and DistributedTree templated on a device type #706

Fixed bugs:

  • Make sure default-initialized BVH and BruteForce do not give undefined behavior #692
  • Avoid use of uninitialized core distances in the minimum spanning tree #753

1.2 (2022-04-01)

Full Changelog

New features:

  • Implement Euclidean minimum spanning tree algorithm (EXPERIMENTAL) #624, #631, #661

Build changes:

  • Require Kokkos 3.4 #578

Enhancements:

  • Indicate the status of the worktree in the hash string ("-dirty") #558
  • Check valid callback and space accessibility #563
  • Add a molecular dynamics example #564
  • Improve performance of the HIP backend when using HIP-Clang #575
  • Add Point-Sphere intersection algorithm #584
  • Avoid host copy in distributed tree construction when using CUDA-aware MPI #597
  • Print Kokkos version during configuration #609
  • Improve performance of the brute force algorithm #616
  • Use 64-bit Morton indices by default in the construction #637
  • Allow alternate space filling curves (EXPERIMENTAL) #646
  • Add ray-triangle intersection algorithm #617

Deprecations:

  • Deprecate lastElement helper function in the ArborX namespace #648
  • Deprecate ArborX::InlineCallbackTag #656

Fixed bugs:

  • Fix the exit status of the DBSCAN example #566
  • Bring DBSCAN README documentation in line with the code #568, #668
  • Fix a race condition in the BVH construction #579
  • Fix a bug in the nearest search using the DistributedTree #653

1.1 (2021-09-23)

Full Changelog

New features:

  • Allow k-DOP as a bounding volume in BVH #386

Enhancements:

  • Store a dimension value in a DBSCAN datafile #523
  • Enable knn queries with spheres and boxes #495 and #494
  • Use double-precision floating-points to normalize Ray direction #535
  • Improve performance of the brute force algorithm #534
  • Improve performance of the DBSCAN algorithm (new FDBSCAN-DenseBox algorithm) #508
  • Allow non-View input for DBSCAN #509
  • Install CMake package version file #521
  • Add a simple intersection example #513
  • Improve performance for the SYCL backend through the use of oneDPL for sorting #456

Fixed bugs:

  • Fix a bug in DBSCAN noise marking #525

1.0 (2021-03-13)

Full Changelog

New features:

  • Allow early termination of a traversal by a thread #427
  • Implement DBSCAN clustering algorithm #331
  • Implement brute-force algorithm #468
  • Add initial ray-tracing support #414 and #461

Build changes:

  • Require CMake 3.16 #486

Enhancements:

  • Add KOKKOS_FUNCTION to AccessTraits::size() in View specialization #463
  • Add query() free function #425
  • Improve performance for the HIP backend through the use of rocThrust for sorting #424
  • Support for SYCL and OpenMPTarget #422

Backward incompatible changes:

  • Change signature of the nearest callback #366

1.0-rc0 (2020-10-03)

Full Changelog

New features:

  • New BVH::query() overload that only takes predicates and callback #329

Enhancements:

  • Implement stackless tree traversal using escape index (ropes) #364
  • Add support for Kokkos HIP backend #236
  • Ensure that all kernels and memory allocations are prefixed with ArborX:: #362 and #380
  • Improve performance of knn traversal #357
  • Add new query overloads for the distributed tree #356
  • Increase performance of the BVH construction #350
  • Allow non device type template parameter for output views in query() on distributed trees #349

Fixed bugs:

  • Fix double free when making copies of a distributed tree #369
  • Resolve duplicate Details::toBufferStatus(int) symbol error downstream #360
  • Fix narrowing conversion warnings #343

Deprecations:

  • Deprecate DistributedSearchTree in favor of DistributedTree #396

0.9-beta (2020-06-10)

Full Changelog

New features:

  • Enable user-defined callback in BVH search #166
  • Make predicates sorting optional #243
  • Use user-provided execution space instances #250
  • Implement algorithm for finding strongly connected components (halo finder) #237
  • Store bounding boxes in single-precision floating-point format #235
  • Allow usage of CUDA-aware MPI #162

Build changes:

  • Require Kokkos 3.1 #268
  • Require C++14 standard when building ArborX #226
  • Require Kokkos CMake build #93

Enhancements:

  • Template BVH on memory space #251
  • Add example for callbacks and lift requirement for tagging inline #325
  • Enable building against Trilinos' Kokkos installation #156
  • Add access traits CUDA example #107
  • Let BVH::bounds() be a KOKKOS_FUNCTION #326
  • Improve performance of the radius search #306
  • Improve performance of the kNN search #308
  • Retain the original path to Kokkos #287
  • Disable tests, examples, benchmarks by default #284
  • Template distributed search tree on the memory space #260
  • Enable predicates access traits in distributed search tree #196
  • Set default build type to RelWithDebInfo #188
  • Remove all fences #150
  • Improve performance for sorting with CUDA by using Thrust #147
  • Improve compilation error messages produced by BVH::query() #279

Fixed bugs:

  • Fix ambiguity in queryDispatch() overload resolution #293
  • Properly update hash in version file when building from subdirs #266
  • Avoid second pass for radius search when the results are empty #240
  • Avoid more compiler warnings for nvcc_wrapper #185
  • Fix segfault in Distributor #296
  • Allow non device type template parameter for output views in BVH::query() #271

Deprecations:

  • Deprecate Traits::Access in favor of AccessTraits #300

0.8-beta2 (2019-10-10)

Full Changelog

New features:

  • Provide access traits for predicates #117
  • Add version() and gitCommitHash() #61

Build changes:

  • Replace TriBITS build system with "raw" CMake #14
  • Rename ArborX_ENABLE_XYZ options to ARBORX_ENABLE_XYZ #99
  • Provide an option to disable tests and examples #31
  • Make MPI dependency optional #42

Enhancements:

  • Use MPI_Comm_dup to separate ArborX comm context from user's #135
  • Add CMake option for enabling benchmarks #138
  • Add intersection of a Point with Box #122
  • Improve error messages in BVH constructor and BVH::query() #113
  • Relax CudaUVM requirement #24
  • Find Boost in subdirectories that actually require it #22

Fixed bugs:

  • Optimize communication within the same rank #134
  • Fix for distributed searches with large count of results per query #129