Hello
I am trying to run a openMP program on a instance with AMD EPYC 7R32 CPU/ V520 GPU. This is on a AWS shared instance.
I installed AOMP 11.12.0 and the ROCm dependencies.
However, when I try to compile and run the veccopy example under AOMP install folder,
[ec2-user@ip-172-31-42-182 veccopy]$ sudo make run
Makefile:28: AOMP not found at /root/rocm/aomp
/usr/lib/aomp/bin/clang -O3 -target x86_64-pc-linux-gnu -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx900 veccopy.c -o veccopy
./veccopy
[/root/git/aomp11/amd-llvm-project/openmp/libomptarget/plugins/amdgpu/impl/system.cpp:515] Initializing the hsa runtime failed: HSA_STATUS_ERROR_OUT_OF_RESOURCES
make: *** [run] Error 1
I am unable to figure out the meaning of the above error and how to fix it.
Then I modified the Makefile to specify the GPU as gfx1011 (device type for V520) (line in bold),
[ec2-user@ip-172-31-42-182 veccopy]$ grep AOMP_GPU Makefile
# export AOMP_GPU=sm_30
INSTALLED_GPU = $(shell $(AOMP)/bin/mygpu -d gfx900)# Default AOMP_GPU is gfx900 which is vega
AOMP_GPU ?= $(INSTALLED_GPU)
AOMP_GPU = gfx1011 # for the V520 device
......................
......................
[ec2-user@ip-172-31-42-182 veccopy]$ sudo make run
Makefile:28: AOMP not found at /root/rocm/aomp
/usr/lib/aomp/bin/clang -O3 -target x86_64-pc-linux-gnu -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx1011 veccopy.c -o veccopy
clang-11: error: no such file or directory: 'libomptarget-amdgcn-gfx1011.bc'
clang-11: error: no such file or directory: 'libaompextras-amdgcn-gfx1011.bc'
make: *** [veccopy] Error 1
The bitcode file for gfx1011 is not available in the rocm install folder.
[ec2-user@ip-172-31-42-182 veccopy]$ find / -name libomptarget-amdgcn* 2>/dev/null
/usr/lib/aomp_11.12-0/lib/libdevice/libomptarget-amdgcn-gfx700.bc
/usr/lib/aomp_11.12-0/lib/libdevice/libomptarget-amdgcn-gfx701.bc
/usr/lib/aomp_11.12-0/lib/libdevice/libomptarget-amdgcn-gfx801.bc
/usr/lib/aomp_11.12-0/lib/libdevice/libomptarget-amdgcn-gfx803.bc
/usr/lib/aomp_11.12-0/lib/libdevice/libomptarget-amdgcn-gfx900.bc
/usr/lib/aomp_11.12-0/lib/libdevice/libomptarget-amdgcn-gfx902.bc
/usr/lib/aomp_11.12-0/lib/libdevice/libomptarget-amdgcn-gfx906.bc
/usr/lib/aomp_11.12-0/lib/libdevice/libomptarget-amdgcn-gfx908.bc
The same list above shows under /opt/rocm-4.0.0/llvm/lib/ as well.
Here's my rocm install list:
[ec2-user@ip-172-31-42-182 veccopy]$ rpm -qa | grep rocm
rocm-dbgapi-0.42.0.40000-23.el7.x86_64
rocm-opencl-devel-3.6Beta_17_g875c1f8_rocm_rel_4.0_23-1.x86_64
rocm-device-libs-1.0.0.637_rocm_rel_4.0_23_db8c0c3-1.x86_64
rocm-gdb-10.1_rocm_rel_4.0_23-1.x86_64
hsa-rocr-dev-1.2.40000.0_rocm_rel_4.0_23_a5173c90-1.x86_64
rocminfo-1.40000.0-1.x86_64
rocm-opencl-3.6Beta_17_g875c1f8_rocm_rel_4.0_23-1.x86_64
rocm-clang-ocl-0.5.0.64_rocm_rel_4.0_23_50fb51a-1.x86_64
rocm-smi-lib64-2.9.0.9_rocm_rel_4.0_23_4b49d2d-1.x86_64
rocm-cmake-0.3.0.153_rocm_rel_4.0_23_1d1caa5-1.x86_64
rocm-dkms-4.0.0.40000-23.el7.x86_64
comgr-1.9.0.194_rocm_rel_4.0_23_0fa438b-1.x86_64
rocm-utils-4.0.0.40000-23.el7.x86_64
rocm-smi-3.8.0-1.el7.noarch
rocm-dev-4.0.0.40000-23.el7.x86_64
Please suggest how to get the openMP examples to run successfully on the V520 GPU.
Thanks in advance.
Regards,
Rajarshi Das