4
运行时
dtk 21.04/21.10 编译器不支持 omp_get_num_devices 函数,rocm 3.9.1 中的clang正常
2021-12-17 15:02:37
63

RT

基于 dtk 21.04/21.10 编译器,使用命令

hipcc --offload-arch=gfx906 -O2 -fopenmp main.c vsum.c vmul.c -o vmulsum

编译得到的程序在具有两个dcu devices的环境中运行,omp_get_num_devices()函数给出的输出结果为 omp_get_num_devices:0;

如果用rocm3.9.1中的aomp clang 基于命令

clang -O2 -target x86_64-pc-linux-gnu -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx906   main.c vsum.c vmul.c -o vmulsum

编译,则输出正确的结果:omp_get_num_devices:2

请测试修复!

全部评论(2)
只看楼主
B
bujd
1楼

OpenMP依赖的extras库还没有集成到DTK软件包里,计划下一个版本提供,可以先基于ROCm4.0的版本开发OpenMP Offload程序。

2021/12/17
W
wszhang126
回复 @bujd

谢谢!
文中的hipcc命令参数也不合适,虽然可以运行,但是却不是offload 到DCU。如果用clang的那些命令参数,会报错:
clang-12: error: no such file or directory: 'libomptarget-amdgcn-gfx906.bc'
clang-12: error: no such file or directory: 'libaompextras-amdgcn-gfx906.bc'
clang-12: error: no such file or directory: 'libbc-hostrpc-amdgcn.a'
clang-12: error: no such file or directory: 'libm-amdgcn-gfx906.bc'
应该就是如上所述extras库没有集成的问题

2021/12/19
没有更多内容了
--
楼主
Level.1
0 帖子
楼主热帖
暂无数据