Fichiers
rocm-systems/projects/rocr-runtime/samples/common/common.cpp
T
Alysa Liu 2b2b8329b5 rocr: Add copyright for new files (#886)
Signed-off-by: Alysa Liu <Alysa.Liu@amd.com>
2025-09-11 10:56:31 -04:00

55 lignes
1.2 KiB
C++

/*
* Copyright © Advanced Micro Devices, Inc., or its affiliates.
*
* SPDX-License-Identifier: MIT
*/
#include "common.hpp"
void ErrorCheck(hsa_status_t hsa_error_code) {
if (hsa_error_code != HSA_STATUS_SUCCESS) {
std::cerr << "HSA reported error!" << std::endl;
exit(EXIT_FAILURE);
}
}
hsa_status_t FindGpuDevice(hsa_agent_t agent, void *data) {
if (data == NULL) {
return HSA_STATUS_ERROR_INVALID_ARGUMENT;
}
hsa_device_type_t hsa_device_type;
hsa_status_t hsa_error_code = hsa_agent_get_info(
agent, HSA_AGENT_INFO_DEVICE, &hsa_device_type
);
if (hsa_error_code != HSA_STATUS_SUCCESS) {
return hsa_error_code;
}
if (hsa_device_type == HSA_DEVICE_TYPE_GPU) {
*((hsa_agent_t*)data) = agent;
}
return HSA_STATUS_SUCCESS;
}
hsa_status_t FindHostRegion(hsa_region_t region, void *data) {
if (data == NULL) {
return HSA_STATUS_ERROR_INVALID_ARGUMENT;
}
bool is_host_region = false;
hsa_status_t hsa_error_code = hsa_region_get_info(
region, (hsa_region_info_t)HSA_AMD_REGION_INFO_HOST_ACCESSIBLE,
&is_host_region);
if (hsa_error_code != HSA_STATUS_SUCCESS) {
return hsa_error_code;
}
if (is_host_region) {
*((hsa_region_t*)data) = region;
}
return HSA_STATUS_SUCCESS;
}