On Mon, 25 Mar 2024, Richard Biener wrote: > Add support for the gfx1036 RDNA2 APU integrated graphics devices. The ROCm > documentation warns that these may not be supported, but it seems to work > at least partially. > > x86 host bootstrap/regtest running, target-libgomp testing for the > offload produces results comparable to those of gfx1030. The nice > thing is that gfx1036 is inside every Zen4 desktop CPU (Ryzen 7xxx) > and testing on that doesn't interfere with a separate GPU used for > your desktop (where I experienced crashes when using the GPU for both > offload and graphics). > > I'll note that while gfx1030 works with llvm14 gfx1036 needs llvm15 > as minimum version for the assembler. > > OK for trunk? > > I'll follow up with the libgomp testing test summary for archival > purposes.
Here's the result of a make -k -j4 check-target-libgomp RUNTESTFLAGS="--target_board=unix/-foffload-options=-march=gfx1036" I had to manually kill some hung processes from the OACC offload testsuite. I'll try again later this week with your locking fix applied to newlib (not sure if that's also employed for non-I/O). Richard. cat <<'EOF' | Native configuration is x86_64-pc-linux-gnu === libgomp tests === Running target unix/-foffload-options=-march=gfx1036 FAIL: libgomp.c++/../libgomp.c-c++-common/icv-7.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/teams-2.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/teams-nteams-icv-1.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/teams-nteams-icv-2.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/teams-nteams-icv-3.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/teams-nteams-icv-4.c execution test FAIL: libgomp.c++/firstprivate-2.C (test for excess errors) UNRESOLVED: libgomp.c++/firstprivate-2.C compilation failed to produce executable XPASS: libgomp.c++/target-49.C execution test FAIL: libgomp.c/../libgomp.c-c++-common/icv-7.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/teams-2.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/teams-nteams-icv-1.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/teams-nteams-icv-2.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/teams-nteams-icv-3.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/teams-nteams-icv-4.c execution test FAIL: libgomp.c/declare-variant-4-gfx1030.c (test for excess errors) FAIL: libgomp.c/declare-variant-4-gfx1100.c (test for excess errors) FAIL: libgomp.c/declare-variant-4-gfx900.c (test for excess errors) FAIL: libgomp.c/declare-variant-4-gfx906.c (test for excess errors) FAIL: libgomp.c/declare-variant-4-gfx908.c (test for excess errors) FAIL: libgomp.c/declare-variant-4-gfx90a.c (test for excess errors) FAIL: libgomp.c/declare-variant-4.c execution test FAIL: libgomp.c/declare-variant-4.c scan-amdgcn-amdhsa-offload-tree-dump optimized "= gfx[^ ]+ \\\\(\\\\);" FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/deep-copy-10.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/deep-copy-10.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 execution test FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/parallel-dims.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/parallel-dims.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 execution test FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/private-atomic-1-gang.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/private-atomic-1-gang.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 execution test FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/static-variable-1.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/static-variable-1.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 execution test FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/vprop-2.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/vprop-2.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 execution test FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/vprop.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (test for excess errors) FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/deep-copy-10.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/deep-copy-10.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 execution test WARNING: libgomp.oacc-c/../libgomp.oacc-c-c++-common/parallel-dims.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test program timed out. FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/parallel-dims.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/parallel-dims.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/private-atomic-1-gang.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test WARNING: libgomp.oacc-c/../libgomp.oacc-c-c++-common/private-atomic-1-gang.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 execution test program timed out. FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/private-atomic-1-gang.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/static-variable-1.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/static-variable-1.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/vprop-2.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/vprop-2.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/vprop.c -DACC_DEVICE_TYPE_radeon=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (test for excess errors) === libgomp Summary === # of expected passes 30181 # of unexpected failures 43 # of unexpected successes 1 # of expected failures 705 # of unresolved testcases 1 # of unsupported tests 784 Compiler version: gcc libgomp Platform: x86_64-pc-linux-gnu configure flags: --enable-languages=c,c++,fortran --disable-bootstrap --disable-libstdcxx-pch --enable-offload-targets=amdgcn-amdhsa --prefix=/abuild/rguenther/offload/install --host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu EOF Mail -s "Results for gcc libgomp testsuite on x86_64-pc-linux-gnu" gcc-testresu...@gcc.gnu.org && mv /abuild/rguenther/offload/obj-x86/./x86_64-pc-linux-gnu/libgomp/testsuite/libgomp.sum /abuild/rguenther/offload/obj-x86/./x86_64-pc-linux-gnu/libgomp/testsuite/libgomp.sum.sent && mv /abuild/rguenther/offload/obj-x86/./x86_64-pc-linux-gnu/libgomp/testsuite/libgomp.log /abuild/rguenther/offload/obj-x86/./x86_64-pc-linux-gnu/libgomp/testsuite/libgomp.log.sent && true