[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