Commit Graph

418 Commits

Author SHA1 Message Date
sdashmiz 627ccfa502 SWDEV-429053 - Add check for StreamLegacy
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I402185a3b81935aaa1c8c4963407b8de21c72d8a
2024-05-28 06:31:10 +00:00
Saleel Kudchadker 2d7912dc01 SWDEV-460080 - Do not wait for host side command complete
- awaitCompletion would wait for host side command compelete(aka
cpuWait). The correct way is to check the completion signal and if not
dispatch a marker that has a signal.

Change-Id: I0f4f23c7ea68c329bf1d5f05e9735f631e5e3808
2024-05-28 06:28:17 +00:00
Jaydeep Patel 1d48f2a1ab SWDEV-456279 - Adding new hip flag to access contiguous memory and pass the flag to HSA API.
Change-Id: I1bafeaa3096395c729723af958d609bc41e7845c
2024-04-30 05:25:38 -04:00
kjayapra-amd 0e1a0572e6 SWDEV-413997 - Changes to use GlobalContext in views.
Change-Id: I1f8411eae9ed49632667e244a25f223fed92c720
2024-04-29 16:41:39 -04:00
kjayapra-amd 49b4aef8c9 SWDEV-413997 - Handling cases where multiple phys_mem is mapped into a single virtual address.
Change-Id: Ie678e607a64f2e5c35a10b9083185f041c5527ac
2024-04-28 08:28:12 -04:00
Satyanvesh Dittakavi 8f7acbdadb SWDEV-446610 - Attribute HIP_POINTER_ATTRIBUTE_SYNC_MEMOPS should return the correct value
Change-Id: Ieced2ee61bba28f2d1df96893a661287b0a5c7b7
2024-04-19 14:40:09 -04:00
sdashmiz d511e57257 SWDEV-441603 - Correct dst device
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ie60aa598dd73df66cdf02c1d96daf2dfccba7a59
2024-04-17 09:21:06 -04:00
Anusha GodavarthySurya ea4f09e8c0 SWDEV-452787 - correct hipDrvGraphAddMemcpyNode check
Change-Id: Id58f982edd4f17d675f7a0f61a9b4dea0baebd9b
2024-03-29 00:56:12 -04:00
Ioannis Assiouras be2bdabb76 SWDEV-430437,SWDEV-434702 - Split the streamset per device
Change-Id: If1bcca45825c9899462bb95ed6f637f5af806cc8
2024-03-18 19:08:52 -04:00
sdashmiz 315d0fc46e SWDEV-447458 - remove check for image support
- remove the check from hipmallocpitch

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ife3a95381be703b1c1b7492abfd4432c4a8141c8
2024-03-11 11:39:14 -04:00
Satyanvesh Dittakavi 821ae6a103 SWDEV-426272 - hipPointerGetAttribute shouldn't segfault when host ptr is passed
Check the pointer if its present in the arrayset before trying to dereference
it as it can cause access violation if the pointer is allocated using malloc

Change-Id: Ida72b9015dc22269fc1fbe0728e66e3de29fda3d
2024-02-21 16:37:21 +00:00
Ioannis Assiouras 5b72582474 SWDEV-443018 - Restrict input range for value argument in hipPointerSetAttribute
Change-Id: I17b6448bf49aed49315a0b4c1426dcbe011735d9
2024-02-05 05:08:11 +00:00
Satyanvesh Dittakavi 9fd8b4d3f1 SWDEV-440029 - Fix hipMemcpyFrom/ToSymbol directions allowed
Change-Id: Ib0b3d737cd5d297ac2d3c1ba549902b96e29c18c
2024-02-05 05:08:11 +00:00
Lang Yu 6af1c419ce SWDEV-441065 - Fix device accessable host memory copy path
Change-Id: Ia6b9a428da7b54819fb3be928a33cdffcd04ecdf
Signed-off-by: Lang Yu <Lang.Yu@amd.com>
2024-02-05 05:08:11 +00:00
Satyanvesh Dittakavi c398c75512 SWDEV-432977 - Set the correct device id in hipIpcOpenMemHandle
hipIpcOpenMemHandle can be used to open memory handle and fetch
  a device pointer on a different device than the actual device
  where the memory was allocated. The device Id must be set to
  the current device in such cases and not the original device.

Change-Id: Ie1c7eada928d02124a41125876876f96015552e5
2024-01-05 00:28:59 -05:00
Ioannis Assiouras af86c1b8a2 SWDEV-438531 - Fixed hipGraphExecMemcpyNodeSetParams for H2H kind
The function erroneously returns hipErrorInvalidValue when kind
is set to hipMemcpyHostToHost

Change-Id: I6810b9f04f3218e517fd2f96410d1375e6ac6ff0
2024-01-04 03:47:39 -05:00
Ioannis Assiouras d3bfb55d7a SWDEV-437817 - Fix hipMemCpy2D case that erroneously fails with invalid argument error
When an offset is applied to the source or destination pointers plus the kind is set to
hipMemcpyDefault and the source or destination is allocated with hipMallocManaged
hipMemCpy2D erroneously fails with hipErrorInvalidValue.

Change-Id: I0db4c17514f743652d8f9a2691da6601a2abb2a1
2023-12-18 07:31:56 -05:00
Jaydeep Patel 9551d48e7f SWDEV-411343 - Import VK buffer memory exported by name.
Change-Id: Idc7c840fcd6bf758ecc29ffd6558d24e5bd0a25b
2023-12-14 22:16:11 -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
Tao Sang 1c442658ca SWDEV-432180 - Support hipArraySurfaceLoadStore
Make hipExternalMemoryGetMappedMipmappedArray() accept
hipArraySurfaceLoadStore.
Make hipCreateSurfaceObject() check hipArraySurfaceLoadStore
flag. If flag is hipArrayDefault, hipCreateSurfaceObject() will
also pass to prevent failure of catch2/swissknife tests.

Change-Id: Ifb7db2db14e0c2208a9661cfa33887ec61ab26a5
2023-11-14 10:17:07 -05:00
Jaydeep Patel 8e8fb993de SWDEV-425248 - numerous bug fixes.
Set flag with hipCtxCreate so that get flags works.
Validate hipHostGetDevicePointer for flags!=0.
Validate mem cpy kind and accommodate new type hipMemcpyDeviceToDeviceNoCU.
Match error code for hipGetChannelDesc.

Change-Id: If09a635ac01bc53f1fe2b7df3f3f9c1b0d69a0ab
2023-11-07 22:49:20 -05:00
Satyanvesh Dittakavi 6d6465cb96 SWDEV-430048 - hipMemcpy2D should return success for zero sized arrays
- This matches the CUDA behavior
- The pitch and width checks removed are already covered in ihipmemcpy2D

Change-Id: I03a6921a78b5d89723830d8dde5865fdc6db0379
2023-11-02 00:40:08 -04:00
sdashmiz 9b567e1799 SWDEV-417075 - add hipDrvAddMemCpyNode
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ie631d7b1788f10171a29d463759a3cba3b2b2007

SWDEV-417075 - add hipDrvGraphAddMemcpyNode

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I6bab3310919643e119cd0004276907e223641cfb
2023-10-31 09:55:42 -04:00
taosang2 9a24e1fb30 SWDEV-364236 - Fix device buffer to/from image issue
Fix offset of device buffer copied to/from image.

Change-Id: I149a8629769cd0d5848ffefb04f1752668a685b9
2023-10-30 12:17:14 -04:00
Saleel Kudchadker 5662d4037c SWDEV-408180 - Address possible cornercases
- Address corner cases that can arise with the new
hipMemcpyDeviceToDeviceNoCU enum
- Better log

Change-Id: I6035b901f8d616741054b7a5ff4f67956329ac57
2023-10-23 16:54:08 -04:00
Saleel Kudchadker f316a30e5d SWDEV-408180 - Add a new hipMemcpyKind
Add hipMemcpyDeviceToDeviceNoCU to force a non blit copy path. This
helps in cases where an app may determine that CU may be busy and copies
with SDMA may be quicker.

Change-Id: I59b415dd8f6022c244e8d75f265464d5c635df1e
2023-10-20 13:18:10 -04:00
taosang2 5a0085e516 SWDEV-364236 - Fix layered Image issue
Fix wrong logic to get layer index;
Make layered image's layout match cuda spec;
Fix wrong comparision of element size.
Remove amd::BufferRect from ihipMemcpyAtoHCommand()
and ihipMemcpyHtoACommand().
Change-Id: Icc6a4233fbce2e9b2dc6feb79e6bfbd761684c7d
2023-10-19 16:06:20 -04:00
sdashmiz d78aef7f66 SWDEV-371332 - [ABI Break] Return success for unregistered ptr
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ie58d16420578e7118997eb40a9fd6a6641b666f3
2023-10-15 14:32:24 -04:00
sdashmiz c089ef4a2b SWDEV-332969 - [ABI Break]Substitute hipArray* with hipArray_t
- hipArray will be an internal struct from rocm6.0

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Icf97fe96b87be8532098cd7f9ceaad099f99c9b9
2023-10-12 12:09:19 -04:00
taosang2 6398f604b0 SWDEV-299127 - Support External Mipmap
Support hipExternalMemoryGetMappedMipmappedArray().
Add ImageExternalBuffer to differiate ImageBuffer.
Currently we only support tiling_optimal mode as
vulkan driver doesn't provide tiling information.

Change-Id: I7e3524cdde53e4df9f728894bcebf4bd3f58d4d9
2023-10-05 09:58:17 -04:00
Ioannis Assiouras 2bc6661737 SWDEV-420222 - Removed implementation of hipMemcpyArray functions
hipMemcpyArrayToArray, hipMemcpyFromArrayAsync, and hipMemcpyToArrayAsync
are deprecated in cuda and are missing the headers in hip_runtime_api.h.
Removed their implementation from hip_memory.cpp.

Change-Id: I9720aec6241515c56c66b7e90a37b2ed53347eb2
2023-09-04 13:35:08 +01:00
Satyanvesh Dittakavi 84eae1f0a9 SWDEV-416443 - hipPointerGetAttributes should return correct type for managed memory
Change-Id: Ic197cd8c9d3f5405616ed6e4924ed5577e636b94
2023-08-21 07:47:32 -04:00
taosang2 d2cfb86ddc SWDEV-408843 - Fix vulkan_interop failure
Fix runtime issues found in  vulkan_interop test

Change-Id: I32c9bed861ddf4fe1d7bba21dce9bd720168c399
2023-08-11 10:13:56 -04:00
Jaydeep Patel 34d071c767 SWDEV-415421 - End is relative to start and so no need to offset.
Change-Id: Icd65227d9879d9ee4e0bd2795f112b4d5e8c8e9e
2023-08-10 00:41:01 -04:00
Jaydeep Patel a28a5a9a38 SWDEV-412993 - As origin is passed with start, region should be end.
Change-Id: I7077484d4d8c302fb2f2714cb68c15ba5173eae3
2023-07-28 12:56:53 -04:00
sdashmiz 173de06658 SWDEV-408586 - set device active when malloc is called
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ib930d997b7d544d8b6fb42d2fea01fa8a4418e98
2023-07-13 11:39:58 -04:00
taosang2 56daa6c489 SWDEV-408687 - Prevent updating dstXInBytes/srcXInBytes twice
Update pCopy->srcMemoryType and pCopy->dstMemoryType so
 that ihipGetMemcpyParam3DCommand() won't redetect memory
 type. This will prevent dstXInBytes and srcXInBytes getting
 updated twice with offset in hipMemoryTypeUnified type.

Change-Id: Ief4ea81941e25d22bcafd213b3b84a65eb23cf94
2023-07-05 09:22:49 -04:00
sdashmiz 5f93a59798 SWDEV-403382 - param sanity check
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ibddb2be7d0543676ed9aed71ebb3f5877662c9ae
2023-06-27 19:03:34 -04:00
taosang2 f03c11491b SWDEV-368553 – Add missing mipmap Apis
Add missing mipmap Apis’ implementation.
Fix some bugs of mimpmap apis.
Use hipmipmappedArray to differentiate cuda
and driver apis on Nvidia.
Change-Id: I6079d9f3b2ddf4e42b9a6f7f3902322cfca02cfd
2023-06-22 17:24:21 -04:00
Saleel Kudchadker b2240bcda5 SWDEV-301667 - Better log
Change-Id: I3b5b3593cb0144e56a4ddea2fa29028544a73203
2023-06-20 14:26:44 -04:00
Jaydeep Patel ffa1deef27 SWDEV-398047 - Disable arena for XNACK.
Change-Id: If6c98490bd5b8146a357f45ed132f687def0877f
2023-05-10 23:28:05 -04:00
Ajay 22eae6ac9e SWDEV-374386 - hipGraphAddMemcpyNode negative cases
validate 3d memcpy params -
pitch, extend - height/width/depth, src/dst offsets and total size

Change-Id: I629fc242264ebbc3e9dbfd9233da8d3a127500b4
2023-04-28 12:11:24 -04:00
German Andryeyev 3e5803c4c0 SWDEV-381627 - Move cl_vk_amd.hpp into rocclr
Rename VK interop to ExternalMemory object, since it should handle
DX interops also

Change-Id: I536ec46d3e53ece35234a2e29030393ad411b96d
2023-04-26 15:25:01 -04:00
Sourabh Betigeri 7aba1cf4cd SWDEV-392367 - Fixes hipMemGetAddressRange returning device buffer size as 0
Change-Id: I6b5640b544390b2dfc53fad271acc7f30240e274
2023-04-25 13:46:52 -04:00
pghafari afa15ddb89 SWDEV-367145 - adding support for timeline semaphore
Change-Id: I654359b48abe8bbaac2def5118d3ad0bb05d9492
2023-04-25 10:02:43 -04:00
Jaydeep Patel 415fb15c76 SWDEV-389477 - Check D2D is intra device.
Change-Id: Ibef2a6de82a18357ef35bcd70298478de6b0e380
2023-04-19 01:01:12 -04:00
pghafari 78de2ae692 SWDEV-366992 - adding handle type for vk interop
Change-Id: I79ee0d89b948c21b96709e9e607abe7901621a97
2023-04-18 16:59:25 -04:00
taosang2 53742adc08 SWDEV-390626 - Support surface Apis
Change-Id: I1691b82d597bfd722d562778f919ebf8ca530e90
2023-04-05 16:38:04 +00:00
German 1e88d2c52f SWDEV-380703 - sync all streams individually
Avoid syncing blocking streams with the default stream,
since that introduces extra command dependencies and
doesn't allow to destroy memory after last submission

Change-Id: I618e9bd2091c4cf9157125612d8c4759030c5a80
2023-04-05 16:37:49 +00:00