SpaceCoaster has quit [Read error: Connection reset by peer]
SpaceCoaster_ has joined #riscv
SpaceCoaster_ is now known as SpaceCoaster
EchelonX has joined #riscv
riff-IRC has quit [Quit: PROTO-IRC v0.73a (C) 1988 NetSoft - Built on 11-13-1988 on AT&T System V]
PyroPeter has quit [Ping timeout: 240 seconds]
PyroPeter has joined #riscv
ChengjunXie has quit [Ping timeout: 246 seconds]
riff-IRC has joined #riscv
BOKALDO has joined #riscv
Doraemon has joined #riscv
NeoCron has quit [Ping timeout: 260 seconds]
dlan has quit [Remote host closed the connection]
mahmutov_ has joined #riscv
mahmutov_ has quit [Quit: WeeChat 3.1]
mahmutov has joined #riscv
kaji has quit [Quit: You have been kicked for being idle]
rvalles has quit [Read error: Connection reset by peer]
rvalles has joined #riscv
pecastro has joined #riscv
BOKALDO has quit [Quit: Leaving]
dlan has joined #riscv
alexfanq1 has quit [Remote host closed the connection]
alexfanqi has joined #riscv
alexfanqi has quit [Client Quit]
alexfanqi has joined #riscv
smartin has joined #riscv
BOKALDO has joined #riscv
jellydonut has quit [Quit: jellydonut]
jellydonut has joined #riscv
jellydonut has quit [Client Quit]
jellydonut has joined #riscv
smartin has quit [Ping timeout: 265 seconds]
mahmutov has quit [Ping timeout: 256 seconds]
zjason` is now known as zjason
torbjornsd has joined #riscv
riff-IRC has quit [Quit: PROTO-IRC v0.73a (C) 1988 NetSoft - Built on 11-13-1988 on AT&T System V]
elastic_dog has quit [Ping timeout: 268 seconds]
elastic_dog has joined #riscv
torbjornsd has quit [Ping timeout: 265 seconds]
torbjornsd has joined #riscv
<ssb>
received nezha board, fired up my favourite benchmark and unexpectedly got "C" slower than without "C"
<ssb>
has anyone else noticed RVC / RV performannce difference, and in which direction?
mahmutov has joined #riscv
cousteau has joined #riscv
jellydonut has quit [Read error: Connection reset by peer]
jellydonut has joined #riscv
mahmutov has quit [Ping timeout: 265 seconds]
mahmutov has joined #riscv
Andre_H has joined #riscv
Noisytoot has quit [Read error: Connection reset by peer]
Noisytoot has joined #riscv
ntwk has quit [Ping timeout: 245 seconds]
ntwk has joined #riscv
freakazoid12345 has quit [Read error: Connection reset by peer]
freakazoid12345 has joined #riscv
peeps[zen] has joined #riscv
peepsalot has quit [Ping timeout: 268 seconds]
<jimwilson_>
normally C should make code faster, but can make it slower due to secondary effects, e.g. a label that is cache line aligned because unaligned, or two functions that mapped to different cache lines now map to the same cache line
<jimwilson_>
because -> becomes
jimwilson_ has quit [Quit: Leaving]
jacklsw has quit [Quit: Back to the real life]
vagrantc has joined #riscv
<cousteau>
just make block size 4 bytes, problem solved
<cousteau>
or 2 bytes if you want to support the C extension+
<cousteau>
...was jimwilson_ talking about the C language or the C extension?
<ssb>
C extension
<cousteau>
that would make more sense
<ssb>
(he was replying to me -- I did some benchmarking on my nezha board and found RVC to be slightly slower)
<cousteau>
I've dealt with weird cache issues in the past
<cousteau>
not "issues" as in "code doesn't work because somebody forgot to invalidate the cache", but as in "code is slower if matrix size is a multiple of a power of 2"
<ssb>
but then I tried more elaborate compilation options, involving -flto and -fprovile-generate/use and -static and got the expected result: RVC faster (but very slightly so)
<cousteau>
like, a matrix multiplication of a 96x96 matrix was slower than 95x95 or 97x97 on a powerpc, iirc
freakazoid12345 has quit [Read error: Connection reset by peer]
freakazoid12345 has joined #riscv
torbjornsd has quit [Ping timeout: 256 seconds]
<jrtc27>
RVC can also be slow if the microarchitecture is crappy
<jrtc27>
e.g. branch predictors that forget about the fact bit 1 is no longer always 0
<jrtc27>
or a fetch unit that has weird behaviour when compressed instructions are mixed in due to them being a different size
<jrtc27>
I've seen and fixed both (in the same core)
<cousteau>
I think this was a 4-way 32KB cache, so it was 4 ways * 128 lines/way * 64 bytes/line, so caching a whole column of a 32n*32n matrix of doubles (stride = 256n bytes) somehow filled up all the ways in the cache so performance went to hell
<cousteau>
...I'd need to redo the math but I think I did back in the day and it checked out
<cousteau>
jrtc27: "forget" has a penalty in efficiency, or straight out breaks the architecture because the branch starts executing at the wrong point?
<jrtc27>
should only be the former unless you really screw up, given you always need to be prepared for predictions to be wrong...
<cousteau>
(fetches an extra unnecessary instruction / straight out ignores cases with misaligned instructions / mess up)
ChengjunXie has joined #riscv
oaken-source has quit [Quit: brb]
sheb has joined #riscv
oaken-source has joined #riscv
freakazoid343 has joined #riscv
freakazoid12345 has quit [Ping timeout: 240 seconds]
<RNeese>
we have discord also for those who use it
<la_mettrie>
fuck the discord
<RNeese>
well thats where alot of the work is going on
<RNeese>
and hoping more come and help
Andre_H has quit [Quit: Leaving.]
pecastro has quit [Ping timeout: 256 seconds]
pecastro has joined #riscv
vagrantc has quit [Quit: leaving]
RNeese has left #riscv [#riscv]
<pierce>
<RNeese> "well thats where alot of the..." <- speaking of this
<pierce>
i have noticed a considerable decrease in activity here in chats and forums, it's mainly just in the mailing lists where most work is pretty invisible
<pierce>
like "oh yeah, we merged in V extensions into LLVM a while ago"