Extend the TrivialSerialisation mechanism to device products#50597
Conversation
|
enable gpu |
|
please test |
|
cms-bot internal usage |
f02bd48 to
ad39476
Compare
|
please test |
|
+heterogeneous |
|
A new Pull Request was created by @fwyzard for master. It involves the following packages:
@Moanwar, @civanch, @jfernan2, @kpedro88, @mandrenguyen, @mdhildreth, @srimanob can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
TrivialSerialisation mechanism to device products
|
@cms-sw/reconstruction-l2 can you sign this ? |
|
please test |
|
ignore tests-rejected with ib-failure |
|
+1 |
|
This pull request is fully signed and it will be integrated in one of the next master IBs after it passes the integration tests. This pull request will now be reviewed by the release team before it's merged. @ftenchini, @mandrenguyen, @sextonkennedy (and backports should be raised in the release meeting by the corresponding L2) |
|
+1 |
|
-1 Failed Tests: UnitTests Failed Unit TestsI found 1 errors in the following unit tests: ---> test testMPIAutosplitter had ERRORS Comparison SummarySummary:
AMD_MI300X Comparison SummarySummary:
AMD_W7900 Comparison SummarySummary:
NVIDIA_H100 Comparison SummarySummary:
NVIDIA_L40S Comparison SummarySummary:
|
|
@makortel @fwyzard, fwlite builds are failing[a] after this update . Looks like we need to add both |
|
I don't know what are the downsides of adding An alternative would be to remove What is the list of packages that we include in or exclude from fwlite ? |
|
@fwyzard , fwlite build set is available at https://github.com/cms-sw/cmsdist/blob/IB/CMSSW_16_1_X/master/fwlite_build_set.file . ah I see that |
|
OK, then adding |
|
I agree, adding |
|
type ngt |
PR description:
Reimplementation of #50154.
This adds support for device products to the serialisation mechanism under
HeterogeneousCore/TrivialSerialisation.It implements an alpaka Plugin Factory under
HeterogeneousCore/TrivialSerialisation/interface/alpaka/similar to the existing host one. Some of the features of this new Plugin Factory are:.sofiles define the same plugin from the same factory, for separate backends. The factory registration is as follows:DEFINE_TRIVIAL_SERIALISER_PLUGIN_DEVICE(TYPE)macro, whereTYPEis the inner product type (e.g. PortableDeviceCollection<...>), not wrapped in DeviceProduct. The plugins are registered under both the mangled typeid name and EDM_STRINGIZE(TYPE). EDM_STRINGIZE(TYPE) is more human-readable, and thus more suitable for Python configuration files.For example, a plugin might be registered as follows:
DEFINE_TRIVIAL_SERIALISER_PLUGIN_DEVICE(hcal::RecHitDeviceCollection);and then referred to from a configuration:
This feature is also added to the existing non-alpaka serialiser plugin factory.
This PR also adds plugin definitions for various types in DataFormats.
PR validation:
The following tests are included in the PR:
DataFormats/TrivialSerialisation/test/alpaka/test_catch2_MemoryCopyTraitsPortable.dev.ccHeterogeneousCore/TrivialSerialisation/test/alpaka/test_catch2_portableCollectionsSerialiserPluginFactory.dev.ccA description of the tests are included at the top of each file.
All tests pass.