Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-03-26 01:51:19

0001 #define CATCH_CONFIG_MAIN
0002 #include <catch.hpp>
0003 
0004 #include <alpaka/alpaka.hpp>
0005 
0006 #include "FWCore/Utilities/interface/FriendlyName.h"
0007 #include "FWCore/Utilities/interface/TypeDemangler.h"
0008 
0009 namespace {
0010 
0011   template <typename T>
0012   std::string getFriendlyName() {
0013     return edm::friendlyname::friendlyName(edm::typeDemangle(typeid(T).name()));
0014   }
0015 
0016 }  // namespace
0017 
0018 TEST_CASE("Test edm::friendlyname::friendlyName for alpaka types ", "edm::friendlyname::friendlyName") {
0019   SECTION("CPU") {
0020     REQUIRE(getFriendlyName<alpaka::DevCpu>() == "alpakaDevCpu");
0021     REQUIRE(getFriendlyName<alpaka::QueueCpuBlocking>() == "alpakaQueueCpuBlocking");
0022     REQUIRE(getFriendlyName<alpaka::QueueCpuNonBlocking>() == "alpakaQueueCpuNonBlocking");
0023   }
0024 
0025 #ifdef ALPAKA_ACC_GPU_CUDA_ENABLED
0026   SECTION("CUDA") {
0027     REQUIRE(getFriendlyName<alpaka::DevCudaRt>() == "alpakaDevCudaRt");
0028     REQUIRE(getFriendlyName<alpaka::QueueCudaRtBlocking>() == "alpakaQueueCudaRtBlocking");
0029     REQUIRE(getFriendlyName<alpaka::QueueCudaRtNonBlocking>() == "alpakaQueueCudaRtNonBlocking");
0030   }
0031 #endif
0032 
0033 #ifdef ALPAKA_ACC_GPU_HIP_ENABLED
0034   SECTION("ROCm") {
0035     REQUIRE(getFriendlyName<alpaka::DevHipRt>() == "alpakaDevHipRt");
0036     REQUIRE(getFriendlyName<alpaka::QueueHipRtBlocking>() == "alpakaQueueHipRtBlocking");
0037     REQUIRE(getFriendlyName<alpaka::QueueHipRtNonBlocking>() == "alpakaQueueHipRtNonBlocking");
0038   }
0039 #endif
0040 }