MCPcopy Create free account
hub / github.com/ARM-software/ComputeLibrary / get_gpu_target

Function get_gpu_target

src/core/GPUTarget.cpp:37–104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

35namespace
36{
37GPUTarget 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 }

Callers 1

get_target_from_nameFunction · 0.85

Calls 3

findMethod · 0.80
endMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected