Skip to content

Commit 5ad2b58

Browse files
authored
Revert "[SYCL] Enable PI unit testing on multiple plugins. (#1647)" (#1693)
This reverts commit 98119bd.
1 parent 096d0a0 commit 5ad2b58

18 files changed

+406
-478
lines changed

sycl/include/CL/sycl/detail/pi.h

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -133,16 +133,9 @@ typedef enum {
133133
// make the translation to OpenCL transparent.
134134
//
135135
typedef enum : pi_uint64 {
136-
PI_DEVICE_TYPE_DEFAULT =
137-
CL_DEVICE_TYPE_DEFAULT, ///< The default device available in the PI
138-
///< plugin.
139-
PI_DEVICE_TYPE_ALL =
140-
CL_DEVICE_TYPE_ALL, ///< All devices available in the PI plugin.
141-
PI_DEVICE_TYPE_CPU =
142-
CL_DEVICE_TYPE_CPU, ///< A PI device that is the host processor.
143-
PI_DEVICE_TYPE_GPU = CL_DEVICE_TYPE_GPU, ///< A PI device that is a GPU.
144-
PI_DEVICE_TYPE_ACC = CL_DEVICE_TYPE_ACCELERATOR ///< A PI device that is a
145-
///< dedicated accelerator.
136+
PI_DEVICE_TYPE_CPU = CL_DEVICE_TYPE_CPU,
137+
PI_DEVICE_TYPE_GPU = CL_DEVICE_TYPE_GPU,
138+
PI_DEVICE_TYPE_ACC = CL_DEVICE_TYPE_ACCELERATOR
146139
} _pi_device_type;
147140

148141
typedef enum {

sycl/plugins/cuda/pi_cuda.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -716,18 +716,15 @@ pi_result cuda_piDevicesGet(pi_platform platform, pi_device_type device_type,
716716
pi_uint32 *num_devices) {
717717

718718
pi_result err = PI_SUCCESS;
719-
const bool askingForDefault = device_type == PI_DEVICE_TYPE_DEFAULT;
720-
const bool askingForGPU = device_type & PI_DEVICE_TYPE_GPU;
721-
const bool returnDevices = askingForDefault || askingForGPU;
722-
723-
size_t numDevices = returnDevices ? platform->devices_.size() : 0;
719+
const bool askingForGPU = (device_type & PI_DEVICE_TYPE_GPU);
720+
size_t numDevices = askingForGPU ? platform->devices_.size() : 0;
724721

725722
try {
726723
if (num_devices) {
727724
*num_devices = numDevices;
728725
}
729726

730-
if (returnDevices && devices) {
727+
if (askingForGPU && devices) {
731728
for (size_t i = 0; i < std::min(size_t(num_entries), numDevices); ++i) {
732729
devices[i] = platform->devices_[i].get();
733730
}

sycl/unittests/pi/BackendString.hpp

Lines changed: 0 additions & 23 deletions
This file was deleted.

sycl/unittests/pi/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
22

33
# Enable exception handling for these unit tests
44
set(LLVM_REQUIRES_EH 1)
5-
add_sycl_unittest(PiTests OBJECT
5+
add_sycl_unittest(PiTests OBJECT
66
EnqueueMemTest.cpp
77
PiMock.cpp
88
PlatformTest.cpp

sycl/unittests/pi/EnqueueMemTest.cpp

Lines changed: 59 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,17 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#include "BackendString.hpp"
109
#include <CL/sycl/detail/pi.hpp>
1110
#include <detail/plugin.hpp>
1211
#include <gtest/gtest.h>
1312

1413
using namespace cl::sycl;
1514

1615
namespace {
17-
class EnqueueMemTest : public testing::TestWithParam<detail::plugin> {
16+
class DISABLED_EnqueueMemTest : public ::testing::Test {
1817
protected:
18+
std::vector<detail::plugin> Plugins;
19+
1920
constexpr static size_t _numElementsX = 8;
2021
constexpr static size_t _numElementsY = 4;
2122

@@ -24,125 +25,124 @@ class EnqueueMemTest : public testing::TestWithParam<detail::plugin> {
2425
pi_queue _queue = nullptr;
2526
pi_mem _mem = nullptr;
2627

27-
EnqueueMemTest() = default;
28+
DISABLED_EnqueueMemTest() = default;
2829

29-
~EnqueueMemTest() = default;
30+
~DISABLED_EnqueueMemTest() = default;
3031

3132
void SetUp() override {
32-
33-
detail::plugin plugin = GetParam();
33+
Plugins = detail::pi::initialize();
34+
ASSERT_FALSE(Plugins.empty());
3435

3536
pi_platform platform = nullptr;
36-
ASSERT_EQ((plugin.call_nocheck<detail::PiApiKind::piPlatformsGet>(
37+
ASSERT_EQ((Plugins[0].call_nocheck<detail::PiApiKind::piPlatformsGet>(
3738
1, &platform, nullptr)),
3839
PI_SUCCESS);
3940

40-
ASSERT_EQ((plugin.call_nocheck<detail::PiApiKind::piDevicesGet>(
41-
platform, PI_DEVICE_TYPE_DEFAULT, 1, &_device, nullptr)),
41+
ASSERT_EQ((Plugins[0].call_nocheck<detail::PiApiKind::piDevicesGet>(
42+
platform, PI_DEVICE_TYPE_GPU, 1, &_device, nullptr)),
4243
PI_SUCCESS);
4344

4445
pi_result result = PI_INVALID_VALUE;
45-
result = plugin.call_nocheck<detail::PiApiKind::piContextCreate>(
46+
result = Plugins[0].call_nocheck<detail::PiApiKind::piContextCreate>(
4647
nullptr, 1u, &_device, nullptr, nullptr, &_context);
4748
ASSERT_EQ(result, PI_SUCCESS);
4849

49-
ASSERT_EQ((plugin.call_nocheck<detail::PiApiKind::piQueueCreate>(
50+
ASSERT_EQ((Plugins[0].call_nocheck<detail::PiApiKind::piQueueCreate>(
5051
_context, _device, 0, &_queue)),
5152
PI_SUCCESS);
5253

53-
ASSERT_EQ((plugin.call_nocheck<detail::PiApiKind::piMemBufferCreate>(
54+
ASSERT_EQ((Plugins[0].call_nocheck<detail::PiApiKind::piMemBufferCreate>(
5455
_context, 0, _numElementsX * _numElementsY * sizeof(pi_int32),
5556
nullptr, &_mem)),
5657
PI_SUCCESS);
5758
}
5859

5960
void TearDown() override {
60-
61-
detail::plugin plugin = GetParam();
62-
63-
ASSERT_EQ((plugin.call_nocheck<detail::PiApiKind::piMemRelease>(_mem)),
64-
PI_SUCCESS);
65-
ASSERT_EQ((plugin.call_nocheck<detail::PiApiKind::piQueueRelease>(_queue)),
61+
ASSERT_EQ((Plugins[0].call_nocheck<detail::PiApiKind::piMemRelease>(_mem)),
6662
PI_SUCCESS);
6763
ASSERT_EQ(
68-
(plugin.call_nocheck<detail::PiApiKind::piContextRelease>(_context)),
64+
(Plugins[0].call_nocheck<detail::PiApiKind::piQueueRelease>(_queue)),
6965
PI_SUCCESS);
66+
ASSERT_EQ((Plugins[0].call_nocheck<detail::PiApiKind::piContextRelease>(
67+
_context)),
68+
PI_SUCCESS);
7069
}
7170

7271
template <typename T> void TestBufferFill(const T &pattern) {
7372

74-
detail::plugin plugin = GetParam();
75-
7673
T inValues[_numElementsX] = {};
7774

7875
for (size_t i = 0; i < _numElementsX; ++i) {
7976
ASSERT_NE(pattern, inValues[i]);
8077
}
8178

82-
ASSERT_EQ((plugin.call_nocheck<detail::PiApiKind::piEnqueueMemBufferWrite>(
83-
_queue, _mem, PI_TRUE, 0, _numElementsX * sizeof(T), inValues,
84-
0, nullptr, nullptr)),
85-
PI_SUCCESS);
79+
ASSERT_EQ(
80+
(Plugins[0].call_nocheck<detail::PiApiKind::piEnqueueMemBufferWrite>(
81+
_queue, _mem, PI_TRUE, 0, _numElementsX * sizeof(T), inValues, 0,
82+
nullptr, nullptr)),
83+
PI_SUCCESS);
8684

87-
ASSERT_EQ((plugin.call_nocheck<detail::PiApiKind::piEnqueueMemBufferFill>(
88-
_queue, _mem, &pattern, sizeof(T), 0, sizeof(inValues), 0,
89-
nullptr, nullptr)),
90-
PI_SUCCESS);
85+
ASSERT_EQ(
86+
(Plugins[0].call_nocheck<detail::PiApiKind::piEnqueueMemBufferFill>(
87+
_queue, _mem, &pattern, sizeof(T), 0, sizeof(inValues), 0, nullptr,
88+
nullptr)),
89+
PI_SUCCESS);
9190

9291
T outValues[_numElementsX] = {};
93-
ASSERT_EQ((plugin.call_nocheck<detail::PiApiKind::piEnqueueMemBufferRead>(
94-
_queue, _mem, PI_TRUE, 0, _numElementsX * sizeof(T),
95-
outValues, 0, nullptr, nullptr)),
96-
PI_SUCCESS);
92+
ASSERT_EQ(
93+
(Plugins[0].call_nocheck<detail::PiApiKind::piEnqueueMemBufferRead>(
94+
_queue, _mem, PI_TRUE, 0, _numElementsX * sizeof(T), outValues, 0,
95+
nullptr, nullptr)),
96+
PI_SUCCESS);
9797

9898
for (size_t i = 0; i < _numElementsX; ++i) {
9999
ASSERT_EQ(pattern, outValues[i]);
100100
}
101101
}
102102
};
103103

104-
static std::vector<detail::plugin> Plugins = detail::pi::initialize();
105-
106-
INSTANTIATE_TEST_CASE_P(
107-
EnqueueMemTestImpl, EnqueueMemTest, testing::ValuesIn(Plugins),
108-
[](const testing::TestParamInfo<EnqueueMemTest::ParamType> &info) {
109-
return pi::GetBackendString(info.param.getBackend());
110-
});
111-
112-
template <typename T> struct vec4 {
104+
template<typename T>
105+
struct vec4 {
113106
T x, y, z, w;
114107

115108
bool operator==(const vec4 &rhs) const {
116109
return x == rhs.x && y == rhs.y && z == rhs.z && w == rhs.w;
117110
}
118111

119-
bool operator!=(const vec4 &rhs) const { return !(*this == rhs); }
112+
bool operator!=(const vec4 &rhs) const {
113+
return !(*this == rhs);
114+
}
120115
};
121116

122-
template <typename T> struct vec2 {
117+
template<typename T>
118+
struct vec2 {
123119
T x, y;
124120

125-
bool operator==(const vec2 &rhs) const { return x == rhs.x && y == rhs.y; }
121+
bool operator==(const vec2 &rhs) const {
122+
return x == rhs.x && y == rhs.y;
123+
}
126124

127-
bool operator!=(const vec2 &rhs) const { return !(*this == rhs); }
125+
bool operator!=(const vec2 &rhs) const {
126+
return !(*this == rhs);
127+
}
128128
};
129129

130-
TEST_P(EnqueueMemTest, piEnqueueMemBufferFill) {
130+
TEST_F(DISABLED_EnqueueMemTest, piEnqueueMemBufferFill) {
131131

132-
TestBufferFill(float{1});
133-
TestBufferFill(vec2<float>{1, 2});
134-
TestBufferFill(vec4<float>{1, 2, 3, 4});
132+
TestBufferFill(float{1});
133+
TestBufferFill(vec2<float>{1, 2});
134+
TestBufferFill(vec4<float>{1, 2, 3, 4});
135135

136-
TestBufferFill(uint8_t{1});
137-
TestBufferFill(vec2<uint8_t>{1, 2});
138-
TestBufferFill(vec4<uint8_t>{1, 2, 3, 4});
136+
TestBufferFill(uint8_t{1});
137+
TestBufferFill(vec2<uint8_t>{1, 2});
138+
TestBufferFill(vec4<uint8_t>{1, 2, 3, 4});
139139

140-
TestBufferFill(uint16_t{1});
141-
TestBufferFill(vec2<uint16_t>{1, 2});
142-
TestBufferFill(vec4<uint16_t>{1, 2, 3, 4});
140+
TestBufferFill(uint16_t{1});
141+
TestBufferFill(vec2<uint16_t>{1, 2});
142+
TestBufferFill(vec4<uint16_t>{1, 2, 3, 4});
143143

144-
TestBufferFill(uint32_t{1});
145-
TestBufferFill(vec2<uint32_t>{1, 2});
146-
TestBufferFill(vec4<uint32_t>{1, 2, 3, 4});
144+
TestBufferFill(uint32_t{1});
145+
TestBufferFill(vec2<uint32_t>{1, 2});
146+
TestBufferFill(vec4<uint32_t>{1, 2, 3, 4});
147147
}
148148
} // namespace

0 commit comments

Comments
 (0)