-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to run example AOMP program on V520 #193
Comments
I subsequently thought it might be due to both AOMP 11.12.0 (based on ROCm 3.10) and ROCm 4.0.0 being installed. In the /opt/rocm/llvm/examples/veccopy/ folder, I modified the Makefile with the following variable settings: Subsequently, I see the following output: What does the message 'Target HSA RTL --> "Module registering" failed refer to? The next line indicates a possible gpu arch mismatch since the GPU id of V520 is gfx1011 while I built the code for gfx900. Thanks. |
OpenMP does not yet support gfx10. You could create the corresponding gfx1011.bc file by adding the number to the devicertl cmake file, but the end result will not work correctly. I'll ping the team with this, see if we can raise the priority of gfx10 implementation. |
Thanks @JonChesterfield for your comments. I am assuming that the above debug output shows that the veccopy example runs on a gfx1011 device like a gfx9* device. Also, please let me know how to register for a notification once the gfx1011.bc is built and available to use. |
GFX10 is not expected to work on aomp. It's near the top of my todo list. That trace shows it worked better than expected (except that the runtime should probably have said 'gfx10 is unsupported, sorry' and aborted). LLVM's backend is expected to work for gfx10, but the various places in openmp that assume a wavefront size of 64 will be incorrect for gfx10 (as it has a wavefront size of 32). That might work out for some simple cases as it sort of looks like a 64 wide machine with the top half inactive. The cmake I meant is the one at https://github.com/ROCm-Developer-Tools/llvm-project/blob/aomp13.0-2/openmp/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt where a variable LIBOMPTARGET_AMDGCN_GFXLIST controls which architectures are built. I don't know of a notification system I could use. I'll probably remember to ping this thread once it's passing our tests, but unfortunately github is routed to my spam folder so there's some lag. |
AOMP support for gfx10 is TBD. See issue 187. |
Thank you Greg, Jon for prioritizing AOMP support for gfx10. Appreciate it.
…On Tue, Apr 20, 2021 at 6:59 PM Greg Rodgers ***@***.***> wrote:
AOMP support for gfx10 is TBD. See issue 187.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#193 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFPFG4FQVGNMVPKPYOCUCLDTJV6TPANCNFSM4Y4F2TWA>
.
|
Some support for gfx10 is in trunk now. It isn't heavily tested yet and has not yet reached aomp. Patch enabling it was https://reviews.llvm.org/D108708 |
@drajarshi Do you still need assistance with this ticket? If not, please close the ticket. Thanks! |
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$(shell $ (AOMP)/bin/mygpu -d gfx900)# Default AOMP_GPU is gfx900 which is vega
.......................
INSTALLED_GPU =
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
The text was updated successfully, but these errors were encountered: