[Beignet] [PATCH] Runtime: because double's built-ins haven't completely support, so disable it by default.
Zhigang Gong
zhigang.gong at linux.intel.com
Tue Dec 22 17:48:20 PST 2015
This patch LGTM.
Thanks,
Zhigang Gong.
> -----Original Message-----
> From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf Of
> Yang Rong
> Sent: Tuesday, December 22, 2015 4:37 PM
> To: beignet at lists.freedesktop.org
> Cc: Yang Rong <rong.r.yang at intel.com>
> Subject: [Beignet] [PATCH] Runtime: because double's built-ins haven't
> completely support, so disable it by default.
>
> Add a cmake option for it, cmake with option -DEXPERIMENTAL_DOUBLE=true
> to enable it.
> ---
> CMakeLists.txt | 6 ++++++
> src/cl_device_id.c | 21 +++++++++++++++++++++
> 2 files changed, 27 insertions(+)
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt index 8762f7c..97725ca 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -219,11 +219,17 @@ ENDIF(OCLIcd_FOUND)
>
> Find_Package(PythonInterp)
>
> +OPTION(EXPERIMENTAL_DOUBLE "Enable experimental double support" OFF)
> +IF(EXPERIMENTAL_DOUBLE)
> + ADD_DEFINITIONS(-DENABLE_FP64)
> +ENDIF(EXPERIMENTAL_DOUBLE)
> +
> OPTION(BUILD_EXAMPLES "Build examples" OFF)
> IF(BUILD_EXAMPLES)
> IF(NOT X11_FOUND)
> MESSAGE(FATAL_ERROR "XLib is necessary for examples - not found")
> ENDIF(NOT X11_FOUND)
> +
> # libva & libva-x11
> #pkg_check_modules(LIBVA REQUIRED libva>=0.36.0)
> pkg_check_modules(LIBVA REQUIRED libva) diff --git a/src/cl_device_id.c
> b/src/cl_device_id.c index a98523f..c01e3d4 100644
> --- a/src/cl_device_id.c
> +++ b/src/cl_device_id.c
> @@ -418,7 +418,9 @@ brw_gt1_break:
> intel_brw_gt1_device.platform = cl_get_platform_default();
> ret = &intel_brw_gt1_device;
> cl_intel_platform_get_default_extension(ret);
> +#ifdef ENABLE_FP64
> cl_intel_platform_enable_extension(ret, cl_khr_fp64_ext_id);
> +#endif
> cl_intel_platform_enable_extension(ret, cl_khr_fp16_ext_id);
> break;
>
> @@ -437,7 +439,9 @@ brw_gt2_break:
> intel_brw_gt2_device.platform = cl_get_platform_default();
> ret = &intel_brw_gt2_device;
> cl_intel_platform_get_default_extension(ret);
> +#ifdef ENABLE_FP64
> cl_intel_platform_enable_extension(ret, cl_khr_fp64_ext_id);
> +#endif
> cl_intel_platform_enable_extension(ret, cl_khr_fp16_ext_id);
> break;
>
> @@ -458,7 +462,9 @@ brw_gt3_break:
> intel_brw_gt3_device.platform = cl_get_platform_default();
> ret = &intel_brw_gt3_device;
> cl_intel_platform_get_default_extension(ret);
> +#ifdef ENABLE_FP64
> cl_intel_platform_enable_extension(ret, cl_khr_fp64_ext_id);
> +#endif
> cl_intel_platform_enable_extension(ret, cl_khr_fp16_ext_id);
> break;
>
> @@ -472,6 +478,9 @@ chv_break:
> intel_chv_device.platform = cl_get_platform_default();
> ret = &intel_chv_device;
> cl_intel_platform_get_default_extension(ret);
> +#ifdef ENABLE_FP64
> + cl_intel_platform_enable_extension(ret, cl_khr_fp64_ext_id);
> +#endif
> cl_intel_platform_enable_extension(ret, cl_khr_fp16_ext_id);
> break;
>
> @@ -490,6 +499,9 @@ skl_gt1_break:
> intel_skl_gt1_device.device_id = device_id;
> intel_skl_gt1_device.platform = cl_get_platform_default();
> ret = &intel_skl_gt1_device;
> +#ifdef ENABLE_FP64
> + cl_intel_platform_enable_extension(ret, cl_khr_fp64_ext_id);
> +#endif
> cl_intel_platform_get_default_extension(ret);
> cl_intel_platform_enable_extension(ret, cl_khr_fp16_ext_id);
> break;
> @@ -510,6 +522,9 @@ skl_gt2_break:
> intel_skl_gt2_device.device_id = device_id;
> intel_skl_gt2_device.platform = cl_get_platform_default();
> ret = &intel_skl_gt2_device;
> +#ifdef ENABLE_FP64
> + cl_intel_platform_enable_extension(ret, cl_khr_fp64_ext_id);
> +#endif
> cl_intel_platform_get_default_extension(ret);
> cl_intel_platform_enable_extension(ret, cl_khr_fp16_ext_id);
> break;
> @@ -525,6 +540,9 @@ skl_gt3_break:
> intel_skl_gt3_device.platform = cl_get_platform_default();
> ret = &intel_skl_gt3_device;
> cl_intel_platform_get_default_extension(ret);
> +#ifdef ENABLE_FP64
> + cl_intel_platform_enable_extension(ret, cl_khr_fp64_ext_id);
> +#endif
> cl_intel_platform_enable_extension(ret, cl_khr_fp16_ext_id);
> break;
>
> @@ -536,6 +554,9 @@ skl_gt4_break:
> intel_skl_gt4_device.device_id = device_id;
> intel_skl_gt4_device.platform = cl_get_platform_default();
> ret = &intel_skl_gt4_device;
> +#ifdef ENABLE_FP64
> + cl_intel_platform_enable_extension(ret, cl_khr_fp64_ext_id);
> +#endif
> cl_intel_platform_get_default_extension(ret);
> cl_intel_platform_enable_extension(ret, cl_khr_fp16_ext_id);
> break;
> --
> 2.1.4
>
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet
More information about the Beignet
mailing list