File indexing completed on 2024-04-06 12:15:42
0001 #ifndef HeterogeneousCore_AlpakaTest_plugins_alpaka_TestAlgo_h
0002 #define HeterogeneousCore_AlpakaTest_plugins_alpaka_TestAlgo_h
0003
0004 #include "DataFormats/PortableTestObjects/interface/alpaka/TestDeviceCollection.h"
0005 #include "DataFormats/PortableTestObjects/interface/alpaka/TestDeviceObject.h"
0006 #include "HeterogeneousCore/AlpakaInterface/interface/config.h"
0007 #include "HeterogeneousCore/AlpakaTest/interface/alpaka/AlpakaESTestData.h"
0008
0009 namespace ALPAKA_ACCELERATOR_NAMESPACE {
0010
0011 class TestAlgo {
0012 public:
0013 void fill(Queue& queue, portabletest::TestDeviceCollection& collection, double xvalue = 0.) const;
0014 void fillObject(
0015 Queue& queue, portabletest::TestDeviceObject& object, double x, double y, double z, int32_t id) const;
0016
0017 portabletest::TestDeviceCollection update(Queue& queue,
0018 portabletest::TestDeviceCollection const& input,
0019 AlpakaESTestDataEDevice const& esData) const;
0020 portabletest::TestDeviceMultiCollection2 updateMulti2(Queue& queue,
0021 portabletest::TestDeviceMultiCollection2 const& input,
0022 AlpakaESTestDataEDevice const& esData) const;
0023 portabletest::TestDeviceMultiCollection3 updateMulti3(Queue& queue,
0024 portabletest::TestDeviceMultiCollection3 const& input,
0025 AlpakaESTestDataEDevice const& esData) const;
0026
0027 void fillMulti2(Queue& queue, portabletest::TestDeviceMultiCollection2& collection, double xvalue = 0.) const;
0028 void fillMulti3(Queue& queue, portabletest::TestDeviceMultiCollection3& collection, double xvalue = 0.) const;
0029 };
0030
0031 }
0032
0033 #endif