bjoto` has quit [Remote host closed the connection]
bjoto has joined #fedora-riscv
<rwmjones_>
morning
JasenChao has joined #fedora-riscv
davidlt has quit [Remote host closed the connection]
davidlt has joined #fedora-riscv
davidlt has quit [Ping timeout: 260 seconds]
davidlt has joined #fedora-riscv
<rwmjones_>
davidlt: gsl compiles on VF2 without any patches
<rwmjones_>
freefem++ and octave PRs sent
<rwmjones_>
as I'm going to this meet-up this afternoon I won't be around too much, but I'll be back tomorrow as normal
<davidlt>
rwmjones_, for gsl, it's a compiler change, it could randomly blow up most likely
<rwmjones_>
so AIUI -ffp-contract (on) allows the compiler to use FMADD instructions and similar
<rwmjones_>
which seems good to me? I think those are part of F/D extension so should be present everywhere
<rwmjones_>
I'm not really sure what could go wrong there?
bjoto has quit [Remote host closed the connection]
bjoto has joined #fedora-riscv
<davidlt>
rwmjones_, good and bad, FMA change results/precision
<rwmjones_>
true..
<rwmjones_>
but permitted by C according to the gcc manual
<davidlt>
That doesn't matter if the tests don't pass :)
<davidlt>
Back at CERN we used to disable FMAs too
<davidlt>
Mainly because it affects number, even if that's a positive thing it requires a lengthily validation and understanding the impact of physics results
<davidlt>
and Pioneer is dead again with IO errors
<rwmjones_>
this is an argument for disabling it on all arches, not on riscv64 only
<davidlt>
Well, on gsl side this seems to be pretty much all major arches: aarch64 ppc64 ppc64le s390 s390x x86_64
<davidlt>
pretty much all of what's supported?
<rwmjones_>
hmm
<rwmjones_>
alright I'll submit a PR for it
<davidlt>
Oh, it's actually a commit from Marcin from 8 years ago
<davidlt>
There are more packages that need -ffp-contract=off for sure.
<davidlt>
Otherwise it's a lottery with the compiler.
hursand has joined #fedora-riscv
<rwmjones_>
davidlt: FYI octave requires the updated rapidjson first
<davidlt>
octave will wait a bit, I dealing with golang right now
JasenChao has quit [Quit: Client closed]
<rwmjones_>
good luck with that .. golang crashes for me every time I try to compile anything on vf2
<davidlt>
anything specific?
<hursand>
davidlt Speaking of rust-sys-info we talked about yesterday, I confirmed that currently cpu_speed() will return Err(Unknown) under riscv64. This causes confusion, as generally Err(Unknown) indicates something went wrong under common arch like x86_64. So we have these options to fix this
<hursand>
1) Modify cpu_speed() and explicitly return Err(UnsupportedSystem) under riscv64, and modify test_cpu_speed() to ignore Err(UnsupportedSystem)
<hursand>
2) Only modify test_cpu_speed() to skip the test on riscv64. Actually the author used the this approach to skip the tests on Apple M1, and it requires the minimal code changes.
<hursand>
3) Create a new error enum member Err(UnsupportedArch) and return it under unsupported arch, and test_cpu_speed() needs to be modified too. This requires listing all the supported arch.
<hursand>
Which one do you prefer?
<davidlt>
(2) as a quick fix to begin win, (1) as the easy and most likely a good enough fix and (3) as a proper fix
<davidlt>
Does it really requires listing all supported arches?
<rwmjones_>
(1) or (3) sound most correct
<davidlt>
Isn't it cf macro where os == linux, arch == riscv64, return Err(UnsupportedArch)