wsl/hsakmt: check hsakmt_is_dgpu for hsakmt
To align with Native Linux, use NumCPUCores in GPU and NumFComputeCores in CPU to determine if the asic is dGPU. This value is only for libhsakmt internal use. Reviewed-by: Flora Cui <flora.cui@amd.com> Signed-off-by: Longlong Yao <Longlong.Yao@amd.com> Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/18>
This commit is contained in:
+1
-1
@@ -31,7 +31,7 @@ int kfd_fd = -1;
|
||||
unsigned long dxg_open_count;
|
||||
unsigned long system_properties_count;
|
||||
pthread_mutex_t hsakmt_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||
bool is_dgpu;
|
||||
bool hsakmt_is_dgpu;
|
||||
|
||||
#ifndef PAGE_SIZE
|
||||
int PAGE_SIZE;
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@ wsl::thunk::WDDMDevice* get_wddmdev(uint32_t node_id);
|
||||
extern unsigned long dxg_open_count;
|
||||
extern bool hsakmt_forked;
|
||||
extern pthread_mutex_t hsakmt_mutex;
|
||||
extern bool is_dgpu;
|
||||
extern bool hsakmt_is_dgpu;
|
||||
extern bool is_svm_api_supported;
|
||||
extern int zfb_support;
|
||||
extern int vendor_packet_process;
|
||||
|
||||
+1
-1
@@ -404,7 +404,7 @@ HSAKMT_STATUS HSAKMTAPI hsaKmtRegisterMemoryWithFlags(
|
||||
if ((MemFlags.ui32.HostAccess != 1) || (MemFlags.ui32.NonPaged == 1))
|
||||
return HSAKMT_STATUS_NOT_SUPPORTED;
|
||||
|
||||
if (!is_dgpu)
|
||||
if (!hsakmt_is_dgpu)
|
||||
/* TODO: support mixed APU and dGPU configurations */
|
||||
return HSAKMT_STATUS_NOT_SUPPORTED;
|
||||
|
||||
|
||||
+4
-3
@@ -390,8 +390,9 @@ err:
|
||||
|
||||
void topology_setup_is_dgpu_param(HsaNodeProperties *props) {
|
||||
/* if we found a dGPU node, then treat the whole system as dGPU */
|
||||
/* noted that some APUs are also treated as dGPU in runtime */
|
||||
if (!props->NumCPUCores && props->NumFComputeCores)
|
||||
is_dgpu = true;
|
||||
hsakmt_is_dgpu = true;
|
||||
}
|
||||
|
||||
static HSAKMT_STATUS topology_get_cpu_model_name(HsaNodeProperties& props,
|
||||
@@ -1010,6 +1011,8 @@ HSAKMT_STATUS topology_take_snapshot(void) {
|
||||
goto err;
|
||||
}
|
||||
|
||||
topology_setup_is_dgpu_param(&temp_props[i].node);
|
||||
|
||||
if (temp_props[i].node.NumCPUCores)
|
||||
topology_get_cpu_model_name(temp_props[i].node, cpuinfo);
|
||||
|
||||
@@ -1176,8 +1179,6 @@ hsaKmtAcquireSystemProperties(HsaSystemProperties *SystemProperties) {
|
||||
assert(g_system);
|
||||
|
||||
// err = fmm_init_process_apertures(g_system->NumNodes);
|
||||
// TODO: Determine if it is a dGPU
|
||||
is_dgpu = true;
|
||||
if (err != HSAKMT_STATUS_SUCCESS)
|
||||
goto init_process_apertures_failed;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user