Skip to content

Commit

Permalink
Merge branch 'memory-retainrelease' into martin/memory-cts-spec-gap-REDO
Browse files Browse the repository at this point in the history
  • Loading branch information
martygrant committed Oct 17, 2024
2 parents 79e9e96 + 04ffed5 commit 775a4ca
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 4 deletions.
4 changes: 3 additions & 1 deletion source/adapters/level_zero/memory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1881,7 +1881,9 @@ ur_result_t urMemGetInfo(
}
case UR_MEM_INFO_SIZE: {
// Get size of the allocation
return ReturnValue(size_t{Buffer->Size});
}
case UR_MEM_INFO_REFERENCE_COUNT: {
return ReturnValue(Buffer->RefCount.load());
}
case UR_MEM_INFO_REFERENCE_COUNT: {
return ReturnValue(Buffer->RefCount.load());
Expand Down
1 change: 0 additions & 1 deletion test/conformance/memory/memory_adapter_level_zero.match
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{{NONDETERMINISTIC}}
urMemBufferPartitionTest.InvalidValueCreateType/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}_
urMemBufferPartitionTest.InvalidValueBufferCreateInfoOutOfBounds/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}_
{{OPT}}urMemGetInfoImageTest.Success/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}___UR_MEM_INFO_SIZE
{{Segmentation fault|Aborted}}
22 changes: 21 additions & 1 deletion test/conformance/memory/urMemRelease.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,24 @@ TEST_P(urMemReleaseTest, InvalidNullHandleMem) {
ASSERT_EQ_RESULT(UR_RESULT_ERROR_INVALID_NULL_HANDLE,
urMemRelease(nullptr));
}
// temp

TEST_P(urMemReleaseTest, CheckReferenceCount) {
uint32_t referenceCount = 0;
ASSERT_SUCCESS(urMemGetInfo(buffer, UR_MEM_INFO_REFERENCE_COUNT,
sizeof(referenceCount), &referenceCount,
nullptr));
ASSERT_EQ(referenceCount, 1);

ASSERT_SUCCESS(urMemRetain(buffer));
ASSERT_SUCCESS(urMemGetInfo(buffer, UR_MEM_INFO_REFERENCE_COUNT,
sizeof(referenceCount), &referenceCount,
nullptr));
ASSERT_EQ(referenceCount, 2);

ASSERT_SUCCESS(urMemRelease(buffer));

ASSERT_SUCCESS(urMemGetInfo(buffer, UR_MEM_INFO_REFERENCE_COUNT,
sizeof(referenceCount), &referenceCount,
nullptr));
ASSERT_EQ(referenceCount, 1);
}
24 changes: 23 additions & 1 deletion test/conformance/memory/urMemRetain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,31 @@ UUR_INSTANTIATE_DEVICE_TEST_SUITE_P(urMemRetainTest);

TEST_P(urMemRetainTest, Success) {
ASSERT_SUCCESS(urMemRetain(buffer));
EXPECT_SUCCESS(urMemRelease(buffer));
ASSERT_SUCCESS(urMemRelease(buffer));
}

TEST_P(urMemRetainTest, InvalidNullHandleMem) {
ASSERT_EQ_RESULT(UR_RESULT_ERROR_INVALID_NULL_HANDLE, urMemRetain(nullptr));
}

TEST_P(urMemRetainTest, CheckReferenceCount) {
uint32_t referenceCount = 0;
ASSERT_SUCCESS(urMemGetInfo(buffer, UR_MEM_INFO_REFERENCE_COUNT,
sizeof(referenceCount), &referenceCount,
nullptr));
ASSERT_EQ(referenceCount, 1);

{ ASSERT_SUCCESS(urMemRetain(buffer)); }

ASSERT_SUCCESS(urMemGetInfo(buffer, UR_MEM_INFO_REFERENCE_COUNT,
sizeof(referenceCount), &referenceCount,
nullptr));
ASSERT_EQ(referenceCount, 2);

ASSERT_SUCCESS(urMemRelease(buffer));

ASSERT_SUCCESS(urMemGetInfo(buffer, UR_MEM_INFO_REFERENCE_COUNT,
sizeof(referenceCount), &referenceCount,
nullptr));
ASSERT_EQ(referenceCount, 1);
}

0 comments on commit 775a4ca

Please sign in to comment.