Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DataFormats/PortableTestObjects/BuildFile.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<use name="DataFormats/Portable"/>
<use name="DataFormats/SoATemplate"/>
<use name="HeterogeneousCore/AlpakaInterface"/>
<flags ALPAKA_BACKENDS="1"/>
<flags ALPAKA_BACKENDS="cuda rocm"/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assuming this approach of having the "serial" data formats in the main (non-alpaka) directory becomes the preferred one, we should find a way to automate this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otherwise when we add a new backend, we need to go through all DataFormats and add it there, too.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see @smuzaffar opened an issue cms-sw/cmssw-config#93 to improve the syntax, so how about we proceed now with this approach and invert it later on? (I'd expect the improvement to be available before we would be adding a new backend)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The next "backend" we could add (even if more for testing purpose than for use in production) would probably be the CPU block-parallel one based on TBB.
If we add that, <flags ALPAKA_BACKENDS="cuda rocm"/> would still be the correct choice for any DataFormats.

So, yes, I agree we can move ahead with this approach, and improve things later.

<export>
<lib name="1"/>
</export>
4 changes: 0 additions & 4 deletions DataFormats/PortableTestObjects/src/alpaka/classes_serial.h

This file was deleted.

15 changes: 0 additions & 15 deletions DataFormats/PortableTestObjects/src/alpaka/classes_serial_def.xml

This file was deleted.

3 changes: 3 additions & 0 deletions DataFormats/PortableTestObjects/src/classes.h
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
#include "DataFormats/Common/interface/Wrapper.h"
#include "DataFormats/Portable/interface/Product.h"
#include "DataFormats/PortableTestObjects/interface/TestHostCollection.h"
#include "DataFormats/PortableTestObjects/interface/TestSoA.h"
14 changes: 14 additions & 0 deletions DataFormats/PortableTestObjects/src/classes_def.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,18 @@
<lcgdict>
<class name="portabletest::TestSoA"/>
<class name="portabletest::TestSoA::View"/>

<class name="portabletest::TestHostCollection"/>
<read
sourceClass="portabletest::TestHostCollection"
targetClass="portabletest::TestHostCollection"
version="[1-]"
source="portabletest::TestSoA layout_;"
target="buffer_,layout_,view_"
embed="false">
<![CDATA[
portabletest::TestHostCollection::ROOTReadStreamer(newObj, onfile.layout_);
]]>
</read>
<class name="edm::Wrapper<portabletest::TestHostCollection>" splitLevel="0"/>
</lcgdict>