Releases: acts-project/vecmem
Releases · acts-project/vecmem
VecMem 1.11.0
Release including the following update(s) since v1.10.0
:
- Made it mandatory to explicitly handle the event objects returned by
vecmem::copy
function calls; - Updated the logic of
vecmem::binary_page_memory_resource
, so that it would use a smaller memory cache in realistic use cases.
Full Changelog: v1.10.0...v1.11.0
VecMem 1.10.0
Release including the following update(s) since v1.9.0
:
- Fixed how containers with jagged variables would use proxies.
Full Changelog: v1.9.0...v1.10.0
VecMem 1.9.0
Release including the following update(s) since v1.8.0
:
- Introduced
vecmem::edm::proxy
, making it possible to use SoA containers with an AoS-like interface.
Full Changelog: v1.8.0...v1.9.0
VecMem 1.8.0
Release including the following update(s) since v1.7.0
:
- Re-wrote the
vecmem::device_atomic_ref
class, splitting it into multiple separate classes;- This would help with using atomic references with "complicated" compiler combinations;
- Re-wrote how public, compiler dependent flags would be set up on
vecmem::core
andvecmem::sycl
. These are now set according to the client's compiler, and are not frozen when compiling this project itself. - Introduced
vecmem::copy::get_size(...)
for SoA containers.
Full Changelog: v1.7.0...v1.8.0
VecMem 1.7.0
Release including the following update(s) since v1.6.0:
- Made the
vecmem::device_atomic_ref
constructorexplicit
, mimicking std::atomic_ref; - Removed the hack necessary for the Windows CI, introduced in #279;
- Fixed a technical issue with Ninja builds, by duplicating an
empty.sycl
file used during the CMake configuration; - Updated the way the externals are set up, allowing for the clients to override the exact version of googletest and benchmark used by the project;
- At the same time upgraded to the (current) latest release of googletest;
- Fixed a build issue in the SoA code with GCC 11, only showing up once a "complicated enough" container type would be used in practice.
VecMem 1.6.0
Release including the following update(s) since v1.5.0:
- Made
vecmem::device_atomic_ref<T>::compare_exchange_strong
work correctly with CUDA; - Made
vecmem::device_atomic_ref
generally behave atomically even on the host with GCC and Clang;- MSVC support, and some further code cleanup to come in the future;
- Added a concept for atomic references;
- Added (thread-safe) bulk reservation / extension operations to
vecmem::device_vector
; - Updated the CI build matrix to test for C++20 and C++23 (host) builds explicitly;
- At the same time introduced a (hopefully) temporary workaround for a GitHub runners issue with MSVC;
- Turned on the usage of
-fvisibility-ms-compat
for the main libraries when using a compiler that supports this flag; - Started using doxygen-awesome-css for generating the project's documentation.
VecMem 1.5.0
Release including the following update(s) since v1.4.0:
- Made the headers helping with atomic memory operations, work out of the box with HIP as well;
- Made the project work correctly with Xcode 15+.
VecMem 1.4.0
Release including the following update(s) since v1.3.0:
- Fixed the copy of 1D and jagged vectors, between buffers/views of different sizes. Getting rid of a false error, and making the code sensitive to errors that it didn't recognize before;
- Introduced support for HIP 6.X.Y;
- Disabled some of the on-device tests with the SoA code for devices not supporting FP64 operations;
- Made IDEs (mainly Visual Studio and Xcode) present the targets of the project in a folder structure;
- Re-wrote most of the testing code for
vecmem::copy
, making the tests a lot more thorough in the process; - Fixed multiple errors in
vecmem::copy
with asynchronous operations, which surfaced thanks to the more thorough testing.
VecMem 1.3.1
Release including the following update(s) since v1.3.0
:
- Fixed the copy of 1D and jagged vectors, between buffers/views of different sizes. Getting rid of a false error, and making the code sensitive to errors that it didn't recognize before.
VecMem 1.3.0
Release including the following update(s) since v1.2.0
:
- Introduced
vecmem::synchronized_memory_resource
;- It uses a simple mutex to execute operations on its upstream memory resource serially;
- Introduced
vecmem::pool_memory_resource
;- It is a copy of thrust::mr::disjoint_unsynchronized_pool_resource, modified to work as a
vecmem::memory_resource
;
- It is a copy of thrust::mr::disjoint_unsynchronized_pool_resource, modified to work as a
- Various updates and fixes to the HIP and SYCL build configuration. Making both of them "track header file changes", and generally handle "flag variables" more correctly.
- Fixed some warnings in the
vecmem::edm
testing code that showed up with MSVC.