@@ -274,6 +274,36 @@ static struct _cl_device_id intel_glk12eu_device = {
274274#include "cl_gen9_device.h"
275275};
276276
277+ static struct _cl_device_id intel_cfl_gt1_device = {
278+ .max_compute_unit = 12 ,
279+ .max_thread_per_unit = 7 ,
280+ .sub_slice_count = 2 ,
281+ .max_work_item_sizes = {512 , 512 , 512 },
282+ .max_work_group_size = 256 ,
283+ .max_clock_frequency = 1000 ,
284+ #include "cl_gen9_device.h"
285+ };
286+
287+ static struct _cl_device_id intel_cfl_gt2_device = {
288+ .max_compute_unit = 24 ,
289+ .max_thread_per_unit = 7 ,
290+ .sub_slice_count = 3 ,
291+ .max_work_item_sizes = {512 , 512 , 512 },
292+ .max_work_group_size = 256 ,
293+ .max_clock_frequency = 1000 ,
294+ #include "cl_gen9_device.h"
295+ };
296+
297+ static struct _cl_device_id intel_cfl_gt3_device = {
298+ .max_compute_unit = 48 ,
299+ .max_thread_per_unit = 7 ,
300+ .sub_slice_count = 6 ,
301+ .max_work_item_sizes = {512 , 512 , 512 },
302+ .max_work_group_size = 256 ,
303+ .max_clock_frequency = 1000 ,
304+ #include "cl_gen9_device.h"
305+ };
306+
277307LOCAL cl_device_id
278308cl_get_gt_device (cl_device_type device_type )
279309{
@@ -785,6 +815,64 @@ cl_get_gt_device(cl_device_type device_type)
785815 cl_intel_platform_enable_extension (ret , cl_khr_fp16_ext_id );
786816 break ;
787817
818+ case PCI_CHIP_COFFEELAKE_S_GT1_1 :
819+ case PCI_CHIP_COFFEELAKE_S_GT1_2 :
820+ case PCI_CHIP_COFFEELAKE_S_GT1_3 :
821+ DECL_INFO_STRING (cfl_gt1_break , intel_cfl_gt1_device , name , "Intel(R) UHD Graphics Coffee Lake Desktop GT1" );
822+ case PCI_CHIP_COFFEELAKE_U_GT1_1 :
823+ case PCI_CHIP_COFFEELAKE_U_GT1_2 :
824+ DECL_INFO_STRING (cfl_gt1_break , intel_cfl_gt1_device , name , "Intel(R) UHD Graphics Coffee Lake Mobile GT1" );
825+ cfl_gt1_break :
826+ intel_cfl_gt1_device .device_id = device_id ;
827+ intel_cfl_gt1_device .platform = cl_get_platform_default ();
828+ ret = & intel_cfl_gt1_device ;
829+ cl_intel_platform_get_default_extension (ret );
830+ #ifdef ENABLE_FP64
831+ cl_intel_platform_enable_extension (ret , cl_khr_fp64_ext_id );
832+ #endif
833+ cl_intel_platform_enable_extension (ret , cl_khr_fp16_ext_id );
834+ break ;
835+
836+ case PCI_CHIP_COFFEELAKE_S_GT2_1 :
837+ case PCI_CHIP_COFFEELAKE_S_GT2_2 :
838+ case PCI_CHIP_COFFEELAKE_S_GT2_3 :
839+ case PCI_CHIP_COFFEELAKE_S_GT2_4 :
840+ DECL_INFO_STRING (cfl_gt2_break , intel_cfl_gt2_device , name , "Intel(R) UHD Graphics Coffee Lake Desktop GT2" );
841+ case PCI_CHIP_COFFEELAKE_H_GT2_1 :
842+ case PCI_CHIP_COFFEELAKE_H_GT2_2 :
843+ DECL_INFO_STRING (cfl_gt2_break , intel_cfl_gt2_device , name , "Intel(R) UHD Graphics Coffee Lake Halo GT2" );
844+ case PCI_CHIP_COFFEELAKE_U_GT2_1 :
845+ case PCI_CHIP_COFFEELAKE_U_GT2_2 :
846+ case PCI_CHIP_COFFEELAKE_U_GT2_3 :
847+ DECL_INFO_STRING (cfl_gt2_break , intel_cfl_gt2_device , name , "Intel(R) UHD Graphics Coffee Lake Mobile GT2" );
848+ cfl_gt2_break :
849+ intel_cfl_gt2_device .device_id = device_id ;
850+ intel_cfl_gt2_device .platform = cl_get_platform_default ();
851+ ret = & intel_cfl_gt2_device ;
852+ cl_intel_platform_get_default_extension (ret );
853+ #ifdef ENABLE_FP64
854+ cl_intel_platform_enable_extension (ret , cl_khr_fp64_ext_id );
855+ #endif
856+ cl_intel_platform_enable_extension (ret , cl_khr_fp16_ext_id );
857+ break ;
858+
859+ case PCI_CHIP_COFFEELAKE_U_GT3_1 :
860+ case PCI_CHIP_COFFEELAKE_U_GT3_2 :
861+ case PCI_CHIP_COFFEELAKE_U_GT3_3 :
862+ case PCI_CHIP_COFFEELAKE_U_GT3_4 :
863+ case PCI_CHIP_COFFEELAKE_U_GT3_5 :
864+ DECL_INFO_STRING (cfl_gt3_break , intel_cfl_gt3_device , name , "Intel(R) UHD Graphics Coffee Lake Mobile GT3" );
865+ cfl_gt3_break :
866+ intel_cfl_gt3_device .device_id = device_id ;
867+ intel_cfl_gt3_device .platform = cl_get_platform_default ();
868+ ret = & intel_cfl_gt3_device ;
869+ cl_intel_platform_get_default_extension (ret );
870+ #ifdef ENABLE_FP64
871+ cl_intel_platform_enable_extension (ret , cl_khr_fp64_ext_id );
872+ #endif
873+ cl_intel_platform_enable_extension (ret , cl_khr_fp16_ext_id );
874+ break ;
875+
788876 case PCI_CHIP_SANDYBRIDGE_BRIDGE :
789877 case PCI_CHIP_SANDYBRIDGE_GT1 :
790878 case PCI_CHIP_SANDYBRIDGE_GT2 :
@@ -992,7 +1080,10 @@ LOCAL cl_bool is_gen_device(cl_device_id device) {
9921080 device == & intel_kbl_gt3_device ||
9931081 device == & intel_kbl_gt4_device ||
9941082 device == & intel_glk18eu_device ||
995- device == & intel_glk12eu_device ;
1083+ device == & intel_glk12eu_device ||
1084+ device == & intel_cfl_gt1_device ||
1085+ device == & intel_cfl_gt2_device ||
1086+ device == & intel_cfl_gt3_device ;
9961087}
9971088
9981089LOCAL cl_int
@@ -1420,7 +1511,9 @@ cl_device_get_version(cl_device_id device, cl_int *ver)
14201511 || device == & intel_bxt18eu_device || device == & intel_bxt12eu_device || device == & intel_kbl_gt1_device
14211512 || device == & intel_kbl_gt2_device || device == & intel_kbl_gt3_device
14221513 || device == & intel_kbl_gt4_device || device == & intel_kbl_gt15_device
1423- || device == & intel_glk18eu_device || device == & intel_glk12eu_device ) {
1514+ || device == & intel_glk18eu_device || device == & intel_glk12eu_device
1515+ || device == & intel_cfl_gt1_device || device == & intel_cfl_gt1_device
1516+ || device == & intel_cfl_gt3_device ) {
14241517 * ver = 9 ;
14251518 } else
14261519 return CL_INVALID_VALUE ;
0 commit comments