1.7 (2024-09-03)
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:
Deprecations:
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)
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
andExperimental::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)
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)
Build Changes:
- Add support for Trilinos 14.0 #886
1.4 (2023-05-05)
New features:
Build changes:
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 withARBORX_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
andArborX::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)
New features:
Build changes:
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/
tobenchmarks/
#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
andDistributedTree
templated on a device type #706
Fixed bugs:
- Make sure default-initialized
BVH
andBruteForce
do not give undefined behavior #692 - Avoid use of uninitialized core distances in the minimum spanning tree #753
1.2 (2022-04-01)
New features:
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 theArborX
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)
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)
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
toAccessTraits::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)
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 ofDistributedTree
#396
0.9-beta (2020-06-10)
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 aKOKKOS_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 ofAccessTraits
#300
0.8-beta2 (2019-10-10)
New features:
Build changes:
- Replace TriBITS build system with "raw" CMake #14
- Rename
ArborX_ENABLE_XYZ
options toARBORX_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
withBox
#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: