Hi,

On Thu, Aug 01, 2024 at 11:07:20PM +0200, Mark Wielaard wrote:
> Thanks to RISC-V International and SOPHGO we got a Milk-V Pioneer Box
> [*] for builder.sourceware.org that we can use for gcc CI.
> 
> It is running Fedora 38 with gdb 15.1, binutils 2.42 and gcc 14.1
> installed on top. We could create containers with other setups if
> useful.
> 
> https://builder.sourceware.org/buildbot/#/builders/gcc-full-fedora-riscv
> 
> Even though it has 64 cores, single core performance isn't very fast,
> so a gcc build and check takes ~10 hours.  This is mostly because the
> gcc build has a lot of parallelism bottlenecks so those 64 cores are
> mostly idle during the build.
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84402
> 
> Specifically one file takes ~6 hours to build, most of which isn't
> done in parallel with anything else.
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116166

The builder now applies a hack suggested in that bug that reduces the
build time from ~6 hours to ~4 hours 40 minutes.

> make check -j64 is very parallel though. It takes only 1.5 hours with
> all cores being busy most of the time.
> 
> Test results are recorded in bunsen:
> https://builder.sourceware.org/testruns/?has_keyvalue_k=testrun.git_describe&has_keyvalue_op=glob&has_keyvalue_v=*gcc-full-fedora-riscv*
> 
> PASS=572148 UNSUPPORTED=19063 XFAIL=4528 FAIL=584 XPASS=28 UNRESOLVED=15 
> WARNING=1
> 
> As can be seen in the attached test summary report most failures are
> in gcc.target/riscv/rvv/rvv.exp I assume that is because the SG2042
> implements rvv 0.7.1 and not rvv 1.0.  Is there a better way to
> configure gcc for that? Or maybe configure without rvv support at
> all?

It was suggested to just ignore the machine has rvv since it isn't 1.0
compliant. So it is now configured --with-arch=rv64gc --with-abi=lp64d
--with-multilib-list=lp64d but that didn't really change any of the
testresults since the rvv vector tests are still all run.

I guess that is because this only changes for which arch the runtime
libraries are compiled, not what instruction sets gcc itself will
produce code for.

> Configuration in in the builder repo, patches welcome:
> https://sourceware.org/cgit/builder/tree/builder/master.cfg#n4070

Thanks,

Mark

Reply via email to