You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Intel VTune Profiler检测到Fortran代码中__mulq开销高,该函数是什么?

__mulq函数来源与作用说明

核心定义

__mulq是Intel Fortran编译器(ifort/ifx)内置的软实现运行时函数,对应128位整数乘法运算,不属于用户侧源代码的显式定义内容,因此你无法在项目代码目录中检索到相关源码。


详细说明

  • 触发逻辑:当你的Fortran代码中使用INTEGER(kind=16)(128位大整数)类型变量执行乘法操作时,若当前编译目标的CPU架构不支持原生128位整数乘法硬件指令,Intel编译器会自动在编译生成的汇编代码中插入__mulq调用,通过软件模拟的方式完成128位乘法运算,整个过程无需用户在源代码中显式声明或调用。
  • 存在形式:__mulq的实现代码存放于Intel编译器自带的运行时库中,编译时会被静态链接进入最终的可执行文件,因此你只能在二进制文件中检索到相关符号。

性能优化建议

  • 优先排查128位整数的使用必要性:如果仅是为了避免32/64位整数运算溢出,可以评估是否可通过拆分运算步骤、优化运算逻辑的方式规避128位整数的使用,这是降低该部分开销最有效的方案。
  • 若确实需要保留128位整数运算:可以在编译参数中添加-xHost,让编译器针对当前编译环境的CPU最高支持指令集做优化,若你的CPU属于较新的Intel Xeon等系列、支持原生128位乘法指令,编译器会自动用硬件指令替代__mulq软调用,开销会大幅降低。
  • 你可以执行objdump -T 你的可执行文件路径命令,确认__mulq符号的来源,验证其是否确实来自Intel编译器运行时库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:15:03