Skip to content

Commit 0843952

Browse files
authored
Merge pull request #47669 from fwyzard/test_alpaka_friendly_class_names
Add a unit test for alpaka types' friendly class names
2 parents 05ff310 + 3a0e80c commit 0843952

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
11
<test name="testAlpakaBackendFilter" command="cmsRun ${LOCALTOP}/src/HeterogeneousCore/AlpakaCore/test/testAlpakaBackendFilter.py">
22
<flags ALPAKA_BACKENDS="1"/>
33
</test>
4+
5+
<bin name="testAlpakaFriendlyClassNames" file="alpaka/testFriendlyClassNames.cc">
6+
<use name="alpaka"/>
7+
<use name="catch2"/>
8+
<use name="FWCore/Utilities"/>
9+
<flags ALPAKA_BACKENDS="1"/>
10+
</bin>
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#define CATCH_CONFIG_MAIN
2+
#include <catch.hpp>
3+
4+
#include <alpaka/alpaka.hpp>
5+
6+
#include "FWCore/Utilities/interface/FriendlyName.h"
7+
#include "FWCore/Utilities/interface/TypeDemangler.h"
8+
9+
namespace {
10+
11+
template <typename T>
12+
std::string getFriendlyName() {
13+
return edm::friendlyname::friendlyName(edm::typeDemangle(typeid(T).name()));
14+
}
15+
16+
} // namespace
17+
18+
TEST_CASE("Test edm::friendlyname::friendlyName for alpaka types ", "edm::friendlyname::friendlyName") {
19+
SECTION("CPU") {
20+
REQUIRE(getFriendlyName<alpaka::DevCpu>() == "alpakaDevCpu");
21+
REQUIRE(getFriendlyName<alpaka::QueueCpuBlocking>() == "alpakaQueueCpuBlocking");
22+
REQUIRE(getFriendlyName<alpaka::QueueCpuNonBlocking>() == "alpakaQueueCpuNonBlocking");
23+
}
24+
25+
#ifdef ALPAKA_ACC_GPU_CUDA_ENABLED
26+
SECTION("CUDA") {
27+
REQUIRE(getFriendlyName<alpaka::DevCudaRt>() == "alpakaDevCudaRt");
28+
REQUIRE(getFriendlyName<alpaka::QueueCudaRtBlocking>() == "alpakaQueueCudaRtBlocking");
29+
REQUIRE(getFriendlyName<alpaka::QueueCudaRtNonBlocking>() == "alpakaQueueCudaRtNonBlocking");
30+
}
31+
#endif
32+
33+
#ifdef ALPAKA_ACC_GPU_HIP_ENABLED
34+
SECTION("ROCm") {
35+
REQUIRE(getFriendlyName<alpaka::DevHipRt>() == "alpakaDevHipRt");
36+
REQUIRE(getFriendlyName<alpaka::QueueHipRtBlocking>() == "alpakaQueueHipRtBlocking");
37+
REQUIRE(getFriendlyName<alpaka::QueueHipRtNonBlocking>() == "alpakaQueueHipRtNonBlocking");
38+
}
39+
#endif
40+
}

0 commit comments

Comments
 (0)