@@ -45,6 +45,9 @@ uint64_t get_future_extensions(
4545 case gpu_arch_t ::xe2:
4646 case gpu_arch_t ::xe_hpc:
4747 case gpu_arch_t ::xe3:
48+ case gpu_arch_t ::xe3p_35_10:
49+ case gpu_arch_t ::xe3p_35_11:
50+ case gpu_arch_t ::xe3p_35_unknown:
4851 extensions |= (uint64_t )device_ext_t ::intel_global_float_atomics;
4952 extensions
5053 |= (uint64_t )device_ext_t ::intel_variable_eu_thread_count;
@@ -109,7 +112,13 @@ bool device_info_t::mayiuse_sub_group(int size) const {
109112 case gpu_arch_t ::xe_lp:
110113 case gpu_arch_t ::xe_hp:
111114 case gpu_arch_t ::xe_hpg: return utils::one_of (size, 8 , 16 , 32 );
112- default : return utils::one_of (size, 16 , 32 );
115+ case gpu_arch_t ::xe_hpc:
116+ case gpu_arch_t ::xe2:
117+ case gpu_arch_t ::xe3:
118+ case gpu_arch_t ::xe3p_35_10:
119+ case gpu_arch_t ::xe3p_35_11:
120+ case gpu_arch_t ::xe3p_35_unknown: return utils::one_of (size, 16 , 32 );
121+ default : return utils::one_of (size, 32 );
113122 }
114123}
115124
@@ -145,6 +154,9 @@ int device_info_t::max_eus_per_wg(gpu_arch_t gpu_arch) {
145154 switch (gpu_arch) {
146155 case gpu::intel::compute::gpu_arch_t ::xe_hpc:
147156 case gpu::intel::compute::gpu_arch_t ::xe2:
157+ case gpu_arch_t ::xe3p_35_10:
158+ case gpu_arch_t ::xe3p_35_11:
159+ case gpu_arch_t ::xe3p_35_unknown:
148160 case gpu::intel::compute::gpu_arch_t ::xe3: return 8 ;
149161 case gpu::intel::compute::gpu_arch_t ::xe_lp:
150162 case gpu::intel::compute::gpu_arch_t ::xe_hp:
@@ -158,6 +170,9 @@ int device_info_t::max_subgroup_size(gpu_arch_t gpu_arch) {
158170 switch (gpu_arch) {
159171 case gpu::intel::compute::gpu_arch_t ::xe_hpc:
160172 case gpu::intel::compute::gpu_arch_t ::xe2:
173+ case gpu_arch_t ::xe3p_35_10:
174+ case gpu_arch_t ::xe3p_35_11:
175+ case gpu_arch_t ::xe3p_35_unknown:
161176 case gpu::intel::compute::gpu_arch_t ::xe3: return 32 ;
162177 case gpu::intel::compute::gpu_arch_t ::xe_lp:
163178 case gpu::intel::compute::gpu_arch_t ::xe_hp:
@@ -179,6 +194,9 @@ int device_info_t::min_subgroup_size() const {
179194 case gpu_arch_t ::xe_hpg: return 8 ;
180195 case gpu_arch_t ::xe_hpc:
181196 case gpu_arch_t ::xe2:
197+ case gpu_arch_t ::xe3p_35_10:
198+ case gpu_arch_t ::xe3p_35_11:
199+ case gpu_arch_t ::xe3p_35_unknown:
182200 case gpu_arch_t ::xe3: return 16 ;
183201 default : return 0 ;
184202 }
@@ -188,6 +206,9 @@ int device_info_t::max_exec_size(gpu_arch_t gpu_arch) {
188206 switch (gpu_arch) {
189207 case gpu::intel::compute::gpu_arch_t ::xe_hpc:
190208 case gpu::intel::compute::gpu_arch_t ::xe2:
209+ case gpu::intel::compute::gpu_arch_t ::xe3p_35_10:
210+ case gpu::intel::compute::gpu_arch_t ::xe3p_35_11:
211+ case gpu::intel::compute::gpu_arch_t ::xe3p_35_unknown:
191212 case gpu::intel::compute::gpu_arch_t ::xe3: return 128 ;
192213 default : return 64 ;
193214 }
@@ -221,6 +242,9 @@ int device_info_t::threads_per_eu(gpu_arch_t gpu_arch, bool large_grf_mode) {
221242 case gpu::intel::compute::gpu_arch_t ::xe_hpg:
222243 case gpu::intel::compute::gpu_arch_t ::xe_hpc:
223244 case gpu::intel::compute::gpu_arch_t ::xe2:
245+ case gpu::intel::compute::gpu_arch_t ::xe3p_35_10:
246+ case gpu::intel::compute::gpu_arch_t ::xe3p_35_11:
247+ case gpu::intel::compute::gpu_arch_t ::xe3p_35_unknown:
224248 case gpu::intel::compute::gpu_arch_t ::xe3:
225249 return large_grf_mode ? 4 : 8 ;
226250 case gpu::intel::compute::gpu_arch_t ::unknown: return 7 ;
@@ -238,6 +262,11 @@ int device_info_t::max_slm_size(gpu_arch_t gpu_arch) {
238262 case gpu::intel::compute::gpu_arch_t ::xe_hpg:
239263 case gpu::intel::compute::gpu_arch_t ::xe_hpc:
240264 case gpu::intel::compute::gpu_arch_t ::xe2:
265+ case gpu::intel::compute::gpu_arch_t ::xe3p_35_10:
266+ case gpu::intel::compute::gpu_arch_t ::xe3p_35_11:
267+ case gpu::intel::compute::gpu_arch_t ::xe3p_35_unknown:
268+ slm_size = 3 * (1 << 17 );
269+ break ;
241270 case gpu::intel::compute::gpu_arch_t ::xe3: slm_size = (1 << 17 ); break ;
242271 case gpu::intel::compute::gpu_arch_t ::unknown: assert (!" not expected" );
243272 }
@@ -269,6 +298,9 @@ size_t device_info_t::icache_size() const {
269298 case gpu::intel::compute::gpu_arch_t ::xe_hpc: return 80 * 1024 ;
270299 case gpu::intel::compute::gpu_arch_t ::xe2: return 96 * 1024 ;
271300 case gpu::intel::compute::gpu_arch_t ::xe3: return 96 * 1024 ;
301+ case gpu::intel::compute::gpu_arch_t ::xe3p_35_10:
302+ case gpu::intel::compute::gpu_arch_t ::xe3p_35_11:
303+ case gpu::intel::compute::gpu_arch_t ::xe3p_35_unknown: return 80 * 1024 ;
272304 case gpu::intel::compute::gpu_arch_t ::unknown: assert (!" not expected" );
273305 }
274306 return 0 ;
0 commit comments