【问题标题】:Do all the OpenCL optimization-related options default to false?是否所有与 OpenCL 优化相关的选项都默认为 false?
【发布时间】:2021-07-11 12:55:39
【问题描述】:

OpenCL 实现编译器采用(参见 2.23.0 的规范)以及以下命令行选项:

  • -cl-single-precision-constant
  • -cl-denorms-are-zero
  • -cl-fp32-correctly-rounded-divide-sqrt
  • -cl-opt-disable
  • -cl-mad-enable
  • -cl-no-signed-zeros
  • -cl-unsafe-math-optimizations
  • -cl-finite-math-only
  • -cl-fast-relaxed-math
  • -cl-uniform-work-group-size
  • -cl-no-subgroup-ifp

这些都是 OpenCL 规范要求默认为 false 的吗?如果没有,它们是否都有定义的默认值?或者 - 每个实施者是否设置了自己的默认值?

【问题讨论】:

    标签: opencl compiler-optimization compiler-options


    【解决方案1】:

    是的,如果没有明确设置,它们默认都是 false。

    根据OpenCL specification:“这些选项默认情况下未打开,因为它可能导致依赖于数学函数的 IEEE 754 规则/规范的精确实现的程序的错误输出。”

    【讨论】:

    • 但该引用仅涉及浮点相关选项。
    • 它考虑除 -cl-single-precision-constant、-cl-denorms-are-zero 和 -cl-fp32-correctly-rounded-divide-sqrt 之外的所有选项。从它们描述的上下文来看,剩下的三个 - 就像与浮点相关的选项一样 - 默认启用绝对没有意义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-15
    • 2012-08-09
    • 2019-01-21
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多