Skip to content

Commit ec5d004

Browse files
Extend CUDA tests
1 parent a7bb7dc commit ec5d004

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

test/providers/provider_cuda.cpp

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,41 @@ TEST_P(umfCUDAProviderTest, cudaProviderNullParams) {
381381
res =
382382
umfCUDAMemoryProviderParamsSetMemoryType(nullptr, expected_memory_type);
383383
EXPECT_EQ(res, UMF_RESULT_ERROR_INVALID_ARGUMENT);
384+
385+
res =
386+
umfCUDAMemoryProviderParamsSetAllocFlags(nullptr, 1);
387+
EXPECT_EQ(res, UMF_RESULT_ERROR_INVALID_ARGUMENT);
388+
}
389+
390+
TEST_P(umfCUDAProviderTest, cudaProviderInvalidCreate) {
391+
CUdevice device;
392+
int ret = get_cuda_device(&device);
393+
ASSERT_EQ(ret, 0);
394+
395+
CUcontext ctx;
396+
ret = create_context(device, &ctx);
397+
ASSERT_EQ(ret, 0);
398+
399+
// wrong memory type
400+
umf_cuda_memory_provider_params_handle_t params1 =
401+
create_cuda_prov_params(ctx, device, (umf_usm_memory_type_t)0xFFFF, 0);
402+
ASSERT_NE(params1, nullptr);
403+
umf_memory_provider_handle_t provider;
404+
umf_result_t umf_result = umfMemoryProviderCreate(
405+
umfCUDAMemoryProviderOps(), params1, &provider);
406+
ASSERT_EQ(umf_result, UMF_RESULT_ERROR_INVALID_ARGUMENT);
407+
408+
// wrong context
409+
params1 = create_cuda_prov_params((CUcontext)-1, device, UMF_MEMORY_TYPE_HOST, 0);
410+
ASSERT_NE(params1, nullptr);
411+
umf_result = umfMemoryProviderCreate(umfCUDAMemoryProviderOps(), params1, &provider);
412+
ASSERT_EQ(umf_result, UMF_RESULT_ERROR_INVALID_ARGUMENT);
413+
414+
// wrong device
415+
params1 = create_cuda_prov_params(ctx, (CUdevice)-1, UMF_MEMORY_TYPE_HOST, 0);
416+
ASSERT_NE(params1, nullptr);
417+
umf_result = umfMemoryProviderCreate(umfCUDAMemoryProviderOps(), params1, &provider);
418+
ASSERT_EQ(umf_result, UMF_RESULT_ERROR_INVALID_ARGUMENT);
384419
}
385420

386421
TEST_P(umfCUDAProviderTest, multiContext) {

0 commit comments

Comments
 (0)