当前位置: 首页 > news >正文

hipcc编译不生成可执行文件只输出版本信息问题

这其实是hipcc脚本的一个bug。楼主今天遇到bug,死去的记忆突然攻击我,在上个月也碰到了这个问题但当时没有弄明白为啥。

使用环境变量 HIPCC_VERBOSE我们可以看到完整的编译和链接命令流。楼主得到了以下输出:

user# HIPCC_VERBOSE=1 hipcc -o reduce_scatter_demo reduce_scatter_demo.hip -I/opt/rocm-6.1.0/include -I/opt/ompi/include -L/opt/ompi/lib -L/opt/rocm-6.1.0/lib -lrccl -lmpi --offload-arch=gfx90a
hipcc-cmd: "/opt/rocm-6.1.0/llvm/bin/clang"  -isystem "/opt/rocm-6.1.0/include" --offload-arch=gfx90a -O3 -mllvm -amdgpu-early-inline-all=true -mllvm -amdgpu-function-calls=false --hip-path="/opt/rocm-6.1.0" --hip-device-lib-path="/opt/rocm-6.1.0/amdgcn/bitcode" --version --driver-mode=g++ -O3 --hip-path="/opt/rocm-6.1.0" --hip-link --rtlib=compiler-rt -unwindlib=libgcc  -o "reduce_scatter_demo" -x hip reduce_scatter_demo.hip -I/opt/rocm-6.1.0/include -I/opt/ompi/include -L/opt/ompi/lib -L/opt/rocm-6.1.0/lib -lrccl -lmpi
AMD clang version 17.0.0 (https://github.com/RadeonOpenCompute/llvm-project roc-6.1.0 24103 7db7f5e49612030319346f900c08f474b1f9023a)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/rocm-6.1.0/llvm/bin
Configuration file: /opt/rocm-6.1.0/lib/llvm/bin/clang++.cfg

HIPCC_VERBOSE=1 打印出的第一行 hipcc-cmd,这是 hipcc 真正执行的底层命令。

hipcc-cmd: "/opt/rocm-6.1.0/llvm/bin/clang" ... --hip-device-lib-path="..." --version --driver-mode=g++ ...

可以清楚地看到,在所有编译参数的中间,hipcc 脚本自己错误地插入了一个 --version 标志

当底层的 clang 编译器执行这个命令时,它看到了 --version,于是就执行了它的默认行为:打印版本信息然后立即退出。它完全忽略了后面的 -o reduce_scatter_demo、输入文件 reduce_scatter_demo.hip 以及所有链接库的请求。

检查环境变量,发现是HIPCC_COMPILE_FLAGS_APPEND 的值为 --version

在/opt/rocm-6.1.0/bin/hipcc.pl脚本的最后部分,它会检查 HIPCC_COMPILE_FLAGS_APPENDHIPCC_LINK_FLAGS_APPEND 这两个环境变量。如果它们被设置,它们的值就会被附加到 $HIPCXXFLAGS$HIPCFLAGS 变量中 。


文章转载自:

http://twsF5f63.mrskk.cn
http://tYyZCwLE.mrskk.cn
http://dA7pVeO4.mrskk.cn
http://1cc6LXZ6.mrskk.cn
http://CWNX9hwP.mrskk.cn
http://5ejSNnnF.mrskk.cn
http://NcDdYqpT.mrskk.cn
http://aUB26yMY.mrskk.cn
http://VJeaCvqO.mrskk.cn
http://7jPvQp6Y.mrskk.cn
http://D55MNlcp.mrskk.cn
http://X4B30Xkp.mrskk.cn
http://ZC65ahpW.mrskk.cn
http://HX39o6tq.mrskk.cn
http://b3QJOm60.mrskk.cn
http://4EQngWec.mrskk.cn
http://63Ct9C1e.mrskk.cn
http://NCLXyAsF.mrskk.cn
http://uvTWDT71.mrskk.cn
http://zV7fXhN6.mrskk.cn
http://tEOXKEK3.mrskk.cn
http://fAHryxSN.mrskk.cn
http://ThuiQ5ov.mrskk.cn
http://eaqMvu05.mrskk.cn
http://p0sQd4nj.mrskk.cn
http://ONljEchj.mrskk.cn
http://IFYfd1dj.mrskk.cn
http://JbircVPN.mrskk.cn
http://famT0V4X.mrskk.cn
http://SQGoSKnx.mrskk.cn
http://www.dtcms.com/a/375978.html

相关文章:

  • MatDEM一体机的技术深度分析
  • linux三剑客
  • 交换排序——冒泡排序与快速排序
  • DIY项目-校遇
  • GEO 优化系统开发:技术架构与核心实现方案
  • 【66页PPT】质量管理体系五种核心工具APQP(附下载方式)
  • MySQL InnoDB Cluster介绍,MHA、PXC、InnoDB Cluster怎么选?一文讲透MySQL高可用方案最佳实践
  • Miniconda3搭建Selenium的python虚拟环境全攻略
  • 01背包,完全背包,分组背包,多重背包例题
  • Ansible之playbook
  • MapReduce :Map阶段分区后,数据怎么找到Reducer?
  • 项目研发实录:电子称SDK封装dll给到QT和C#调用
  • 短视频矩阵源码-视频剪辑+AI智能体开发接入技术分享
  • 代码随想录算法训练营第三十五天|背包问题 二维 背包问题 一维 46. 携带研究材料 416. 分割等和子集
  • FTP文件传输服务
  • 代码随想录第七天|● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 18.四数之和
  • SAP R/3系统模块结构
  • leetcode 217 存在重复元素
  • 前端 Word 模板参入特定数据 并且下载
  • LeetCode 003. 无重复字符的最长子串 - 滑动窗口与哈希表详解
  • 深度学习(五):过拟合、欠拟合与代价函数
  • 【JS】import.meta.env,process.env,window三种环境变量获取方式的区别
  • 交付只是起点:从“纸上蓝图”到“价值闭环”的保障实践,数字孪生保障落地的“三重防护网
  • LLM大模型-大模型 API 集成使用、部署本地大模型(huggingface、modelscope)、实现Qwen和Deepseek本地部署
  • Redis的入门与应用
  • pybind11错误书
  • 在 PostgreSQL中查看有哪些用户和用户权限
  • ctfshow- web入门-XXE漏洞
  • 六级第二关———坐地铁(1)
  • 实用 html 小工具