1、rccl测试代码更新导致编译失败,DTK缺少重要组件
问题描述: rccl测试代码更新导致编译失败,报错缺少:/opt/dtk/bin/amdclang++
结论: 官网代码Makefile上周修改为使用amdclang++,旧版本使用的是hipcc,强制修改为hipcc后,编译遇到缺少FP8相关文件。
解决方案: 修改为如下的编译指令:GPU_TARGETS=gfx936 HIPCC=hipcc MPI=1 make -j -C src build(不同型号的DCU,需要修改下设备号)
2、flash-attn报错
问题描述:
系统:ubuntu22.04
DCU: Z100L
镜像版本:pytorch-2.4.1:ubuntu22.04-dtk25.04.1-py3.10-fixpy
flash-attn:2.6.1+das.opt1.dtk25041
报错如下:

结论: flash_attn2.6.1+目前不支持K100、z100系列卡。
解决方案: 如果客户的资源是k100、z100系列卡的话,需要使用fa2.0.4版本,可以拉取fa2.0.4版本的镜像创建容器进行作业。
3、conda部署安装fastpt后souce报错
问题描述: 创建conda环境,python版本3.11,已安装DTK,fastpt ,在进入python环境,import fastpt,from fastpt.init_process import cuda_init报错,不能使用导入fastpt的init_process,source fastpt也报同样的错。
结论: 该错误出现的原因是安装使用的fastpt-2.0.1+das.dtk2504-py3-none-any.whl没有针对py3.11进行专门的适配,目前光源已更有py3.11专用版本,安装后可以正常import fastpt.init_process以及正常启用fastpt。
解决方案: 下载针对py3.11进行专门的适配的fastpt whl包,下载地址:https://download.sourcefind.cn:65024/directlink/4/fastpt/DAS1.6/fastpt-2.0.1+das.dtk25041-cp311-cp311-linux_x86_64.whl
4、hipprof --pmc得到的Performance数据和hipprof对不齐问题
问题链接: https://forum.sourcefind.cn/thread/1267
问题描述: 在DCU上优化卷积算子时,按照性能计算方式,算子比miopen的算子要慢性能要低,但是用hipprof --pmc分析算子性能时,发现hipprof返回的performance数据比miopen要好。
结论: performance给出的是该程序占用硬件计算单元的理论值,因此和计算的有差异,差异主要来自核函数中存在许多VALU相关操作,而硬件性能计数器SQ_INSTS_VALU会统计所有VALU操作,因此hipprof --pmc返回的performance数据会大很多。
5、migraphx支持自定义算子方式
问题链接: https://forum.sourcefind.cn/thread/1252
问题描述: migraphx支持自定义算子吗,可以的话大概流程怎么实现,是否有基于dtk的MIGraphX 4.1.0源代码
结论: 目前migraphx自定义算子还处于实验阶段,功能尚不完善。
解决方案: 临时方案可以参考官方示例工程:https://github.com/ROCm/AMDMIGraphX/blob/develop/examples/migraphx/custom_op_hip_kernel/custom_op_hip_kernel.cpp

暂无数据
第一个问题,可以考虑使用老版本的代码进行编译:
git clone https://github.com/ROCm/rccl-tests.git -b master
# 老版本的分支没有支持 fp8,因此老的软件栈,DTK-25.04/DTK-25.04.1同样也是支持的
git reset --hard 5e838ad9df47079e0e586ed38049f4f579ea462d
cd rccl-tests/
# (可选)解决 block的警告问题
vim src/Makefile +32
# 第32行后面增加变量:--gpu-max-threads-per-block=1024
# 开始编译,注意其中 ROCM_HOME、MPI_HOME需要替换实际的DTK路径,MPI路径
make ROCM_HOME=/opt/dtk NCCL_HOME=/opt/dtk/rccl CUSTOM_RCCL_LIB=/opt/dtk/rccl/lib/librccl.so MPI=1 MPI_HOME=/usr/mpi/gcc/openmpi-4.1.7rc1 -j8