Re: Second GCC 14.1 Release Candidate available from gcc.gnu.org

2024-05-06 Thread Frank Scheiner via Gcc

Bootstrapping the following configuration (with LRA enabled) looks good
for ia64, too:

```
CFLAGS="-O2 -fPIC" \
CXXFLAGS="-O2 -fPIC" \
../configure --prefix=/usr \
--enable-obsolete \
--libdir=/usr/lib \
--mandir=/usr/man \
--infodir=/usr/info \
--enable-shared \
--enable-bootstrap \
--enable-languages=c,c++,fortran \
--enable-threads=posix \
--enable-checking=release \
--with-system-zlib \
--enable-libstdcxx-dual-abi \
--with-default-libstdcxx-abi=new \
--disable-libstdcxx-pch \
--disable-libunwind-exceptions \
--enable-__cxa_atexit \
--disable-libssp \
--enable-gnu-unique-object \
--enable-plugin \
--disable-lto \
--disable-install-libiberty \
--disable-werror \
--with-gnu-ld \
--with-isl \
--verbose \
--with-arch-directory=ia64 \
--disable-gtktest \
--enable-clocale=gnu \
--disable-multilib \
--target=ia64-t2-linux-gnu \
--build=ia64-t2-linux-gnu \
--host=ia64-t2-linux-gnu
```

The addition of fortran to the enabled languages adds about 20 mins to
the bootstrap timings mentioned on [1] for the same machine (and just c
and c++):

```
time make -j9 bootstrap-lean
[...]
real295m51.942s
user2072m18.957s
sys29m0.798s
```

[1]: https://gcc.gnu.org/pipermail/gcc/2024-May/243870.html

Running the testsuites for gcc and g++ (this time with `-j4` for each,
dropping the time needed for each down to about 114 mins from 4.5 to 5
hours when each testsuite only uses one hardware thread) shows some
differences in test results compared to the results with RC1:

```
=== gcc Summary ===

gcc-14  RC2 RC1

# of expected passes133497  134528
# of unexpected failures916 909
# of unexpected successes   18  18
# of expected failures  13541365
# of unresolved testcases   20  20
# of unsupported tests  30333033

=== g++ Summary ===

gcc-14  RC2 RC1

# of expected passes246657  247363
# of unexpected failures213 200
# of expected failures  25932595
# of unresolved testcases   5   5
# of unsupported tests  11497   11496
```

For RC2 the results are aggregated from the four separate results for
each testsuite. As the failures do not increase by the same amount as
the number of expect passes decreased, I assume this is "only" an effect
of using multiple make jobs.

This is "similar" for libgomp (duration around 60 mins, with `j4`,
around 51 mins w/o `-j`), though the number of expected passes more than
doubles for the parallel case compared to the serial case, so maybe
aggregating the results for this testsuite is not correct.

I don't have enough comparison data yet for the other testsuites I ran:

* gfortran (duration around 100 mins, with `j4`)
* libatomic (duration 12 seconds, w/o `-j` ;-) )
* libstdc++ (duration around 5 hours, with `-j4`)

...to be able to tell, if the results are any worse or better. But I at
least figured out that adding `-j4` for the libstdc++ testsuite makes it
complete in just a little longer than 5 hours instead of no completion
in more than 10 hours on the same hardware mentioned in [1].

This also means that the "whole" testsuite for the configuration above
might be able to complete in around 6 hours if gcc, g++ and gfortran are
done in parallel to libstdc++ and libgomp (after libstdc++ has finished)
- IINM.

Cheers,
Frank

On 03.05.24 22:57, Jakub Jelinek via Gcc wrote:

The second release candidate for GCC 14.1 is available from

  https://gcc.gnu.org/pub/gcc/snapshots/14.1.0-RC-20240503/
  ftp://gcc.gnu.org/pub/gcc/snapshots/14.1.0-RC-20240503/

and shortly its mirrors.  It has been generated from git commit
r14-10165-g3b4d6b6ecd79df790.

The https://gcc.gnu.org/PR114935 bug has been reported and determined
a release blocker, so we'd like to get extra testing on it prior to
the release.

I have so far bootstrapped and tested the release candidate on
x86_64-linux.  Please test it and report any issues to bugzilla.

If all goes well, we'd still like to release 14.1 on Tuesday, May 7th.



Re: Second GCC 14.1 Release Candidate available from gcc.gnu.org

2024-05-06 Thread Iain Sandoe via Gcc



> On 3 May 2024, at 21:57, Jakub Jelinek via Gcc  wrote:
> 
> The second release candidate for GCC 14.1 is available from
> 
> https://gcc.gnu.org/pub/gcc/snapshots/14.1.0-RC-20240503/
> ftp://gcc.gnu.org/pub/gcc/snapshots/14.1.0-RC-20240503/
> 
> and shortly its mirrors.  It has been generated from git commit
> r14-10165-g3b4d6b6ecd79df790.
> 
> The https://gcc.gnu.org/PR114935 bug has been reported and determined
> a release blocker, so we'd like to get extra testing on it prior to
> the release.
> 
> I have so far bootstrapped and tested the release candidate on
> x86_64-linux.  Please test it and report any issues to bugzilla.
> 
> If all goes well, we'd still like to release 14.1 on Tuesday, May 7th.

Looks the same as rc1 on Darwin, thanks,
Iain



Re: Updated Sourceware infrastructure plans

2024-05-06 Thread Ben Boeckel via Gcc
On Sun, May 05, 2024 at 08:22:12 +0300, Benson Muite wrote:
> On 04/05/2024 22.56, Ben Boeckel via Overseers wrote:
> > As a fellow FOSS maintainer I definitely appreciate the benefit of being
> > email-based (`mutt` is far better at wrangling notifications from
> > umpteen places than…well basically any website is at even their own),
> > but as a *contributor* it is utterly opaque. It's not always clear if my
> > patch has been seen, if it is waiting on maintainer time, or for me to
> > do something. After one review, what is the courtesy time before pushing
> > a new patchset to avoid a review "crossing in the night" as I push more
> > patches? Did I get everyone that commented on the patch the first time
> > in the Cc list properly? Is a discussion considered resolved (FWIW,
> > Github is annoying with its conversation resolution behavior IMO;
> > GitLab's explicit closing is much better). Has it been merged? To the
> > right place? And that's for patches I author; figuring out the status of
> > patches I'm interested in but not the author of is even harder. A forge
> > surfaces a lot of this information pretty well and, to me, GitLab at
> > least offers usable enough email messages (e.g., discussions on threads
> > will thread in email too) that the public tracking of such things is far
> > more useful on the whole.
> 
> This is an area that also needs standardization of important
> functionality.  Some method of archiving the content is also helpful -
> email does this well but typically does not offer  dashboard. Sourcehut
> makes reading threads using the web interface very easy.

The other thing that email makes difficult to do: jump in on an existing
discussion without having been subscribed previously. I mean, I know
how to tell `mutt` to set an `In-Reply-To` header and munge a proper
reply by hand once I find a `Message-Id` (though a fully proper
`References` header is usually way too much work to be worth it), but
this is not something I expect others to be able to easily perform.

> Web interfaces are difficult to automate, but friendlier for occasional
> use and encouraging new contributions.  Tools separate from the version
> control system such as Gerrit, Phabricator, Rhode Code and Review Board
> also enable discussion management and overview.

Note that forges tend to have very rich APIs. It's certainly not as easy
as clicking around manually for one-off tasks or setting up a shell
pipeline to process some emails, but building automation isn't
impossible.

--Ben


Tests of gcc development beyond its testsuite (in this case, for gfortran)

2024-05-06 Thread Toon Moene
I have now, for some time, ran LAPACK's test programs on my gcc/gfortran 
builds on both on the x86_64-linux-gnu architecture, as well as the 
aarch64-linux-gnu one (see, e.g., 
http://moene.org/~toon/lapack-amd64-gfortran13-O3).


The results are rather alarming - this is r15-202 for aarch64 vs r15-204 
for x86_64 (compiled with -O3):


diff lapack-amd64-gfortran15-O3 lapack-aarch64-gfortran15-O3

3892,3895c3928,3931
< REAL   1327023 0   (0.000%)0   (0.000%)   
 
< DOUBLE PRECISION   1300917 6   (0.000%)0   (0.000%)   
 
< COMPLEX786775  0   (0.000%)0   (0.000%)   
 
< COMPLEX16  787842  0   (0.000%)0   (0.000%)   
 
---
> REAL   1317063 71  (0.005%)0   (0.000%)   
 
> DOUBLE PRECISION   1318331 54  (0.004%)4   (0.000%)   
 
> COMPLEX767023  390 (0.051%)0   (0.000%)   
 
> COMPLEX16  772338  305 (0.039%)0   (0.000%)   
 
3897c3933
< --> ALL PRECISIONS  4202557 6   (0.000%)0   
(0.000%)
---
> --> ALL PRECISIONS  4174755 820 (0.020%)4   
(0.000%)

Note the excessive exceeding the threshold for errors on the aarch64 
side (>).


Of course, this is only an excerpt of the full log file - there is more 
information in it to zoom in on the errors on the aarch64 side (note 
that the x86_64 side is not faultless).


Is there a way to pass this information to our websites, so that we do 
not "forget" this - or in the alternative, follow the progress in 
solving this ?


Kind regards,

--
Toon Moene - e-mail: t...@moene.org - phone: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands


Re: Tests of gcc development beyond its testsuite (in this case, for gfortran)

2024-05-06 Thread Andrew Pinski via Gcc
On Mon, May 6, 2024 at 2:27 PM Toon Moene  wrote:
>
> I have now, for some time, ran LAPACK's test programs on my gcc/gfortran
> builds on both on the x86_64-linux-gnu architecture, as well as the
> aarch64-linux-gnu one (see, e.g.,
> http://moene.org/~toon/lapack-amd64-gfortran13-O3).
>
> The results are rather alarming - this is r15-202 for aarch64 vs r15-204
> for x86_64 (compiled with -O3):

Did you test x86_64 with -march=native (or with -mfma) or just -O3?
The reason why I am asking is aarch64 includes FMA by default while
x86_64 does not.
Most recent x86_64 includes an FMA instruction but since the base ISA
does not include it, it is not enabled by default.
I am suspect the aarch64 "excessive exceeding the threshold for
errors" are all caused by the more use of FMA rather than anything
else.

Thanks,
Andrew Pinski

>
> diff lapack-amd64-gfortran15-O3 lapack-aarch64-gfortran15-O3
>
> 3892,3895c3928,3931
> < REAL  1327023 0   (0.000%)0   
> (0.000%)
> < DOUBLE PRECISION  1300917 6   (0.000%)0   
> (0.000%)
> < COMPLEX   786775  0   (0.000%)0   
> (0.000%)
> < COMPLEX16 787842  0   (0.000%)0   
> (0.000%)
> ---
>  > REAL 1317063 71  (0.005%)0   
> (0.000%)
>  > DOUBLE PRECISION 1318331 54  (0.004%)4   
> (0.000%)
>  > COMPLEX  767023  390 (0.051%)0   
> (0.000%)
>  > COMPLEX16772338  305 (0.039%)0   
> (0.000%)
> 3897c3933
> < --> ALL PRECISIONS4202557 6   (0.000%)0   
> (0.000%)
> ---
>  > --> ALL PRECISIONS   4174755 820 (0.020%)4   
> (0.000%)
>
> Note the excessive exceeding the threshold for errors on the aarch64
> side (>).
>
> Of course, this is only an excerpt of the full log file - there is more
> information in it to zoom in on the errors on the aarch64 side (note
> that the x86_64 side is not faultless).
>
> Is there a way to pass this information to our websites, so that we do
> not "forget" this - or in the alternative, follow the progress in
> solving this ?
>
> Kind regards,
>
> --
> Toon Moene - e-mail: t...@moene.org - phone: +31 346 214290
> Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands


Re: Tests of gcc development beyond its testsuite (in this case, for gfortran)

2024-05-06 Thread Toon Moene

On 5/6/24 23:32, Andrew Pinski wrote:


Did you test x86_64 with -march=native (or with -mfma) or just -O3?
The reason why I am asking is aarch64 includes FMA by default while
x86_64 does not.
Most recent x86_64 includes an FMA instruction but since the base ISA
does not include it, it is not enabled by default.
I am suspect the aarch64 "excessive exceeding the threshold for
errors" are all caused by the more use of FMA rather than anything
else.


Aah, I forgot to include that tidbit, because its readily apparent from 
the full logs - I compiled with *just* -O3.


Thanks,

--
Toon Moene - e-mail: t...@moene.org - phone: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands



Re: Tests of gcc development beyond its testsuite (in this case, for gfortran)

2024-05-06 Thread Toon Moene

On 5/6/24 23:35, Toon Moene wrote:


On 5/6/24 23:32, Andrew Pinski wrote:


Did you test x86_64 with -march=native (or with -mfma) or just -O3?
The reason why I am asking is aarch64 includes FMA by default while
x86_64 does not.
Most recent x86_64 includes an FMA instruction but since the base ISA
does not include it, it is not enabled by default.
I am suspect the aarch64 "excessive exceeding the threshold for
errors" are all caused by the more use of FMA rather than anything
else.


Aah, I forgot to include that tidbit, because its readily apparent from 
the full logs - I compiled with *just* -O3.


Thanks,



OK, perhaps on the aarch64 I need the following option to make the 
comparison fair:


‘rdma’

Enable Round Double Multiply Accumulate instructions. This is on by 
default for -march=armv8.1-a.


I.e., -mno-rdma

(I hope that's correct - I'll will try that when the Sun rises again and 
I have some power to run the AArch64 machine ...).


I must say I didn't expected this - the discussion on the "Intel" side 
was always that the fact that fused multiply-add instruction didn't 
express the "real computations" expressed by the program meant that they 
were evil and therefore had to be hidden behind some special compiler 
option that made it very clear that those instruction were evil.


Again, thanks to point me to the difference (in philosophy, if not math) 
between to the two continents (i.e., the Americas and Europe's - before 
Brexit - England :-)


Kind regards,

--
Toon Moene - e-mail: t...@moene.org - phone: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands