-
hycSo, the Thead C910 RISC-V processors have a major bug in their vector instruction set impl mastodon.social/@harold⊙mgp/112922089951656384
-
hycone of the vector instructions accesses physical memory directly, with no virtual address translation
-
hycsome folks seem to be trying to make a big deal about it, but realistically there's about 0 software in the world that uses vector instructions on C910
-
hycsince that only implemented the version 0.7 draft of Risc-V vector spec, and only Thead's patched gcc generated code to use it
-
hycthere is absolutely zero code in kernel or system libraries using these instructions, so mitigation by disabling the vector extension will have zero impact on OS performance
-
elucidatorsecurityweek.com/ghostwrite-vulnera…-attacks-on-devices-with-risc-v-cpu Disabling the vector extension in the CPU mitigates attacks, but also impacts performance. => yeah but what kinda performance
-
sech1anything that does math
-
sech1or video encoding etc etc
-
elucidatorYeah I was addressing the article author because that's vague. Not everybody needs such work loads.
-
elucidatorThat kinda wording sounds like you disabled cache on a ryzen..
-
\xelucidator: its like disabling a cpu instruction
-
\xsay disabling avx/2 on a modern cpu
-
elucidatorYeah, which wouldn't criple it as much
-
\xwell depends on software
-
elucidatorOfc
-
\xsay you do A + BX
-
\xnow you have to do it on two steps, B*X first then add A
-
\xnot a straight up A + BX
-
\xsome shit like that
-
elucidatorThanks for explaining basic vector math :)
-
hycagain, zero impact on the OS because nothing in the kernel or libraries would ever use those instructions
-
hycmaybe some impact in some specialized applications, because you had to go far out of your way to find a toolchain that supported that instruction set
-
hyci.e., maybe some impact in code you built yourself, specifically for this obsolete instruction set...
-
hyc(like my abandoned effort to use the instructions in RandomX ...)
-
sech1hyc I tried to use AVX512VL (256-bit registers with) in RandomX, it didn't speed up anything. The idea was that a 256-bit wide register can hold 2 RandomX FP registers, and some instructions can be merged with some others: github.com/SChernykh/xmrig/tree/avx512
-
sech1like this: SChernykh/xmrig cd6eae1