yangsu13
a7be322dfd
wsl/librocdxg: vmm api support for rocr on windows
...
PR:https://github.com/ROCm/rocm-systems/pull/1761/commits
Signed-off-by: Yang Su <Yang.Su2@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
2025-12-15 16:08:38 +08:00
yangsu13
e55a439c13
wsl/librocdxg: Change hsaKmtQueueRingDoorbell interface
...
PR: https://github.com/ROCm/rocm-systems/pull/2068/commits/a87adf6444faf9bd841e9fdd38335aa8008b2d06
Signed-off-by: yangsu13 <Yang.Su2@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
2025-12-10 14:08:35 +08:00
Horatio Zhang
5983ccefa5
librocdxg: Return DXG fd in amdgpu_device_get_fd
...
Signed-off-by: Horatio Zhang <Hongkun.Zhang@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
2025-12-01 14:29:20 +08:00
Horatio Zhang
6bb933f820
librocdxg: Add drm metadata related interface
...
Signed-off-by: Horatio Zhang <Hongkun.Zhang@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
2025-12-01 14:29:13 +08:00
Flora Cui
0761dd0146
librocdxg: Increase AQL frame size calculation
...
to prevent PM4 command buffer overflow
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/113 >
2025-11-28 14:53:07 +08:00
yangsu13
3c17717624
librocdxg: Remove std::call_once to fix repeated libdxcore.so loading failures
...
The use of std::call_once caused the initialization flag to be set permanently,
preventing proper re-attempts to load libdxcore.so when needed. This change removes
the once_flag mechanism and relies solely on dxcore_handle_ checks to manage library
loading, allowing proper re-initialization attempts.
Signed-off-by: yangsu13 <Yang.Su2@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
2025-11-05 18:53:37 +08:00
Flora Cui
a32d71124f
librocdxg: implement stub hsaKmtAisReadWriteFile
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
2025-11-05 18:53:37 +08:00
Chengjun Yao
15ff43c4ce
librocdxg: Integrate DXCore loader into WDDM thunks
...
Replace direct D3DKMT API calls with DXCORE_CALL macro in WDDM
thunk layer. This enables dynamic loading of DXCore functions
while maintaining the same API interface.
Updated thunk functions:
- MapGpuVirtualAddress, CreateAllocation, DestroyAllocation
- ReserveGpuVirtualAddress, FreeGpuVirtualAddress
- MakeResident, Evict, ShareObjects
- QueryResourceInfoFromNtHandle, OpenResourceFromNtHandle
All existing functionality is preserved while adding flexibility
for runtime DXCore availability detection.
Signed-off-by: Chengjun Yao <Chengjun.Yao@amd.com >
Signed-off-by: Yang Su <Yang.Su2@amd.com >
Reviewed-by: Shi.Leslie <Yuliang.Shi@amd.com >
2025-11-05 18:53:37 +08:00
Chengjun Yao
c8fbb93f03
librocdxg: Remove static DXCore library dependency
...
Remove static linking to libdxcore library from CMakeLists.txt.
This prepares for dynamic loading implementation and eliminates
hard dependency on DXCore being present at build time.
The DXCore functionality will be loaded dynamically at runtime
in subsequent patches, making the library more flexible for
different deployment scenarios.
Signed-off-by: Chengjun Yao <Chengjun.Yao@amd.com >
Signed-off-by: Yang Su <Yang.Su2@amd.com >
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Shi.Leslie <Yuliang.Shi@amd.com >
2025-11-05 18:53:37 +08:00
Flora Cui
3149006d29
librocdxg: update rocr queue type to amd_queue_v2_t
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
2025-11-05 18:53:37 +08:00
Flora Cui
c5d2a0040e
librocdxg: load rocr symbols
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
2025-11-05 18:53:37 +08:00
Flora Cui
45cc96aeb8
librocdxg: include rocr headers
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
2025-11-05 18:53:37 +08:00
Flora Cui
3915c38957
librocdxg: rename hsakmt to rocdxg
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
2025-11-05 18:53:37 +08:00
Flora Cui
c5d7d487dc
wsl/libhsakmt: adapt to the new check for kernel object
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/99 >
2025-11-05 18:53:37 +08:00
Flora Cui
72cbeeff6d
wsl/libhsakmt: refactor handling of kmd priv data
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/98 >
2025-11-05 18:53:37 +08:00
Flora Cui
c3f022822b
wsl/libhsakmt: add !atomic handling for vender specific packet
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com >q
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/97 >
2025-11-05 18:53:37 +08:00
Flora Cui
1217d4eae7
wsl/libhsakmt: simplify adapter_info
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/97 >
2025-11-05 18:53:37 +08:00
Flora Cui
15b8ce7529
wsl/libhsakmt: fix handling of HSA_OVERRIDE_GFX_VERSION option
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Horatio Zhang <Hongkun.Zhang@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/96 >
2025-11-05 18:53:37 +08:00
Flora Cui
d520b11006
wsl/libhsakmt: refactor WDDMDevice creation
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/95 >
2025-11-05 18:53:37 +08:00
Flora Cui
e0f40ae8d4
wsl/libhsakmt: refactor check for supported device
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/95 >
2025-11-05 18:53:37 +08:00
Flora Cui
b39d8a7487
wsl/libhsakmt: remove redundant #include "libhsakmt.h"
...
move libhsakmt.h inclusion to he makefile
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/95 >
2025-11-05 18:53:37 +08:00
Flora Cui
e41b405f53
wsl/libhsakmt: fix hsaKmtRuntimeDisable ret value
...
As ROCR exclusively accepts HSAKMT_STATUS_SUCCESS. returning any other
value is treated as an error and will trigger an exit due to failure.
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/95 >
2025-11-05 18:53:37 +08:00
Flora Cui
e99fcfee51
wsl/libhsakmt: remove redundant PAGE_SHIFT
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/95 >
2025-11-05 18:53:37 +08:00
Chengjun Yao
c16ea5e561
wsl/libhskmt: Remove scratch_backing_memory_byte_size
...
Signed-off-by: Chengjun Yao <Chengjun.Yao@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/93 >
2025-11-05 18:53:37 +08:00
Horatio Zhang
5c16eddc67
wsl/libhsakmt: update WIN_KMD_VERSION to 25.20
...
Signed-off-by: Horatio Zhang <Hongkun.Zhang@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/92 >
2025-11-05 18:53:37 +08:00
Flora Cui
6ffd750632
wsl/libhsakmt: fix return value for hsaKmtUnmapMemoryToGPU
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/89 >
2025-11-05 18:53:37 +08:00
Flora Cui
23bc53e9a8
wsl/libhsakmt: fix abused memory flag in allocation_map_
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/89 >
2025-11-05 18:53:37 +08:00
tiancyin
ccc3849de8
wsl/libhsakmt: move IPC functions from device to thunk runtime
...
IPC use system memory, it has nothing to do with wddm device.
Reviewed-by: Flora Cui <flora.cui@amd.com >
Signed-off-by: tiancyin <tianci.yin@amd.com >
2025-11-05 18:53:37 +08:00
tiancyin
8c6a4d59d4
wsl/libhsakmt: move ReserveGpuVirtualAddress from device to thunk runtime
...
For multi-GPU supporting, local heap and system heap managers are
implemented in thunk runtime, so the heap allocation function
ReserveGpuVirtualAddress should be moved to runtime too.
Reviewed-by: Flora Cui <flora.cui@amd.com >
Signed-off-by: tiancyin <tianci.yin@amd.com >
2025-11-05 18:53:37 +08:00
tiancyin
f8d1663b39
wsl/libhsakmt: move handle aperture from device to thunk runtime
...
In multi-GPU, handle aperture is shared between all GPUs, not belongs to
specific one GPU, so move it from wddm device (which presents a specific GPU)
to thunk runtime which has gloable view, can manage handle aperture for all GPUs.
Reviewed-by: Flora Cui <flora.cui@amd.com >
Signed-off-by: tiancyin <tianci.yin@amd.com >
2025-11-05 18:53:36 +08:00
tiancyin
8e07aca2ae
wsl/libhsakmt: move system heap from device to thunk runtime
...
In multi-GPU, system heap space is shared between all GPUs, not belongs to
specific one GPU, so move it from wddm device (which presents a specific GPU)
to thunk runtime which has gloable view, can manage system heap for all GPUs.
Introduce a new va_Mgr instance to manage system heap, since local heap
and system heap both comply with SVM(Shared Virtual Memory), without
this new mgr, every allocation has to call KMD at least once (each GPU
needs a call) to allocate GPU VA, the new mgr manage the space itself,
no longer call KMD.
Reviewed-by: Flora Cui <flora.cui@amd.com >
Signed-off-by: tiancyin <tianci.yin@amd.com >
2025-11-05 18:53:36 +08:00
tiancyin
d5eb871bbb
wsl/libhsakmt: move local heap and va_Mgr from device to thunk runtime
...
In multi-GPU, local heap space is shared between all GPUs, not belongs to
specific one GPU, so move it from wddm device (which presents a specific GPU)
to thunk runtime which has gloable view, can manage local heap for all GPUs.
Reviewed-by: Flora Cui <flora.cui@amd.com >
Signed-off-by: tiancyin <tianci.yin@amd.com >
2025-11-05 18:53:36 +08:00
Flora Cui
8b6d919b4b
wsl/libhsakmt: add same process check for ipc buffer
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/85 >
2025-11-05 18:53:36 +08:00
Flora Cui
972e74e723
wsl/libhsakmt: move userptr release to hsaKmtDeregisterMemory()
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/85 >
2025-11-05 18:53:36 +08:00
Flora Cui
237377aa02
wsl/libhsakmt: refactor ipc implementation
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/85 >
2025-11-05 18:53:36 +08:00
Flora Cui
77093f8f85
wsl/libhsakmt: extract is_ipc_sysmemfd()
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/85 >
2025-11-05 18:53:36 +08:00
Flora Cui
5a89405bf8
wsl/libhsakmt: fix check for queue buffer
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/83 >
2025-11-05 18:53:36 +08:00
Flora Cui
62aee13f7b
wsl/libhsakmt: fix hsaKmtRegisterGraphicsHandleToNodesExt
...
if nodes array is nullptr
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/83 >
2025-11-05 18:53:36 +08:00
Flora Cui
75cbeda847
wsl/libhsakmt: fix default device in memory allocation
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/82 >
2025-11-05 18:53:36 +08:00
Flora Cui
67332944d2
wsl/libhsakmt: set default node
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/82 >
2025-11-05 18:53:36 +08:00
Flora Cui
b3c685585e
wsl/libhsakmt: add .NodeId() in WDDMDevice
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/82 >
2025-11-05 18:53:36 +08:00
Flora Cui
006ee57aa3
wsl/libhsakmt: add get_num_wddmdev()
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/82 >
2025-11-05 18:53:36 +08:00
Longlong Yao
7855113a9f
wsl/libhsakmt: reimplement GetClockCounters
...
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/80 >
2025-11-05 18:53:36 +08:00
tiancyin
83af0bef55
wsl/hsakmt: add more memory type info
...
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Signed-off-by: tiancyin <tianci.yin@amd.com >
2025-11-05 18:53:36 +08:00
Horatio Zhang
aeb666c210
wsl/hsakmt: Add w7900d device id
...
Signed-off-by: Horatio Zhang <Hongkun.Zhang@amd.com >
Reviewed-by: tiancyin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/74 >
2025-11-05 18:53:36 +08:00
Chengjun Yao
872476061a
wsl/hsakmt: remove unessary struct _HsaVersionCapability
...
Signed-off-by: Chengjun Yao <Chengjun.Yao@amd.com >
Reviewed-by: Horatio Zhang <Hongkun.Zhang@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/73 >
2025-11-05 18:53:36 +08:00
Chengjun Yao
13fc35d8de
wsl/hsakmt: Configure Capability Info to Disable alloc mem in dev mem
...
Regardless of whether the HSA_ALLOCATE_QUEUE_DEV_MEM variable is set
in the environment, set the dev_mem_queue_buf_ of the region to false.
This is due to large BAR PCIe being disabled.
Signed-off-by: Chengjun Yao <Chengjun.Yao@amd.com >
Reviewed-by: Horatio Zhang <Hongkun.Zhang@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/71 >
2025-11-05 18:53:36 +08:00
tiancyin
c6627102d3
libhsakmt: fix resource count in memory export
...
D3DKMTShareObjects() need resource count paramenter not the allocations count.
There is only one resource no matter how many allocations for a buffer.
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com >
Signed-off-by: tiancyin <tianci.yin@amd.com >
2025-11-05 18:53:36 +08:00
Flora Cui
aff8e508df
wsl/libhsakmt: move PAGE_SIZE/SHIFT to static global var
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/68 >
2025-11-05 18:53:36 +08:00
Flora Cui
e98a872650
wsl/libhsakmt/openclose: Dynamically allocate static global memory
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/68 >
2025-11-05 18:53:36 +08:00