-
sech1
-
sech1
Not an issue right now, but better to fix it before it bites us in the future
-
selsta
should we tag a new randomx release, or just update the submodule to the newest commit?
-
sech1
JIT compiler for RISC-V, macOS Apple silicon fix. Yes, it's worth enough to make a release
-
sech1
One more small PR
tevador/RandomX #284 and we can tag
-
tevador
-
tevador
I will tag after this
-
tevador
tagged v1.2.0
-
tevador
Strange, Monero RISC-V build fails
-
sech1
fails where?
-
selsta
-
selsta
linking error
-
tevador
does monero set ARCH to something other than riscv64?
-
tevador
because the jit compiler files are not added to the build
-
m-relay
<tobtoht:monero.social> depends toolchain.cmake sets it to rv64imafdc
-
tevador
that would explain it
-
tevador
but it's dumb, the architecture is riscv64, i.e. 64-bit RISC-V
-
tevador
-
m-relay
-
tevador
set(NO_AES ON) <-- is this needed?
-
m-relay
<tobtoht:monero.social> does riscv64 have hardware aes? if yes, then no
-
tevador
the architecture has it, but it's an optional extension
-
m-relay
<tobtoht:monero.social> binaries won't start on board that don't have it
-
tevador
that's the same for x86 or ARM
-
tevador
but they don't set NO_AES there
-
tevador
NO_AES is only used in crypto/slow-hash.c together with x86 and arm-specific defines, so it should be safe to remove it
-
m-relay
-
tevador
it seems to force no AES even if the code supports it
-
m-relay
<tobtoht:monero.social> "so it should be safe to remove it" <- yeah
-
tevador
after changing the ARCH to "riscv64", the RISC-V build is taking forever, seems to be building boost, openssl, sodium etc. from source
-
selsta
it's because it doesn't use ccache this time due to changing ARCH
-
tevador
Failed. Seems to be setting -march=${ARCH_ID}, where can we disable this?
-
tevador
and the randomx build still failed to include jit_compiler_rv64.cpp
-
m-relay
-
tevador
must be some ancient assembler version
-
tevador
-
tevador
Which gcc version is it using? The RandomX CI has gcc 13.1.1.
-
m-relay
<tobtoht:monero.social> 9.4.0
-
sech1
GCC 9 is ancient and received the latest update in May 2022
-
sech1
It's better to use at least GCC 11 which is still being supported:
github.com/gcc-mirror/gcc/tree/releases/gcc-11 (last commit 7 hours ago)
-
tevador
I can fix zext.b in RandomX if needed.
-
tevador
If we really want to support ancient gcc versions...
-
sech1
Not for RISC-V probably
-
sech1
because all future RISC-V end users will install fres OS on their boards
-
sech1
*fresh
-
sech1
I'd say require GCC 11 for RISC-V
-
tevador
GCC 9.4 is from June 2021
-
sech1
-
tevador
-
sech1
huh
-
tevador
works even with gcc 8.2, which is the oldest one they have here
-
sech1
then it must be something wrong with compiler flags
-
m-relay
<tobtoht:monero.social> i'll try changing the isa string to match that
-
m-relay
<tobtoht:monero.social> missing extension maybe
-
tevador
zext.b is an alias
-
tevador
for andi r, r, 255
-
tevador
-
m-relay
<tobtoht:monero.social> ok will pick that
-
tevador
try just set(ARCH_ID "riscv64") in toolchain.cmake
-
m-relay
<tobtoht:monero.social> remove the set(ARCH)?
-
tevador
is it needed?
-
m-relay
<tobtoht:monero.social> lets see
-
tevador
-
tevador
not sure if Monero needs it
-
tevador
if that PR helps, we'll have to tag 1.2.1
-
m-relay
<tobtoht:monero.social> (1.2.0 builds fine when cherry-picked on top of #8929, uses gcc 10.3 - not important for now)
-
m-relay
<tobtoht:monero.social> trying 286
-
m-relay
-
m-relay
<tobtoht:monero.social> gcc docs seem to suggest that default is system dependent for riscv, which could introduce non-determinism
-
m-relay
<tobtoht:monero.social> so better to set ARCH explicitely
-
m-relay
-
tevador
I thought the default was rv64gc
-
m-relay
<tobtoht:monero.social> actually i'm not sure if it matters, since we're cross-compiling anyway
-
tevador
At least RandomX assumes rv64gc
-
m-relay
<tobtoht:monero.social> ok i have this
tobtoht/monero e2fd69a
-
m-relay
<tobtoht:monero.social> don't forget release
-
tevador
I'm waiting for CI to success on master
-
tevador
succeed*
-
tevador
that risc-v build took forever
-
m-relay
<tobtoht:monero.social> like watching paint dry
-
sech1
It runs risc-v build in qemu (as well as other non-x86 builds)
-
m-relay
<tobtoht:monero.social> ci cross-compiles
-
sech1
Oh, I though you were talking about RandomX CI
-
m-relay
<tobtoht:monero.social> wish those runners had more than 2 vcpus
-
sech1
Self-hosted runners can
-
sech1
Someone can CCS that
-
m-relay
<tobtoht:monero.social> didn't ginger have CCS for a speccy machine?
-
m-relay
<tobtoht:monero.social> is that thing still running
-
m-relay
<plowsof:matrix.org> last i heard from gingeropolous is that its available for devs .. Rucknium has used it in the past for things
-
gingeropolous
yep all my mining rigs are available for monero R&D
-
tevador
Now it's time to set up gitian for RISC-V so Monero can release riscv64 binaries next time.
-
selsta
working on it
-
pauliouk
happy 3000000
-
m-relay
<recanman:agoradesk.com> Yay