Graf commitů

130 Commity

Autor SHA1 Zpráva Datum
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
Flora Cui 4c60c0cf65 wsl/libhsakmt/topology: 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
Flora Cui 56553974d0 wsl/libhsakmt/memory: 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
tiancyin 95ec7d5c27 wsl/libhsakmt: remove suballocator's lock
Signed-off-by: tiancyin <tianci.yin@amd.com>
Reviewed-by: Flora Cui <flora.cui@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 053ea9d2fe wsl/libhsakmt: add more exported symbols
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/67>
2025-11-05 18:53:36 +08:00
Shi.Leslie c3e8645230 wsl/hsakmt: Disable thunk sub-allocator by default
Signed-off-by: Shi.Leslie <Yuliang.Shi@amd.com>
Reviewed-by: Longlong Yao Longlong.Yao@amd.com
2025-11-05 18:53:36 +08:00
tiancyin a343839e3c libhsakmt: work around VaMgr free_list_ size is not 1
In some cases, the upper modules of rocr-runtime did not free all of the
memories at the end of the application's life time, it causes below
error logs:

pid:13066 tid:0x7f08718c4080 [~VaMgr] free_list_ size is not 1.
pid:13066 tid:0x7f08718c4080 [~VaMgr] frag_map_ size is not 1.

Change the log level from debug to info to work around this problem.

Signed-off-by: tiancyin <tianci.yin@amd.com>
2025-11-05 18:53:36 +08:00
Longlong Yao 875539a4f8 libhsakmt: change to device id for R9700
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/56>
2025-11-05 18:53:36 +08:00
Flora Cui 9489ddb3fe wsl/libhsakmt: correct gfx family id
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/54>
2025-11-05 18:53:36 +08:00
Longlong Yao 334c7d9bac libhsakmt: correct gfx version
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/53>
2025-11-05 18:53:36 +08:00
Longlong Yao eff0a3e893 libhsakmt: add new asic support
It would be changed to correct device id if there is available
release IFWI for Navi48 XTW.

Signed-off-by: Longlong Yao <Longlong.Yao@amd.com>
Reviewed-by: lyndonli <Lyndon.Li@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/49>
2025-11-05 18:53:36 +08:00
Longlong Yao 5b6f63917a libhsakmt: add a check for Windows driver version
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com>
Reviewed-by: lyndonli <Lyndon.Li@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/47>
2025-11-05 18:53:36 +08:00
Longlong Yao b016d1e09c libhsakmt: filter AMD asics before QueryAdapterInfo
Signed-off-by: Flora Cui <flora.cui@amd.com>
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com>
Reviewed-by: lyndonli <Lyndon.Li@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/45>
2025-11-05 18:53:36 +08:00
Longlong Yao be242bfc46 libhsakmt: change the unit of clock according to kmd version
Windows KMD driver(25.10) has changed the unit of clock from
MHz to KHz.

Signed-off-by: Longlong Yao <Longlong.Yao@amd.com>
Reviewed-by: lyndonli <Lyndon.Li@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/43>
2025-11-05 18:53:36 +08:00
Longlong Yao 65b42fb70a libhsakmt: add support to get driver version number
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com>
Reviewed-by: lyndonli <Lyndon.Li@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/43>
2025-11-05 18:53:36 +08:00
lyndonli b5a9a5c36b wsl/hsakmt: Improve error handling in allocation
This change ensures consistent error
handling across build configurations.

Signed-off-by: lyndonli <Lyndon.Li@amd.com>
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/40>
2025-11-05 18:53:36 +08:00
Longlong Yao f44abf508e wsl/libhsakmt: change device id
Reviewed-by: lyndonli <Lyndon.Li@amd.com>
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/38>
2025-11-05 18:53:36 +08:00