You need to enable JavaScript to run this app. 为什么调用clEnqueueNDRangeKernel会触发浮点异常(SIGFPE)崩溃?
优惠活动
大模型
产品
解决方案
定价
更多

为什么调用clEnqueueNDRangeKernel会触发浮点异常(SIGFPE)崩溃?

clEnqueueNDRangeKernel触发SIGFPE的相关说明

clEnqueueNDRangeKernel的标准实现逻辑不包含浮点运算步骤,官方没有该函数自身执行非法浮点运算触发异常的已知案例。绝大多数同类问题都来自参数配置错误或者驱动侧的异常处理逻辑漏洞,常见触发场景如下:

  • 工作尺寸参数配置错误:传入的全局工作尺寸、局部工作尺寸包含0值,或局部工作尺寸不符合硬件限制,驱动底层做整除、取模运算时触发除零错误,这是最常见的SIGFPE诱因
  • 老旧版本驱动bug:部分厂商的闭源OpenCL驱动旧版本没有对非法输入做参数校验,错误进入非法运算分支抛出信号,嵌入式GPU、FPGA的OpenCL运行时出现这类问题的概率更高
  • 内核编译异常残留:clBuildProgram生成非法中间指令时,部分驱动会将浮点校验逻辑前置到入队调用阶段,提前触发异常

排查时可优先做最小验证:将全局、局部工作尺寸替换为明确合法的数值(比如全局尺寸设为16,局部尺寸设为1),确认问题是否复现;如果问题仍然存在,可尝试更新对应硬件的OpenCL驱动到最新正式版测试。

内容的提问来源于stack exchange,提问作者einpoklum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 05:24:03