diff --git a/HeterogeneousCore/AlpakaTest/BuildFile.xml b/HeterogeneousCore/AlpakaTest/BuildFile.xml
index eee6052d26e2d..022cd5ecd3e6f 100644
--- a/HeterogeneousCore/AlpakaTest/BuildFile.xml
+++ b/HeterogeneousCore/AlpakaTest/BuildFile.xml
@@ -1,6 +1,14 @@
+
+
diff --git a/HeterogeneousCore/AlpakaTest/interface/HostOnlyType.h b/HeterogeneousCore/AlpakaTest/interface/HostOnlyType.h
new file mode 100644
index 0000000000000..966d00e0d4e50
--- /dev/null
+++ b/HeterogeneousCore/AlpakaTest/interface/HostOnlyType.h
@@ -0,0 +1,21 @@
+#ifndef HeterogeneousCore_AlpakaTest_interface_HostOnlyType_h
+#define HeterogeneousCore_AlpakaTest_interface_HostOnlyType_h
+
+namespace alpakatest {
+
+ /* A simple class to demonstarte the dependency on host-only types from alpaka libraries */
+ class HostOnlyType {
+ public:
+ HostOnlyType() : value_{0} {}
+ HostOnlyType(int value) : value_{value} {}
+ void set(int value) { value_ = value; }
+ int get() { return value_; }
+ void print();
+
+ private:
+ int value_;
+ };
+
+} // namespace alpakatest
+
+#endif // HeterogeneousCore_AlpakaTest_interface_HostOnlyType_h
diff --git a/HeterogeneousCore/AlpakaTest/interface/alpaka/printAnswer.h b/HeterogeneousCore/AlpakaTest/interface/alpaka/printAnswer.h
new file mode 100644
index 0000000000000..75c8dacaf2fd4
--- /dev/null
+++ b/HeterogeneousCore/AlpakaTest/interface/alpaka/printAnswer.h
@@ -0,0 +1,12 @@
+#ifndef HeterogeneousCore_AlpakaTest_interface_alpaka_printAnswer_h
+#define HeterogeneousCore_AlpakaTest_interface_alpaka_printAnswer_h
+
+#include "HeterogeneousCore/AlpakaInterface/interface/config.h"
+
+namespace ALPAKA_ACCELERATOR_NAMESPACE::alpakatest {
+
+ void printAnswer();
+
+} // namespace ALPAKA_ACCELERATOR_NAMESPACE::alpakatest
+
+#endif // HeterogeneousCore_AlpakaTest_interface_alpaka_printAnswer_h
diff --git a/HeterogeneousCore/AlpakaTest/src/HostOnlyType.cc b/HeterogeneousCore/AlpakaTest/src/HostOnlyType.cc
new file mode 100644
index 0000000000000..e2ae3c46be4e1
--- /dev/null
+++ b/HeterogeneousCore/AlpakaTest/src/HostOnlyType.cc
@@ -0,0 +1,9 @@
+#include
+
+#include "HeterogeneousCore/AlpakaTest/interface/HostOnlyType.h"
+
+namespace alpakatest {
+
+ void HostOnlyType::print() { std::cout << "The HostOnlyType value is " << value_ << '\n'; }
+
+} // namespace alpakatest
diff --git a/HeterogeneousCore/AlpakaTest/src/alpaka/printAnswer.cc b/HeterogeneousCore/AlpakaTest/src/alpaka/printAnswer.cc
new file mode 100644
index 0000000000000..ccabe2eb7b020
--- /dev/null
+++ b/HeterogeneousCore/AlpakaTest/src/alpaka/printAnswer.cc
@@ -0,0 +1,14 @@
+#include "HeterogeneousCore/AlpakaInterface/interface/config.h"
+#include "HeterogeneousCore/AlpakaTest/interface/HostOnlyType.h"
+#include "HeterogeneousCore/AlpakaTest/interface/alpaka/printAnswer.h"
+
+namespace ALPAKA_ACCELERATOR_NAMESPACE::alpakatest {
+ using namespace ::alpakatest;
+
+ // A simple function to demonstarte the dependency on host-only types from alpaka libraries
+ void printAnswer() {
+ HostOnlyType answer(42);
+ answer.print();
+ }
+
+} // namespace ALPAKA_ACCELERATOR_NAMESPACE::alpakatest
diff --git a/HeterogeneousCore/AlpakaTest/test/BuildFile.xml b/HeterogeneousCore/AlpakaTest/test/BuildFile.xml
index 459add79383f3..0774d964fa70f 100644
--- a/HeterogeneousCore/AlpakaTest/test/BuildFile.xml
+++ b/HeterogeneousCore/AlpakaTest/test/BuildFile.xml
@@ -13,3 +13,9 @@
+
+
+
+
+
+
diff --git a/HeterogeneousCore/AlpakaTest/test/alpaka/printAnswer.cpp b/HeterogeneousCore/AlpakaTest/test/alpaka/printAnswer.cpp
new file mode 100644
index 0000000000000..9d8c7e503e803
--- /dev/null
+++ b/HeterogeneousCore/AlpakaTest/test/alpaka/printAnswer.cpp
@@ -0,0 +1,8 @@
+#include "HeterogeneousCore/AlpakaInterface/interface/config.h"
+#include "HeterogeneousCore/AlpakaTest/interface/alpaka/printAnswer.h"
+
+// each test binary is built for a single Alpaka backend
+using namespace ALPAKA_ACCELERATOR_NAMESPACE;
+using namespace ALPAKA_ACCELERATOR_NAMESPACE::alpakatest;
+
+int main() { printAnswer(); }