Virtual Memory is now called IML and separate
The virtual memory layer of GPI-Space has been factored out to become a separate component, the “Independent Memory Layer”, short IML. It is still shipped with GPI-Space and the APIs are backwards compatible.
GPI-Space has learned to use an externally started IML rather than
bootstrapping its own. This allows applications to keep an IML alive
across runs to cache data, or to allow preparing and extracting data
independent of GPI-Space. The socket of an external IML can be
specified with the
--remote-iml-vmem-socket option, which needs to
point to the IML server on all hosts used by the runtime system.
The independent API is available in
include/iml/. It can be used
independently from GPI-Space by using
CMake “config” file now provided
GPI-Space now provides a CMake package config file to replace
find_package (GPISpace) will now find
GPI-Space by searching
CMAKE_PREFIX_PATH (see documentation of CMake’s
beautify_find_gpispace.cmake will need to update
that script and remove their copy of
FindGPISpace.cmake. The script
was updated to be backwards compatible with the existing arguments.
find_package (GPISpace) need to change how the
version requirement is specified as the standard CMake syntax is now
# old find_package (GPISpace REQUIRED COMPONENTS VERSION=20.12) # new find_package (GPISpace 21.03 EXACT REQUIRED)
REVISION has been removed. Its usage will cause an
beautify_find_gpispace handling of
VERSION has been
FindGPISpace.cmake script is no longer supported and was
removed from the repository.
Expression plugins: Nest exceptions, print context
When a plugin callback throws an exception, then the exception is wrapped by an runtime_error that adds the evaluation context to the error message.
That frees clients from adding the context and helps developers to debug plugins.
- Information about dependencies found are no longer hidden when configuring.
- The XSD and RNC schemas now specify the attribute
allow-empty-rangesat the correct location.
<memory-buffer read_only="false">, rather than treating presence of the attribute as
- Petri-net modules no longer link against
- Fix error handling in client when receiving data in case of disconnection.
- Fixed races between event handlers and layer callbacks in agent that
Error: reason := receiving response failed: asio. misc:2 code := 2in rare cases.
Allow multiple specializations of templates with module calls
It is now possible to use multiple specializations of templates that
contain module calls. In order to get unique wrappers, the type map is
mangled into the function name, e.g. if a template with the type
T is specialized by
int the function name is extended by
Allow the users to enable/disable building the tests by forcing the system to
properly handle the CMake
- Various improvements have been made to the README document to ease installation process of dependencies and GPI-Space and testing a fresh installation.
- The upper Boost version requirement of 1.63.0 is now enforced when configuring.
- The XSD and RNC schemas now document defaults.