Releases: acts-project/vecmem
Releases · acts-project/vecmem
VecMem Beta 0.12.0
Release including the following update(s) since v0.11.0:
- Explicitly switched the CI to using Visual Studio 2022 on the
windows-latest
runners; - Updated
vecmem::atomic
to usesycl::atomic_ref
with a SYCL compiler, if that type is available;- This is necessary as
sycl::atomic
became deprecated in the latest Intel compiler nightlies;
- This is necessary as
- Introduced
vecmem::device_atomic_ref
as a slightly updated version ofvecmem::atomic
, which all clients should migrate to;- Updated
vecmem::device_vector
to use this new type itself.
- Updated
VecMem Beta 0.11.0
Release including the following update(s) since v0.10.0:
- Made the CUDA build compatible with non-NVCC compilers;
- Made sure to use the dynamic CUDA runtime library during the build of
.cu
files, to be compatible with how.cxx
files are linked against the CUDA runtime library.
VecMem Beta 0.10.0
Release including the following update(s) since v0.9.0:
- Introduced a generic / robust way of aligning multiple pointers in typeless memory allocations at once;
- The previous hacky code in jagged vectors was replaced with this much more elegant one for ensuring that any payload type in jagged vectors would be handled correctly;
- Added multiple fixes / improvements for handling SYCL source files;
- The
-Werror
flag is now only turned on if the compiler doesn't print any "inherent" warnings (which can be the case with some compilers under some situations); - Switched to building
vecmem::sycl_polyfill
with-fPIC
; - Taught CMake which include directories and libraries are handled by the SYCL compiler implicitly, to avoid it adding
/usr/include
into compilation commands.
- The
VecMem Beta 0.9.0
Release including the following update(s) since v0.8.0:
- Added various types of smart pointers that would use memory resources explicitly, and upgraded the classes that need to own memory, to use these smart pointers consistently;
- Reduced the number of allocations performed by
vecmem::arena_memory_resource
under certain situations; - Introduced explicit support for ComputeCpp in the project, and made sure that it could also be compiled using hipSYCL;
- The test success rate with both compilers is fairly low at the moment;
- Fixed the alignment of the elements in (jagged) vector buffers that are larger than 32-bit, fixing issues with using such buffers on NVIDIA cards.
VecMem Beta 0.8.0
Release including the following update(s) since v0.7.0:
- Fixes for the SYCL tests to make them (more) compatible with oneAPI's AMD backend support;
- Made
vecmem::core
require MSVC to set the__cplusplus
macro correctly, as a public compiler option; - Introduced
vecmem::cuda::async_copy
to allow experimentation with asynchronous memory copies; - Made GCC/Clang check for missing symbols in the shared libraries built in the project;
- Introduced some benchmarks for "simple" memory allocations;
- Made
vecmem::static_array
behave even more likestd::array
, by removing its custom constructors, allowing it to hold non-copyable/non-movable elements as well; - Made
vecmem::cuda::stream_wrapper
usable in.cu
files on Windows; - Made it possible to check for memory leaks on NVidia devices in the CUDA tests.
VecMem Beta 0.7.0
Release including the following update(s) since v0.6.0:
- Made the project export/install the CMake code that it uses internally for building SYCL and HIP code. So that clients of the project could make use of the same code for building their own SYCL and HIP sources.
VecMem Beta 0.6.0
Release including the following updates since v0.5.0:
- Added 5 "high level" memory resources for implementing conditional memory allocation schemes;
- Added a memory resource meant to help with debugging memory allocation issues;
- Made the project's build system compatible with the latest updates in intel/llvm;
- Added multiple updates to the test system used by the project;
- Introduced
vecmem::static_array::get
andvecmem::get
functions for accessing elements ofvecmem::static_array
objects.
VecMem Beta 0.5.0
Release containing many fixes and new features since v0.4.0:
- Support for CMake 3.21 and HIP 4.2 has been added;
- Explicit symbol visibility has been added to improve LTO and Windows support;
- The project can now be built as a Windows DLL;
- A new downstream arena memory resource has been added;
- An instrumenting memory resource and memory monitor have been added to monitor allocation patterns;
- The test suite has been improved to catch even more bugs;
- Support for SYCL has been improved.
VecMem Beta 0.4.0
Release including the following updates since v0.3.0:
- Added support for building the project on Windows (10) with MSVC;
- Made it possible to use the oneAPI Windows installation as well;
- Added more support for macOS builds;
- Disabled a warning from the internal GoogleTest build, only showing up on macOS;
- Provided some
std::pmr
functions thatlibc++
does not provide at the moment;
- Made it possible to use
vecmem::static_array
objects asconstexpr
objects; - Fixed a bug in how
vecmem::binary_page_memory_resource
would de-allocate memory; - Extended the (CI) tests to more platforms and more use cases.
VecMem Beta 0.3.0
Release including a few quality of live improvements after v0.2.0.
- Made the usage of HIP and SYCL a bit more robust, both of them using the
HIPCXX
andSYCLCXX
environment variables, respectively; - Updated the code formatting slightly in some places;
- Introduced additional compilation warnings for the build;
- Improved the performance of jagged vector buffers a bit;
- Made
vecmem/memory/memory_resource.hpp
andvecmem/memory/polymorphic_allocator.hpp
choose the source of the classes that they use, during the CMake configuration step.