diff --git a/HeterogeneousCore/AlpakaCore/test/BuildFile.xml b/HeterogeneousCore/AlpakaCore/test/BuildFile.xml index 558acc941298c..558bb3abae1f6 100644 --- a/HeterogeneousCore/AlpakaCore/test/BuildFile.xml +++ b/HeterogeneousCore/AlpakaCore/test/BuildFile.xml @@ -1,3 +1,10 @@ + + + + + + + diff --git a/HeterogeneousCore/AlpakaCore/test/alpaka/testFriendlyClassNames.cc b/HeterogeneousCore/AlpakaCore/test/alpaka/testFriendlyClassNames.cc new file mode 100644 index 0000000000000..395aadf3c7f0a --- /dev/null +++ b/HeterogeneousCore/AlpakaCore/test/alpaka/testFriendlyClassNames.cc @@ -0,0 +1,40 @@ +#define CATCH_CONFIG_MAIN +#include + +#include + +#include "FWCore/Utilities/interface/FriendlyName.h" +#include "FWCore/Utilities/interface/TypeDemangler.h" + +namespace { + + template + std::string getFriendlyName() { + return edm::friendlyname::friendlyName(edm::typeDemangle(typeid(T).name())); + } + +} // namespace + +TEST_CASE("Test edm::friendlyname::friendlyName for alpaka types ", "edm::friendlyname::friendlyName") { + SECTION("CPU") { + REQUIRE(getFriendlyName() == "alpakaDevCpu"); + REQUIRE(getFriendlyName() == "alpakaQueueCpuBlocking"); + REQUIRE(getFriendlyName() == "alpakaQueueCpuNonBlocking"); + } + +#ifdef ALPAKA_ACC_GPU_CUDA_ENABLED + SECTION("CUDA") { + REQUIRE(getFriendlyName() == "alpakaDevCudaRt"); + REQUIRE(getFriendlyName() == "alpakaQueueCudaRtBlocking"); + REQUIRE(getFriendlyName() == "alpakaQueueCudaRtNonBlocking"); + } +#endif + +#ifdef ALPAKA_ACC_GPU_HIP_ENABLED + SECTION("ROCm") { + REQUIRE(getFriendlyName() == "alpakaDevHipRt"); + REQUIRE(getFriendlyName() == "alpakaQueueHipRtBlocking"); + REQUIRE(getFriendlyName() == "alpakaQueueHipRtNonBlocking"); + } +#endif +}