[Bug 2060619] Re: gcc-14 offload support for amd gfx103x and gfx110x gpus is broken
Launchpad Bug Tracker
2060619 at bugs.launchpad.net
Tue Oct 15 07:47:34 UTC 2024
This bug was fixed in the package gcc-14 - 14.2.0-4ubuntu2~24.04
---------------
gcc-14 (14.2.0-4ubuntu2~24.04) noble-proposed; urgency=medium
* SRU: LP: #2073390: Backport GCC 14.2 to Ubuntu 24.04 LTS.
gcc-14 (14.2.0-4ubuntu2) oracular; urgency=medium
* Update to git 20240908 from the gcc-14 branch.
- Fix PR ipa/116410, PR tree-optimization/116501, PR c++/116219,
PR target/112108 (AArch64), PR target/116512 (x86), PR c++/116567,
PR c++/116606, PR fortran/116530, PR libstdc++/113663,
PR libstdc++/116549, PR libstdc++/116381, PR lto/116361.
* Build again gccrs on Ubuntu/i386.
gcc-14 (14.2.0-4ubuntu1) oracular; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-14 (14.2.0-4) unstable; urgency=medium
* Update to git 20240829 from the gcc-14 branch.
- Fix PR target/116390 (AVR), PR target/116407 (AVR),
PR c++/116384 (closes: #1078786).
* Disable running the tests on alpha and arm64, hanging on the buildds.
* gcc/configure.ac enables some features based on the binutils version. The
most recently checked binutils version is 2.36 for GCC 14. For now it is
safe to derive the binutils runtime dependency from the binutils build
dependency.
gcc-14 (14.2.0-3ubuntu1) oracular; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-14 (14.2.0-3) unstable; urgency=medium
* Update to git 20240817 from the gcc-14 branch.
- Fix PR target/85624 (AVR), PR target/115464 (AArch64),
PR target/116174 (x86), PR c++/116327, PR c++/104981, PR c++/115550.
- s390: Fix high-level builtins vec_gfmsum{,_accum}_128. LP: #2075567.
* Don't build gccrs on the Hurd.
* Disable building gnat on hurd-amd64, until it gets bootstrapped.
* Don't run dwz on hurd-*.
* Update symbols files for libasan, libgccjit, libstdc++ and libgphobos.
Closes: #1077492.
gcc-14 (14.2.0-2ubuntu1) oracular; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-14 (14.2.0-2) unstable; urgency=medium
* Update to git 20240811 from the gcc-14 branch.
- Fix PR target/116287 (x86), PR target/116295 (AVR), PR target/113384 (PA),
PR tree-optimization/116224, PR target/116189 (SH),
PR target/116033 (RISCV), PR tree-optimization/116156,
PR target/116043 (x86), PR target/115981 (x86), PR c++/116223,
PR c++/112632, PR c++/116071, PR c++/88313, PR c++/115897,
PR c++/115656, PR c++/115296, PR c++/112288, PR fortran/108889,
PR target/116007, PR libstdc++/116038, PR libstdc++/115399,
PR libstdc++/114387, PR libstdc++/115854, PR libstdc++/116070,
PR libstdc++/116070.
* Fix two lintian warnings for the control file.
* Build-depend on pkgconf instead of pkg-config.
* gnat: Use the GNATBIND/GNATMAKE passed from the toplevel makefile.
Provide local unversioned symlinks gnatmake and gnatbind for the build.
Closes: #1078144.
gcc-14 (14.2.0-1ubuntu1) oracular; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-14 (14.2.0-1) unstable; urgency=medium
* GCC 14.2.0 release.
* Update to git 20240801 from the gcc-14 branch.
- Fix PR target/115981 (x86).
* Show bootstrap compilers in the build log.
* Configure with --disable-multilib on loong64.
* Use the versioned gnatbind and gnatmake binaries for the build.
* Emit the config.log when the configure step fails.
* Refresh patches.
gcc-14 (14.1.0-5ubuntu1) oracular; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-14 (14.1.0-5) unstable; urgency=medium
* Update to git 20240719 from the gcc-14 branch.
- Fix PR c++/115865, PR rtl-optimization/115049, PR target/115351 (x86),
PR ipa/113787, PR tree-optimization/113673, PR target/115526 (alpha),
PR middle-end/115887, PR middle-end/115527, PR tree-optimization/115382,
PR tree-optimization/115868, PR tree-optimization/115841,
PR tree-optimization/115843, PR tree-optimization/115701,
PR tree-optimization/115701, PR tree-optimization/115867,
PR tree-optimization/115843, PR target/115459 (alpha),
PR target/115554 (RISCV), PR target/115562 (RISCV),
PR target/113719 (x86), PR target/113719 (x86), PR target/115872,
PR target/115752 (loongarch), PR target/115840 (RISCV),
PR target/115611 (ARM), PR middle-end/115836, PR target/113715 (RISCV),
PR analyzer/114899, PR c++/115476, PR c++/115165, PR c++/111890,
PR c++/115897, PR c++/106760, PR c++/115754, PR c++/99242, PR c++/99241,
PR fortran/93635, PR fortran/99798, PR fortran/103312,
PR libstdc++/113376, PR libstdc++/115522.
* On loong64, also build-depend on the gdc-14 frontend.
* Build libitm1 on loong64 and riscv64.
* Disable running the tests on x32, hanging on the buildds.
gcc-14 (14.1.0-4ubuntu2) oracular; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-14 (14.1.0-4) unstable; urgency=medium
* Update to git 20240710 from the gcc-14 branch.
- Fix PR target/115591 (RISCV), PR target/115188 (ARM),
PR target/87376 (AVR), PR target/115475 (AArch64),
PR target/115691 (PARISC), PR target/98762 (AVR), PR target/106069 (PPC),
PR target/115355 (PPC), PR target/114936 (AArch64),
PR target/88236 (AVR), PR target/115726 (AVR), PR pch/115312,
PR c/114930, PR c/115502, PR c++/115623, PR fortran/114019,
PR fortran/55978, PR fortran/115390, PR target/114890 (AArch64),
PR target/115153 (ARM), PR target/115763 (RISCV),
PR tree-optimization/115723, PR tree-optimization/115694,
PR tree-optimization/115669, PR tree-optimization/115646,
PR fortran/84006, PR fortran/100027, PR fortran/98534, PR fortran/115700,
PR libstdc++/115807, PR libstdc++/115585.
* d/p/0009-Ada-select-64-bits-time-functions-from-GNU-libc-when.diff:
Adjust for the new glibc behaviour of defining __USE_TIME_BITS64 also
on native 64-bits platforms (Simon Chopin). Addresses: #1074577.
LP: #2071605.
* Pass --package-metadata on distros with supporting linkers (starting
with Debian trixie and Ubuntu noble).
The package metadata is constructed from the environment variables
ELF_PACKAGE_METADATA.
Setting NO_PKG_METADATA=1 disables the generation of the package metadata.
* Build target libraries with -mbranch-protection=standard to enable PAC/BTI
support on arm64 (Emanuele Rocca). Addresses: #1055711.
* Build target libraries with -fno-omit-frame-pointer, when enabled in
dpkg-buildflags.
* Strip again the executables.
gcc-14 (14.1.0-3ubuntu2) oracular; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-14 (14.1.0-3) unstable; urgency=medium
* Update to git 20240630 from the gcc-14 branch.
- Fix PR tree-optimization/115278, PR target/114846 (PPC),
PR tree-optimization/115508, PR driver/115440, PR target/115342 (AArch64),
PR target/106069 (PPC), PR target/115355 (PPC), PR target/114846 (PPC),
PR c++/115624, PR c/115587, PR c++/115504, PR c++/115198, PR c++/115358,
PR libstdc++/115668, PR libstdc++/115575, PR libstdc++/115454.
- Backport a fix for an ICE on riscv64. Closes: #1071140.
* Fix typo for loong64 build dependencies.
* Disable running the tests on the Ubuntu arm64 buildds (times out).
* Starting with Ubuntu 24.10, stop building s390x multilibs.
* Fix gccrs build dependencies on the Hurd. Closes: #1073830.
* Drop the sys-auxv-header patch. Closes: #1071555.
gcc-14 (14.1.0-2ubuntu1) oracular; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-14 (14.1.0-2) unstable; urgency=medium
* Update to git 20240619 from the gcc-14 branch.
- Fix PR target/109549 (S390), PR target/115253 (ARM),
PR rtl-optimization/115281, PR target/115353 (ARM),
PR middle-end/115352, PR tree-optimization/115337, PR middle-end/108789,
PR target/115324 (PPC), PR rtl-optimization/114902,
PR rtl-optimization/115092, PR tree-optimization/115307,
PR target/115297 (alpha), PR tree-optimization/115192,
PR target/113719 (x86), PR tree-optimization/115149,
PR tree-optimization/115197, PR tree-optimization/114921,
PR target/115169 (loongarch), PR tree-optimization/115232,
PR rtl-optimization/115038, PR tree-optimization/115152,
PR sanitizer/115172, PR target/115069 (x86), PR tree-optimization/115154,
PR tree-optimization/115143, PR tree-optimization/114998,
PR middle-end/114931, PR middle-end/114931, PR ada/114708,
PR ada/115270, PR c/115290, PR middle-end/114931, PR c/114493,
PR target/111343 PR c++/115511, PR c++/99678, PR c++/115239,
PR c++/115283, PR c++/115378, PR c++/115187, PR c++/114868,
PR c++/105320, PR c++/114275, PR c++/114983, PR libstdc++/107800,
PR c++/115139, PR c++/115114, PR c++/114994, PR fortran/83865,
PR fortran/115150, PR fortran/86100, PR fortran/115039,
PR fortran/114874, PR jit/115442, PR target/115360 (ARM),
PR target/115065 (AVR), PR libstdc++/115308, PR libstdc++/115247,
PR libstdc++/114958, PR libstdc++/115335, PR libstdc++/111641,
PR libstdc++/109849, PR libstdc++/115269, PR libstdc++/114940,
PR libstdc++/115099, PR libstdc++/115119, PR libstdc++/115015,
PR libstdc++/115063, PR libstdc++/114891, PR libstdc++/114866.
* Configure again with --enable-checking=release. Closes: #1072519.
* On loong64, build-depend on GCC 14 frontends. Closes: #1072635.
* Build gccrs on x32. Closes: #1072345, #1072327.
* Don't build Ada on sparc (32bit). Closes: #1072328.
gcc-14 (14.1.0-1ubuntu1) oracular; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-14 (14.1.0-1) unstable; urgency=medium
* GCC 14.1.0 release.
* Update to git 20240514 from the gcc-14 branch.
- Fix PR target/114975 (AVR), PR tree-optimization/114965,
PR middle-end/114907, PR sanitizer/114956, PR tree-optimization/114876,
PR ipa/92606, PR c++/89224, PR c++/114856, PR c++/114889,
PR target/69374, PR target/112959, PR target/114968 (x86),
PR driver/114980, PR c++/114974, PR c++/114901, PR c++/114903,
PR fortran/114827, PR target/114981 (AVR).
[ Nicolas Boulenguez ]
* Improve the ada-lib-info-source-date-epoch patch.
* Ada: remove duplicate unused patches
* ada-749574.diff: update and apply again.
* Refresh the autogen part of ada-{armel-libatomic,link-lib}.diff.
* Ada: fix a typo in patch for PR ada/114065 breaking the build on hurd.
[ Matthias Klose ]
* Refresh patches.
* Update NEWS files.
* gcc-14: Depend on cpp-14, lost with the -for-build/-for-host changes.
* Run the tests again during the build.
* Turn on again PGO and LTO builds.
gcc-14 (14-20240429-1ubuntu1) noble; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-14 (14-20240429-1) unstable; urgency=medium
* Snapshot, taken from the trunk 20240429.
* Apply proposed patch for PR libquadmath/114533 (Simon Chopin).
Closes: #1064426. LP: #2052929.
* Don't build the libstdc++-doc package when the nodoc profile is enabled.
* Clean up some version restrictions on build-dependencies.
* Don't set the _FILE_OFFSET_BITS and _TIME_BITS macros, if the
_DISTRO_EVADE_TIME_BITS macro is defined.
See https://sourceware.org/bugzilla/show_bug.cgi?id=31624.
* Build-depend on amdgcn-tools-18, required for new gcn offload targets.
* Package the new gfx1030, gfx1036, gfx1100 and gfx1103 offload targets.
LP: #2060619.
* rs now requires cargo to bootstrap. Disable building gccrs on architectures
which don't have cargo.
Disable gccrs cross compilers. Not working upstream, more constraints
on rust macros.
* Build gnat, gdc and gm2 on loong64. Closes: #1069708.
* Integrate gnat patches from Nicolas:
- Update the ada-lib-info-source-date-epoch patch.
- Remove the pr114065-proposed patch.
- Add patches (v7) from PR ada/114065. Addresses: #1067453.
-- Matthias Klose <doko at ubuntu.com> Mon, 09 Sep 2024 15:21:53 +0200
** Changed in: gcc-14 (Ubuntu Noble)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-14 in Ubuntu.
https://bugs.launchpad.net/bugs/2060619
Title:
gcc-14 offload support for amd gfx103x and gfx110x gpus is broken
Status in gcc-14 package in Ubuntu:
Fix Released
Status in gcc-14 source package in Noble:
Fix Released
Bug description:
Hi,
for context bug was posted here first:
https://github.com/gcc-mirror/gcc/commit/1bf18629c54adf4893c8db5227a36e1952ee69a3#commitcomment-140648051
gcc Andrew Stubbs author mentions:
"Yes, it looks like the libgomp device-side library is missing. Probably not listed in the packaging script?"
using gcc-14:
gcc-14 --version
gcc-14 (Ubuntu 14-20240330-1ubuntu2) 14.0.1 20240330 (experimental) [master r14-9728-g6fc84f680d0]
using the code posted below as sum.c
testing building with offload support on gfx1036:
gcc-14 -fopenmp -foffload=amdgcn-amdhsa -foffload-
options=-march=gfx1036 -fcf-protection=none sum.c -o sumamd1030.exe
fails with:
ld: error: incompatible mach: /usr/lib/gcc/x86_64-linux-gnu/14/accel/amdgcn-amdhsa/libgomp.a(parallel.o)
collect2: error: ld returned 1 exit status
gcn mkoffload: fatal error: x86_64-linux-gnu-accel-amdgcn-amdhsa-gcc-14 returned 1 exit status
compilation terminated.
lto-wrapper: fatal error: /usr/libexec/gcc/x86_64-linux-gnu/14//accel/amdgcn-amdhsa/mkoffload returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
instead selecting gfx900 works:
gcc-14 -fopenmp -foffload=amdgcn-amdhsa -foffload-options=-march=gfx900 -fcf-protection=none sum.c -o sumamd900.exe
note gfx103x and gfx11xx targets are new to GCC-14..
inspecting files seems the error is due to package
gcc-14-offload-amdgcn_14-20240330-1ubuntu2_amd64.deb
missing libgomp.so files in
\usr\lib\gcc\x86_64-linux-gnu\14\accel\amdgcn-amdhsa\gfx1036 folder
but having this file in gfx9xx folders for ex:
\usr\lib\gcc\x86_64-linux-gnu\14\accel\amdgcn-amdhsa\gfx906 folder
code used:
sum.c:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <omp.h>
int main(int argc, char *argv[]) {
long long int j, largeN;
double sum = 0.0;
clock_t tstart, tend;
int num_dev;
num_dev = omp_get_num_devices();
printf("%d\n", num_dev);
largeN = (long long int) atoll(argv[1]);
printf("Large Number = %lld\n", largeN);
tstart = clock();
#pragma omp parallel for private(j) reduction(+:sum)
for(j=1; j<largeN; j++) {
sum += (double) (1.0/j);
}
tend = clock();
printf("Sum [1, ... , %lld] = %.6f\n", largeN, sum);
printf("\nCompleted in %.2f seconds%45s\n\n", ( (double) (tend - tstart) ) / CLOCKS_PER_SEC, "");
sum = 0.0;
tstart = clock();
#pragma omp target map(to:largeN) map(tofrom:sum)
#pragma omp parallel for simd private(j) reduction(+:sum)
for (j=1; j<largeN; j++) {
sum += (double) (1.0/j);
}
tend = clock();
printf("Sum [1, ... , %lld] = %.6f\n", largeN, sum);
printf("\nCompleted in %.2f seconds%45s\n\n", ( (double) (tend - tstart) ) / CLOCKS_PER_SEC, "");
return(0);
}
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-14/+bug/2060619/+subscriptions
More information about the foundations-bugs
mailing list