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