Skip to content

Commit ea8a7e1

Browse files
manocharahulBranislav Brzak
andauthored
SWDEV-460098 - Fix error codes for hipLaunchKernel APIs to match cuda (#206)
Co-authored-by: Branislav Brzak <branislav.brzak@amd.com>
1 parent 355d97f commit ea8a7e1

5 files changed

Lines changed: 29 additions & 26 deletions

File tree

catch/unit/executionControl/hipExtLaunchMultiKernelMultiDevice.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ TEST_CASE("Unit_hipExtLaunchMultiKernelMultiDevice_Negative_MultiKernelSameDevic
136136
}
137137

138138
HIP_CHECK_ERROR(hipExtLaunchMultiKernelMultiDevice(params_list.data(), 2, 0u),
139-
hipErrorInvalidValue);
139+
hipErrorInvalidDevice);
140140

141141
for (const auto params : params_list) {
142142
HIP_CHECK(hipStreamDestroy(params.stream));

catch/unit/executionControl/hipLaunchCooperativeKernelMultiDevice.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ TEST_CASE("Unit_hipLaunchCooperativeKernelMultiDevice_Negative_MultiKernelSameDe
151151
}
152152

153153
HIP_CHECK_ERROR(hipLaunchCooperativeKernelMultiDevice(params_list.data(), 2, 0u),
154-
hipErrorInvalidValue);
154+
hipErrorInvalidDevice);
155155

156156
for (const auto params : params_list) {
157157
HIP_CHECK(hipStreamDestroy(params.stream));

catch/unit/executionControl/hipLaunchKernel.cc

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -76,66 +76,66 @@ TEST_CASE("Unit_hipLaunchKernel_Negative_Parameters") {
7676
SECTION("gridDim.x == 0") {
7777
HIP_CHECK_ERROR(hipLaunchKernel(reinterpret_cast<void*>(kernel), dim3{0, 1, 1}, dim3{1, 1, 1},
7878
nullptr, 0, nullptr),
79-
hipErrorInvalidValue);
79+
hipErrorInvalidConfiguration);
8080
}
8181

8282
SECTION("gridDim.y == 0") {
8383
HIP_CHECK_ERROR(hipLaunchKernel(reinterpret_cast<void*>(kernel), dim3{1, 0, 1}, dim3{1, 1, 1},
8484
nullptr, 0, nullptr),
85-
hipErrorInvalidValue);
85+
hipErrorInvalidConfiguration);
8686
}
8787

8888
SECTION("gridDim.z == 0") {
8989
HIP_CHECK_ERROR(hipLaunchKernel(reinterpret_cast<void*>(kernel), dim3{1, 1, 0}, dim3{1, 1, 1},
9090
nullptr, 0, nullptr),
91-
hipErrorInvalidValue);
91+
hipErrorInvalidConfiguration);
9292
}
9393

9494
SECTION("blockDim.x == 0") {
9595
HIP_CHECK_ERROR(hipLaunchKernel(reinterpret_cast<void*>(kernel), dim3{1, 1, 1}, dim3{0, 1, 1},
9696
nullptr, 0, nullptr),
97-
hipErrorInvalidValue);
97+
hipErrorInvalidConfiguration);
9898
}
9999

100100
SECTION("blockDim.y == 0") {
101101
HIP_CHECK_ERROR(hipLaunchKernel(reinterpret_cast<void*>(kernel), dim3{1, 1, 1}, dim3{1, 0, 1},
102102
nullptr, 0, nullptr),
103-
hipErrorInvalidValue);
103+
hipErrorInvalidConfiguration);
104104
}
105105

106106
SECTION("blockDim.z == 0") {
107107
HIP_CHECK_ERROR(hipLaunchKernel(reinterpret_cast<void*>(kernel), dim3{1, 1, 1}, dim3{1, 1, 0},
108108
nullptr, 0, nullptr),
109-
hipErrorInvalidValue);
109+
hipErrorInvalidConfiguration);
110110
}
111111

112112
SECTION("blockDim.x > maxBlockDimX") {
113113
const unsigned int x = GetDeviceAttribute(hipDeviceAttributeMaxBlockDimX, 0) + 1u;
114114
HIP_CHECK_ERROR(hipLaunchKernel(reinterpret_cast<void*>(kernel), dim3{1, 1, 1}, dim3{x, 1, 1},
115115
nullptr, 0, nullptr),
116-
hipErrorInvalidValue);
116+
hipErrorInvalidConfiguration);
117117
}
118118

119119
SECTION("blockDim.y > maxBlockDimY") {
120120
const unsigned int y = GetDeviceAttribute(hipDeviceAttributeMaxBlockDimY, 0) + 1u;
121121
HIP_CHECK_ERROR(hipLaunchKernel(reinterpret_cast<void*>(kernel), dim3{1, 1, 1}, dim3{1, y, 1},
122122
nullptr, 0, nullptr),
123-
hipErrorInvalidValue);
123+
hipErrorInvalidConfiguration);
124124
}
125125

126126
SECTION("blockDim.z > maxBlockDimZ") {
127127
const unsigned int z = GetDeviceAttribute(hipDeviceAttributeMaxBlockDimZ, 0) + 1u;
128128
HIP_CHECK_ERROR(hipLaunchKernel(reinterpret_cast<void*>(kernel), dim3{1, 1, 1}, dim3{1, 1, z},
129129
nullptr, 0, nullptr),
130-
hipErrorInvalidValue);
130+
hipErrorInvalidConfiguration);
131131
}
132132

133133
SECTION("blockDim.x * blockDim.y * blockDim.z > maxThreadsPerBlock") {
134134
const unsigned int max = GetDeviceAttribute(hipDeviceAttributeMaxThreadsPerBlock, 0);
135135
const unsigned int dim = std::ceil(std::cbrt(max));
136136
HIP_CHECK_ERROR(hipLaunchKernel(reinterpret_cast<void*>(kernel), dim3{1, 1, 1},
137137
dim3{dim, dim, dim}, nullptr, 0, nullptr),
138-
hipErrorInvalidValue);
138+
hipErrorInvalidConfiguration);
139139
}
140140

141141
SECTION("sharedMemBytes > maxSharedMemoryPerBlock") {
@@ -144,7 +144,8 @@ TEST_CASE("Unit_hipLaunchKernel_Negative_Parameters") {
144144
nullptr, max, nullptr),
145145
hipErrorInvalidValue);
146146
}
147-
147+
148+
#if HT_AMD
148149
SECTION("Invalid stream") {
149150
hipStream_t stream = nullptr;
150151
HIP_CHECK(hipStreamCreate(&stream));
@@ -153,4 +154,5 @@ TEST_CASE("Unit_hipLaunchKernel_Negative_Parameters") {
153154
nullptr, 0, stream),
154155
hipErrorInvalidValue);
155156
}
157+
#endif
156158
}

catch/unit/module/hipModuleLaunchCooperativeKernel.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ TEST_CASE("Unit_hipModuleLaunchCooperativeKernel_Negative_Parameters") {
205205
HIP_CHECK(hipStreamCreate(&stream));
206206
HIP_CHECK(hipStreamDestroy(stream));
207207
HIP_CHECK_ERROR(hipModuleLaunchCooperativeKernel(f, 1, 1, 1, 1, 1, 1, 0, stream, nullptr),
208-
hipErrorInvalidValue);
208+
hipErrorContextIsDestroyed);
209209
}
210210
#endif
211211
}

catch/unit/module/hip_module_launch_kernel_common.hh

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,8 @@ template <ExtModuleLaunchKernelSig* func> void ModuleLaunchKernelPositiveParamet
121121
template <ExtModuleLaunchKernelSig* func> void ModuleLaunchKernelNegativeParameters(
122122
bool extLaunch = false) {
123123
hipFunction_t f = GetKernel(mg.module(), "NOPKernel");
124-
hipError_t expectedErrorZeroBlockDim = hipErrorInvalidConfiguration;
124+
hipError_t expectedErrorLaunchParam = (extLaunch == true) ? hipErrorInvalidConfiguration
125+
: hipErrorInvalidValue;
125126
hipError_t expectedErrorOverCapacityGridDim = (extLaunch == true) ? hipSuccess
126127
: hipErrorInvalidValue;
127128

@@ -133,32 +134,32 @@ template <ExtModuleLaunchKernelSig* func> void ModuleLaunchKernelNegativeParamet
133134

134135
SECTION("gridDimX == 0") {
135136
HIP_CHECK_ERROR(func(f, 0, 1, 1, 1, 1, 1, 0, nullptr, nullptr, nullptr, nullptr, nullptr, 0u),
136-
hipErrorInvalidConfiguration);
137+
expectedErrorLaunchParam);
137138
}
138139

139140
SECTION("gridDimY == 0") {
140141
HIP_CHECK_ERROR(func(f, 1, 0, 1, 1, 1, 1, 0, nullptr, nullptr, nullptr, nullptr, nullptr, 0u),
141-
hipErrorInvalidConfiguration);
142+
expectedErrorLaunchParam);
142143
}
143144

144145
SECTION("gridDimZ == 0") {
145146
HIP_CHECK_ERROR(func(f, 1, 1, 0, 1, 1, 1, 0, nullptr, nullptr, nullptr, nullptr, nullptr, 0u),
146-
hipErrorInvalidConfiguration);
147+
expectedErrorLaunchParam);
147148
}
148149

149150
SECTION("blockDimX == 0") {
150151
HIP_CHECK_ERROR(func(f, 1, 1, 1, 0, 1, 1, 0, nullptr, nullptr, nullptr, nullptr, nullptr, 0u),
151-
expectedErrorZeroBlockDim);
152+
expectedErrorLaunchParam);
152153
}
153154

154155
SECTION("blockDimY == 0") {
155156
HIP_CHECK_ERROR(func(f, 1, 1, 1, 1, 0, 1, 0, nullptr, nullptr, nullptr, nullptr, nullptr, 0u),
156-
expectedErrorZeroBlockDim);
157+
expectedErrorLaunchParam);
157158
}
158159

159160
SECTION("blockDimZ == 0") {
160161
HIP_CHECK_ERROR(func(f, 1, 1, 1, 1, 1, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, 0u),
161-
expectedErrorZeroBlockDim);
162+
expectedErrorLaunchParam);
162163
}
163164

164165
SECTION("gridDimX > maxGridDimX") {
@@ -182,27 +183,27 @@ template <ExtModuleLaunchKernelSig* func> void ModuleLaunchKernelNegativeParamet
182183
SECTION("blockDimX > maxBlockDimX") {
183184
const unsigned int x = GetDeviceAttribute(hipDeviceAttributeMaxBlockDimX, 0) + 1u;
184185
HIP_CHECK_ERROR(func(f, 1, 1, 1, x, 1, 1, 0, nullptr, nullptr, nullptr, nullptr, nullptr, 0u),
185-
hipErrorInvalidConfiguration);
186+
expectedErrorLaunchParam);
186187
}
187188

188189
SECTION("blockDimY > maxBlockDimY") {
189190
const unsigned int y = GetDeviceAttribute(hipDeviceAttributeMaxBlockDimY, 0) + 1u;
190191
HIP_CHECK_ERROR(func(f, 1, 1, 1, 1, y, 1, 0, nullptr, nullptr, nullptr, nullptr, nullptr, 0u),
191-
hipErrorInvalidConfiguration);
192+
expectedErrorLaunchParam);
192193
}
193194

194195
SECTION("blockDimZ > maxBlockDimZ") {
195196
const unsigned int z = GetDeviceAttribute(hipDeviceAttributeMaxBlockDimZ, 0) + 1u;
196197
HIP_CHECK_ERROR(func(f, 1, 1, 1, 1, 1, z, 0, nullptr, nullptr, nullptr, nullptr, nullptr, 0u),
197-
hipErrorInvalidConfiguration);
198+
expectedErrorLaunchParam);
198199
}
199200

200201
SECTION("blockDimX * blockDimY * blockDimZ > MaxThreadsPerBlock") {
201202
const unsigned int max = GetDeviceAttribute(hipDeviceAttributeMaxThreadsPerBlock, 0);
202203
const unsigned int dim = std::ceil(std::cbrt(max)) + 1;
203204
HIP_CHECK_ERROR(
204205
func(f, 1, 1, 1, dim, dim, dim, 0, nullptr, nullptr, nullptr, nullptr, nullptr, 0u),
205-
hipErrorInvalidConfiguration);
206+
expectedErrorLaunchParam);
206207
}
207208

208209
SECTION("sharedMemBytes > max shared memory per block") {
@@ -225,7 +226,7 @@ template <ExtModuleLaunchKernelSig* func> void ModuleLaunchKernelNegativeParamet
225226
};
226227
// clang-format on
227228
HIP_CHECK_ERROR(func(f, 1, 1, 1, 1, 1, 1, 0, nullptr, kernel_args, extra, nullptr, nullptr, 0u),
228-
hipErrorInvalidConfiguration);
229+
hipErrorInvalidValue);
229230
}
230231

231232
SECTION("Invalid extra") {

0 commit comments

Comments
 (0)