Squash merge of cfreehil/amd-temp-gfx90a onto amd-staging.
Includes some workarounds and HMM. Conflicts: opensrc/hsa-runtime/core/runtime/amd_topology.cpp opensrc/hsa-runtime/core/util/flag.h Change-Id: I22976f07964a43dbb228a6231777dbd599112b8d
This commit is contained in:
@@ -50,17 +50,11 @@
|
||||
namespace rocr {
|
||||
namespace image {
|
||||
|
||||
uint32_t MajorVerFromDevID(uint32_t dev_id) {
|
||||
return dev_id/100;
|
||||
}
|
||||
uint32_t MajorVerFromDevID(uint32_t dev_id) { return dev_id >> 8; }
|
||||
|
||||
uint32_t MinorVerFromDevID(uint32_t dev_id) {
|
||||
return (dev_id % 100)/10;
|
||||
}
|
||||
uint32_t MinorVerFromDevID(uint32_t dev_id) { return (dev_id >> 4) & 0xF; }
|
||||
|
||||
uint32_t StepFromDevID(uint32_t dev_id) {
|
||||
return (dev_id%100)%10;
|
||||
}
|
||||
uint32_t StepFromDevID(uint32_t dev_id) { return dev_id & 0xF; }
|
||||
|
||||
hsa_status_t GetGPUAsicID(hsa_agent_t agent, uint32_t *chip_id) {
|
||||
char asic_name[64];
|
||||
@@ -78,7 +72,10 @@ hsa_status_t GetGPUAsicID(hsa_agent_t agent, uint32_t *chip_id) {
|
||||
assert(a_str.compare(0, 3, "gfx", 3) == 0);
|
||||
|
||||
a_str.erase(0,3);
|
||||
*chip_id = std::stoi(a_str);
|
||||
|
||||
// Load chip_id accounting for stepping and minor in hex and major in dec.
|
||||
*chip_id = std::stoi(a_str.substr(a_str.length() - 2), nullptr, 16);
|
||||
*chip_id += (std::stoi(a_str.substr(0, a_str.length() - 2)) << 8);
|
||||
return HSA_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -163,6 +160,7 @@ uint32_t DevIDToAddrLibFamily(uint32_t dev_id) {
|
||||
case 4: // Vega12
|
||||
case 6: // Vega20
|
||||
case 8: // Arcturus
|
||||
case 10: // Aldebaran
|
||||
return FAMILY_AI;
|
||||
|
||||
case 2:
|
||||
|
||||
Reference in New Issue
Block a user