Commit Graph

31 Commits

Author SHA1 Message Date
Arandjelovic, Marko 349b83c1f6 SWDEV-512344 - Allow unmapping of only complete subbuffers (#608)
* Do not allow partial unmapping
* Add check to prevent out of bounds unmap
* Improve code quality
* Use getOrigin instead of getOffset
2025-06-26 15:01:33 +05:30
Arandjelovic, Marko 9ef5602453 Match cuda behaviour for VMM APIs (#382) 2025-05-22 20:49:08 +05:30
Arandjelovic, Marko c5ced8c3a2 SWDEV-512344 - Unmap all subbuffers (#214) 2025-05-12 16:56:10 +02:00
Arandjelovic, Marko e7ada4effe Revert SWDEV-512344 - Unmap all subbuffers (#26)
This reverts commit 0b69120cfcb5b4689d9f2037b1a01e274d85c20f.
2025-03-19 21:17:36 +05:30
Julia Jiang e5425393b4 SWDEV - 508961 - Update requestedHanleTye in CLR repos
Change-Id: I6949a36c5b0bb8e88a2a33ed13ae8f278a5b19c7
2025-03-06 11:37:31 -05:00
Marko Arandjelovic 3ec1d2d2f1 SWDEV-512344 - Unmap all subbuffers
Since hipMemMap can be called for multiple device handles on the same virtual memory, the same is true for hipMemUnmap, meaning that virtual memory can be "partially unmapped".

This means that the unmap function can be called for a specific part of the reserved address, meaning that only the designated subbuffer should be released. If unmap is called on the entire reserved memory, then all subbuffers should be released.

The main point is that for every hsa_amd_vmem_map, there should be a corresponding hsa_amd_vmem_unmap. Otherwise, if entire memory is unmapped by a single unmap call, then HSA will report the memory as "in use" if an attempt is made to delete it.

Change-Id: I039308eafb820decfb1c09f60347f26cdad1a362
2025-03-02 13:41:48 -05:00
Anusha GodavarthySurya b498103f9b SWDEV-485904 - propagate hsa_amd_vmem_address_free error to hip API
Unit_hipMemSetAccess_GrowVMM test fails with
HSA_STATUS_ERROR_RESOURCE_FREE silently

Change-Id: I7a78410e432de4a2e877062782abf8761645f392
2024-10-21 10:12:32 -04:00
Anusha GodavarthySurya 870842201d SWDEV-485904 - Fix virtual,physical mem obj leaks
Change-Id: Ie0456b5dcfec206ae54a6aabfc2a15a620cac693
2024-09-19 23:04:20 -04:00
kjayapra-amd 8ddb023512 SWDEV-465509 - Save the handle type during import function.
Change-Id: If069abb6cd474a7b071617757041402b53575414
2024-08-16 10:55:36 -04:00
kjayapra-amd e7a7feb273 SWDEV-464828 - Initial implementation of VMM IPC on PAL/Windows.
Change-Id: I3d5e148fad9105704db6724b00df06bef4fc9d2f
2024-07-16 10:38:35 -04:00
kjayapra-amd fa4c1a0206 SWDEV-458026 - Check for hsa_handle/svm_ptr before removing from MemObjMap.
Change-Id: I967735c01c6321eeb768963ecb88667dbbe92f08
2024-06-01 17:50:54 -04:00
kjayapra-amd 56ebf5157a SWDEV-413997 - VMM IPC implementation for Linux.
Change-Id: Icfeb83ca51e96be35abb67a94d6e3e1a1ca5a934
2024-04-18 11:28:13 -04:00
kjayapra-amd 00ddc3e284 SWDEV-413997 - Fixing alignment validation check for power of 2 instead of granularity factor.
Change-Id: I1e0db6e0628c09d26850e5a0339e2a4660442db8
2024-04-15 09:45:29 -04:00
kjayapra-amd 815e450cfd SWDEV-413997 - Read Access can be valid now that ROCr takes care of access.
Change-Id: Iecda74ca0207c95d3fbed8b4e15c8c4c5895d939
2024-04-15 06:00:14 -04:00
kjayapra-amd d52d16c8e6 SWDEV-413997 - Fixing multiple device cases.
Change-Id: I10ad3fbfca887e92cd81f68392fa1acf753cbd2b
2024-04-13 06:14:03 -04:00
kjayapra-amd f5ca620baa SWDEV-423835 - Fixing kernel launch issues on Virtual Memory Management path.
Change-Id: I9f5e8a3d83af3809b2c50b21a10697e26113dd23
2024-03-12 17:22:07 -04:00
Jaydeep Patel 66f6a3e255 SWDEV-446219 - Validate option value.
Change-Id: Ifccdddfc8ac71585f6ba045578e5bbb7e3cd1649
2024-03-07 12:53:34 -05:00
Ioannis Assiouras 1f6d416684 SWDEV-446399 - Fixed segfault in hipMemSetAccess
Change-Id: Ia1200d9bee03e8abade211287505f081e635ceec
2024-02-20 18:51:05 -05:00
Ioannis Assiouras 853b293983 SWDEV-433312 - Return invalidArgument in cuMemSetAccess for hipMemAccessFlagsProtRead
Change-Id: I8e5c460ac310ad32849359720a40fc5131d4f32c
2024-02-05 05:08:11 +00:00
kjayapra-amd 0f9c624f4c SWDEV-413997 - Physical address size could be more than mapped size, only virtual address needs to be match the size of unmap request.
Change-Id: If0e973149d8ce1b6f01000ab951cf6e9f4b38e97
2024-01-16 07:09:50 -05:00
kjayapra-amd f9fd5f4049 SWDEV-413997 - Alignment should be a multiple of device granularity.
Change-Id: Ie9c636385bbe3139c2dc24c16f31c9d5e2d56b95
2023-12-15 13:27:23 -05:00
Saleel Kudchadker 058b2702db SWDEV-301667 - Logging refactor
- Remove newline from logging as log function internally inserts a new
line

Change-Id: I25eb2242a1f1e87cf811bcc373d1d485b2e027a8
2023-12-07 12:12:57 -05:00
Anusha GodavarthySurya 5e21f0c6bd SWDEV-351966 - Dispatch table for hip runtime
Change-Id: Ie4a44fa8cf1ff9c152146070bbbf6b0636d4e325
2023-11-22 01:11:19 -05:00
Jaydeep Patel 2415701080 SWDEV-430966 - Size to unmap should be same as mapped memory size.
Change-Id: Id59990c655e7bb4bb980efe587275296103e1e73
2023-11-07 23:38:06 -05:00
kjayapra-amd e226ae109b SWDEV-413997 - Fixing multiple access desc cases for hipMemSetAccess.
Change-Id: Iec7d1207ec0a7136e4e74ef2e390f3347e753d40
2023-10-23 09:44:04 -04:00
kjayapra-amd 3ef829939a SWDEV-413997 - Initial VMM changes for ROCm path.
Change-Id: I4405fd7b53182eb4c4622835c811c0dc08461537
2023-10-16 11:29:16 -04:00
Christophe Paquot bf5826ee93 SWDEV-322620 - Virtual Memory Management
Use correct granularity for VM address/size

Change-Id: I001f29eabe9503396bbec623df9d5155b882be4f
2022-06-29 15:59:56 -07:00
Christophe Paquot faa7ee48ba SWDEV-322620 - Virtual Memory Management
Implements hipMemRetainAllocationHandle
HIP layer updates the svmPtr of the amd::memory
ROCCLR just manages the MemObjMap
This is because HIP knows the orignal (generic) address of the
physical memory whereas ROCCLR doesn't keep track of that

Change-Id: Ied26d7f814bc468f5cf586c967020737b9aa9e9f
2022-06-10 17:48:07 -04:00
Christophe Paquot 6d73282f25 SWDEV-322620 - Virtual Memory Management
Implemented hipMemMap and hipMemUnmap

Change-Id: Idc75e3964d88e375e445733557cfa8e421688f1f
2022-04-28 02:14:14 -04:00
Christophe Paquot fd17b53ea4 SWDEV-322620 - Virtual Memory Management
Implement hipMemAddressFree and hipMemAddressReserve

Change-Id: I1b09e433db5c5c6d6b9fe2a7a15fe2c09f1e1874
2022-04-21 17:19:10 -04:00
Christophe Paquot cd447a5aaa SWDEV-322620 - Virtual Memory Management APIs
Adding skeletons.
Implemented:
- hipMemGetAllocationGranularity with basic granularity
- hipMemGetAllocationPropertiesFromHandle
- hipMemCreate

Change-Id: I4bd2c75fae45d6a057efcad19d1d3c9715e9ae67
2022-04-08 11:38:51 -04:00