Files
Mario Limonciello 8b529e7b29 Run pre-commit's whitespace related hooks on projects/rocr-runtime/samples (#2126)
In order for pre-commit to be useful, everything needs to meet a common
baseline.

Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
2026-01-08 15:36:57 -05:00

89 γραμμές
2.9 KiB
C++

/*
* Copyright © Advanced Micro Devices, Inc., or its affiliates.
*
* SPDX-License-Identifier: MIT
*/
#include "get_info.h"
#include <iostream>
GetInfo::GetInfo() : HsaTest("HSA Info") {}
GetInfo::~GetInfo() {}
void GetInfo::Run() {
std::cout << std::endl;
std::cout << "Num CPUs in platform: " << cpus_.size() << std::endl;
std::cout << "------------------------------------------------\n";
for (size_t i = 0; i < cpus_.size(); ++i) {
hsa_agent_t cpu = cpus_[i];
std::cout << "CPU[" << i << "] properties:" << std::endl;
std::cout << "------------------------------------------------\n";
AgentProps prop(cpu);
PrintAgentInfo(prop);
PrintPeers(cpu);
std::cout << "------------------------------------------------\n";
hsa_amd_memory_pool_t global_fine = global_fine_[cpu.handle];
if (global_fine.handle != 0) {
std::cout << "CPU[" << i << "] system fine grain pool properties:\n";
std::cout << "------------------------------------------------\n";
PoolProps prop(global_fine);
PrintPoolInfo(prop);
std::cout << "------------------------------------------------\n";
}
hsa_amd_memory_pool_t global_coarse = global_coarse_[cpu.handle];
if (global_coarse.handle != 0) {
std::cout << "CPU[" << i << "] system coarse grain pool properties:\n";
std::cout << "------------------------------------------------\n";
PoolProps prop(global_coarse);
PrintPoolInfo(prop);
std::cout << "------------------------------------------------\n";
}
}
std::cout << std::endl;
std::cout << "Num GPUs in platform: " << gpus_.size() << std::endl;
std::cout << "------------------------------------------------\n";
for (size_t i = 0; i < gpus_.size(); ++i) {
hsa_agent_t gpu = gpus_[i];
std::cout << "GPU[" << i << "] properties:" << std::endl;
std::cout << "------------------------------------------------\n";
AgentProps prop(gpu);
PrintAgentInfo(prop);
PrintPeers(gpu);
std::cout << "------------------------------------------------\n";
hsa_amd_memory_pool_t global_coarse = global_coarse_[gpu.handle];
if (global_coarse.handle != 0) {
std::cout << "GPU[" << i << "] local memory pool properties:\n";
std::cout << "------------------------------------------------\n";
PoolProps prop(global_coarse);
PrintPoolInfo(prop);
std::cout << "------------------------------------------------\n";
}
hsa_amd_memory_pool_t group = group_[gpu.handle];
if (group.handle != 0) {
std::cout << "GPU[" << i << "] group memory pool properties:\n";
std::cout << "------------------------------------------------\n";
PoolProps prop(group);
PrintPoolInfo(prop);
std::cout << "------------------------------------------------\n";
}
}
}
int main(int argc, char* argv[]) {
GetInfo get_info;
get_info.Init();
get_info.Run();
get_info.Cleanup();
return 0;
}