@@ -189,11 +189,26 @@ class IntelTargetInfo<string Name, list<Aspect> Aspects, list<int> subGroupSizes
189
189
// Note: only the "canonical" target names are listed here - see
190
190
// SYCL::gen::resolveGenDevice().
191
191
//
192
- // TODO: instructions on how to get "???" values below are required. Currently
193
- // device architectures below which have "???" in it are not fully supported.
194
- //
195
- // def : IntelTargetInfo<"intel_gpu_ptl_u", ???, ???>;
196
- // def : IntelTargetInfo<"intel_gpu_ptl_h", ???, ???>;
192
+ // When adding the new Intel architectures, the ideal way to get these
193
+ // values is to run sycl-ls --verbose on the target machine. However,
194
+ // if you don't have access to the target machine, then you can look in
195
+ // the intel/compute-runtime source code to get the values. For
196
+ // the fp64 and atomic64 aspects, look for the definition
197
+ // of specific RuntimeCapabilityTable's. These will be defined in
198
+ // a file called hw_info_<device>.cpp. For example, for PVC, it
199
+ // would be hw_info_pvc.cpp. For fp16, this is supported by all
200
+ // Intel GPUs currently. (see definition of getDeviceExtensions in
201
+ // compiler_product_helper_base.inl). For the supported sub-group sizes,
202
+ // it is not as straightforward. They are defined per family in
203
+ // GfxCoreHelperHw<Family>::getDeviceSubGroupSizes and by default
204
+ // the default sub-group sizes are 8, 16, and 32. (see gfx_core_helper_base.inl)
205
+ // However, this can be overriden by specific families. For example,
206
+ // gfx_core_helper_xe_hpc_core.cpp defines the supported sub-group
207
+ // sizes to be 16 and 32, which corresponds to PVC having 16 and 32
208
+ // as sub-group sizes the supported sub-group sizes.
209
+
210
+ def : IntelTargetInfo<"intel_gpu_ptl_u", Fp16Fp64Atomic64, Sg16_32>;
211
+ def : IntelTargetInfo<"intel_gpu_ptl_h", Fp16Fp64Atomic64, Sg16_32>;
197
212
def : IntelTargetInfo<"intel_gpu_lnl_m", Fp16Fp64Atomic64, Sg16_32>;
198
213
def : IntelTargetInfo<"intel_gpu_bmg_g21", Fp16Fp64Atomic64, Sg16_32>;
199
214
def : IntelTargetInfo<"intel_gpu_arl_h", Fp16Fp64Atomic64, Sg8_16_32>;
0 commit comments