Skip to content

Releases: acts-project/vecmem

VecMem 1.2.0

18 Dec 08:50
44f5b66
Compare
Choose a tag to compare

Release including the following update(s) since v1.1.0:

  • Added the previously missing const_data type to vecmem::edm::container;
  • Made vecmem::edm::data objects movable;
  • Changed how a lot of the templating in vecmem::copy would work;
    • Functions copying between two templated types are no longer ensuring through static_assert-s that the template types would be compatible with each other. Instead, these functions now use "a single" template type, and explicitly ask for constant views to be copied from, and non-constant views/containers to be copied into. Leaving it up to the view code to do any necessary type conversion itself.
    • This fixed an issue that prevented copying from a constant vecmem::edm::view object into a non-const one.

VecMem 1.1.0

12 Dec 16:51
7a99b1b
Compare
Choose a tag to compare

Release including the following update(s) since v1.0.0:

  • Made vecmem::details::aligned_multiple_placement work correctly with more than two types/arrays.
  • Fixed the logic for setting the size of a buffer with vecmem::copy. Making sure that the correct "copy direction" would be used in all circumstances.
  • Made SYCL source file builds generate and use dependency files correctly. To ensure that header file changes would trigger re-builds correctly.
  • Introduced vecmem::tuple as a lightweight tuple implementation, which works in device code.
    • The code is a copy of detray::tuple with some small modifications.
    • Empty tuples are not supported, as they were not needed so far.
  • Introduced the vecmem::edm namespace, and a whole set of classes/traits/functions therein, for efficient SoA EDM declarations.
    • While having taught vecmem::copy how to handle such SoA types as efficiently as possible.

VecMem 1.0.0

26 Oct 07:49
4d073e7
Compare
Choose a tag to compare

After the recent slight ABI changes around the memory resources, which ABI should be easier to keep stable, this is the first "proper release" of the project.

The changes since v0.27.0 are:

  • Changed / narrowed how various public classes export their symbols. Allowing for the removal of all warning suppressions from the public headers.
  • Fixed a warning on Windows in one of the CUDA tests.
  • Updated the project to use an AlmaLinux 9 based developer container with VS Code, and modernised the project's VS Code configuration slightly at the same time.

VecMem Beta 0.27.0

25 Sep 19:22
e91f798
Compare
Choose a tag to compare
VecMem Beta 0.27.0 Pre-release
Pre-release

Release including the following update(s) since v0.26.0:

  • Updated to GoogleTest v1.14.0, to avoid a warning with CMake >=3.27;
  • Multiple updates for better Windows support:
    • Disabled warnings about using STL types in the public interface of vecmem::sycl::async_copy;
    • Made SYCL DLL building work correctly with CMake >=3.27;
  • Introduced protections against using bool containers.

VecMem Beta 0.26.0

21 Jun 12:47
bbb712a
Compare
Choose a tag to compare
VecMem Beta 0.26.0 Pre-release
Pre-release

Release including the following update(s) since v0.25.0:

  • Introduced vecmem::sycl::local_accessor to make it easier to use local/shared memory in device code with different SYCL versions;
  • Made the code work correctly with the latest version (0.9.4) of OpenSYCL/hipSYCL;
  • Made all memory resources handle 0 sized allocation requests in the same way, by returning a nullptr (and not raising any errors);
  • Updated vecmem::data::jagged_vector_buffer not to request 0 sized allocations under any circumstance;
  • Improved the Doxygen documentation very slightly.

VecMem Beta 0.25.0

21 Apr 10:08
65ff87a
Compare
Choose a tag to compare
VecMem Beta 0.25.0 Pre-release
Pre-release

Release including the following update(s) since v0.24.0:

  • Added a second template argument to vecmem::device_atomic_ref, making it capable of operating on "local memory" with SYCL;
  • Added a <vecmem/version.hpp> auto-generated header file to the project.

VecMem Beta 0.24.0

29 Mar 11:14
89e9fc3
Compare
Choose a tag to compare
VecMem Beta 0.24.0 Pre-release
Pre-release

Release including the following update(s) since v0.23.0:

  • Introduced tests to make sure that all public headers in the project can be included on their own;
    • Fixed some minor cases where this was not true until now;
  • Made the project build without warnings when using -Wconversion with current GCC / Clang versions;
  • Changed the API of the constructors of vecmem::data::vector_buffer and vecmem::data::jagged_vector_buffer, to hopefully be a bit less error-prone.

VecMem Beta 0.23.0

24 Feb 09:27
e629b29
Compare
Choose a tag to compare
VecMem Beta 0.23.0 Pre-release
Pre-release

Release including the following update(s) since v0.22.0:

  • Introduced Doxygen documentation building for the project;
  • Made all remaining 64->32 bit conversions explicit in the code to avoid compiler warnings;
  • Made the atomic operation tests a bit more elaborate in device code, to help with debugging some remaining issues in Intel's SYCL compiler;
  • Made it possible to build the (SYCL sources of the) project using icx-cl.exe on Windows;
  • Made the vecmem::data::jagged_vector_buffer constructors accept not just std::size_t, but other unsigned integral type "size vectors" as well.

VecMem Beta 0.22.0

14 Dec 15:17
f8ba7eb
Compare
Choose a tag to compare
VecMem Beta 0.22.0 Pre-release
Pre-release

Release including the following update(s) since v0.21.0:

  • Added explicit support for building the project with hipSYCL;
    • At the same time made the build system a little more robust, and updated the list of platforms tested in the CI;
  • Made all "data owning" types default constructible;
  • Implemented a consistent set of constructor, assignment operators and comparison operators for all of the view types;
  • Introduced the VECMEM_FAIL_ON_WARNINGS flag to control whether -Werror (or an equivalent compiler flag) should be used in the build;
  • Introduced an asynchronous interface for vecmem::copy, updated all existing copy types to this asynchronous interface, and introduced vecmem::sycl::async_copy to support asynchronous copies with SYCL;
  • Made all functions on vecmem::copy const.

VecMem Beta 0.21.0

02 Nov 10:18
bdf5466
Compare
Choose a tag to compare
VecMem Beta 0.21.0 Pre-release
Pre-release

Release including the following update(s) since v0.20.0:

  • Removed the custom vecmem::sycl::device_selector class in order to make the project compatible with SYCL2020 v5.