| 35 | namespace |
| 36 | { |
| 37 | GPUTarget get_gpu_target(const std::string &full_name, const std::string &base_name) |
| 38 | { |
| 39 | const static std::map<const std::string, GPUTarget> name_to_target_map = { |
| 40 | // Midgard |
| 41 | {"T600", GPUTarget::T600}, // |
| 42 | {"T700", GPUTarget::T700}, // |
| 43 | {"T800", GPUTarget::T800}, // |
| 44 | // Bifrost |
| 45 | {"G31", GPUTarget::G31}, // |
| 46 | {"G51", GPUTarget::G51}, // |
| 47 | {"G51LIT", GPUTarget::G51LIT}, // |
| 48 | {"G51BIG", GPUTarget::G51BIG}, // |
| 49 | {"G71", GPUTarget::G71}, // |
| 50 | {"G52", GPUTarget::G52}, // |
| 51 | {"G52LIT", GPUTarget::G52LIT}, // |
| 52 | {"G72", GPUTarget::G72}, // |
| 53 | {"G76", GPUTarget::G76}, // |
| 54 | // Vallhall |
| 55 | {"G57", GPUTarget::G57}, // |
| 56 | {"G77", GPUTarget::G77}, // |
| 57 | {"G68", GPUTarget::G68}, // |
| 58 | {"G78", GPUTarget::G78}, // |
| 59 | {"G78AE", GPUTarget::G78AE}, // |
| 60 | {"G310", GPUTarget::G310}, // |
| 61 | {"G510", GPUTarget::G510}, // |
| 62 | {"G610", GPUTarget::G610}, // |
| 63 | {"G710", GPUTarget::G710}, // |
| 64 | {"G615", GPUTarget::G615}, // |
| 65 | {"G715", GPUTarget::G715}, // |
| 66 | {"Immortalis-G715", GPUTarget::G715}, // |
| 67 | // 5th Gen |
| 68 | {"G620", GPUTarget::G620}, // |
| 69 | {"G720", GPUTarget::G720}, // |
| 70 | {"Immortalis-G720", GPUTarget::G720}, // |
| 71 | {"G1-Pro", GPUTarget::G1}, // |
| 72 | {"G1-Premium", GPUTarget::G1}, // |
| 73 | {"G1-Ultra", GPUTarget::G1}, |
| 74 | |
| 75 | }; |
| 76 | // Try full name with variant. |
| 77 | auto it = name_to_target_map.find(full_name); |
| 78 | if (it != name_to_target_map.end()) |
| 79 | { |
| 80 | return it->second; |
| 81 | } |
| 82 | // Try name without variant. |
| 83 | it = name_to_target_map.find(base_name); |
| 84 | if (it != name_to_target_map.end()) |
| 85 | { |
| 86 | return it->second; |
| 87 | } |
| 88 | // Try architecture name only. |
| 89 | if (!base_name.empty()) |
| 90 | { |
| 91 | if (base_name[0] == 'G') |
| 92 | { |
| 93 | return GPUTarget::FIFTHGEN; |
| 94 | } |
no test coverage detected