@@ -94,9 +94,20 @@ class RocmComputeCapability {
9494
9595 bool gfx11 () const { return gfx_version ().find (" gfx11" ); }
9696
97- bool gfx1200 () const { return gfx_version () == " gfx1200" ; }
97+ bool gfx11_discrete () const {
98+ static constexpr absl::string_view kList [] = {" gfx1100" , " gfx1101" };
99+ return absl::c_count (kList , gfx_version ()) != 0 ;
100+ }
101+
102+ bool gfx11_apu () const {
103+ static constexpr absl::string_view kList [] = {" gfx1103" , " gfx1150" , " gfx1151" };
104+ return absl::c_count (kList , gfx_version ()) != 0 ;
105+ }
98106
99- bool gfx1201 () const { return gfx_version () == " gfx1201" ; }
107+ bool gfx12_discrete () const {
108+ static constexpr absl::string_view kList [] = {" gfx1200" , " gfx1201" };
109+ return absl::c_count (kList , gfx_version ()) != 0 ;
110+ }
100111
101112 bool has_nhwc_layout_support () const { return gfx9_mi100_or_later (); }
102113
@@ -122,15 +133,17 @@ class RocmComputeCapability {
122133 }
123134
124135 bool has_hipblaslt () const {
125- return gfx9_mi200_or_later () || gfx1200 () || gfx1201 ();
126- }
136+ return gfx9_mi200_or_later () || \
137+ gfx11_discrete () || \
138+ gfx11_apu () || \
139+ gfx12_discrete (); }
127140
128141 bool has_fp8_support () const {
129142 return has_ocp_fp8_support () || has_nanoo_fp8_support ();
130143 }
131144
132145 bool has_ocp_fp8_support () const {
133- return gfx1200 () || gfx1201 () || gfx9_mi350 ();
146+ return gfx12_discrete () || gfx9_mi350 ();
134147 }
135148
136149 bool has_nanoo_fp8_support () const { return gfx9_mi300 (); }
@@ -159,7 +172,11 @@ class RocmComputeCapability {
159172 " gfx950" ,
160173 " gfx1030" , // RX68xx / RX69xx
161174 " gfx1100" , // RX7900
162- " gfx1101" , " gfx1200" , " gfx1201" ,
175+ " gfx1101" , // RX7700 / RX7800
176+ " gfx1103" ,
177+ " gfx1150" ,
178+ " gfx1151" ,
179+ " gfx1200" , " gfx1201" ,
163180 };
164181};
165182
0 commit comments