gms.tf

gms.tf · Personal blog · on HN since 2018

The personal technical blog at gms.tf covers RISC-V, Linux internals, build tools like Meson, and small hardware and audio projects.

What HN saysHN commenters cite its RISC-V vector article to explain vector-length-agnostic design, and discuss its syscall cost measurements across different CPUs.
16HN people shared it
7linked it in comments
19stories submitted
377story points
7 months agolast shared
2018people per year2026

Most-shared posts

  1. 1
    Programming with RISC-V Vector Instructions
    6 people · 162 points · first shared 2020 · 35 comments on HN
  2. 2
    On the Costs of Syscalls (2021)
    4 people · 108 points · first shared 2021 · 87 comments on HN
  3. 3
    The Rise of Meson
    2 people · 79 points · first shared 2021 · 58 comments on HN
  4. 4
    Injecting Code into a Linux Process
    1 people · 6 points · first shared 2024 · discussion on HN
  5. 5
    Scanning I2C Addresses
    1 people · 5 points · first shared 2022 · discussion on HN
  6. 6
    Blocking Audio Ads
    1 people · 4 points · first shared 2024 · discussion on HN
  7. 7
  8. 8
    Dtracing Passwords for Fun
    1 people · 2 points · first shared 2018 · discussion on HN
  9. 9
    Better Datamash Build Story with Meson
    1 people · 2 points · first shared 2026 · discussion on HN
  10. 10
    Deploying full disk encryption in the cloud
    1 people · 1 points · first shared 2022 · discussion on HN
  11. 11
    Shift Typing
    1 people · 1 points · first shared 2023 · discussion on HN
  12. 12
    The curious case of nanosleep vs. HR_sleep
    1 people · 1 points · first shared 2024 · discussion on HN
  13. 13
    Std: Find() and Memchr() Optimizations (2016)
    1 people · 1 points · first shared 2020 · discussion on HN
  14. 14
    On Sprintf() Fails (2016)
    1 people · 1 points · first shared 2023 · discussion on HN

What HN people wrote when they linked it

menaerus · 2025-09-27
Where is the state/registers written to then if not L1? I'm confused. What do you say about the measurements from https://gms.tf/on-the-costs-of-syscalls.html? Table suggests that the cost is by a magnitude larger, depending on the CPU host, from 250 to 620ns.
photochemsyn · 2023-06-01
This looks like a curious case, non-fixed-length vectorization code in RISC-V: > "Perhaps the most interesting part of the open RISC-V instruction set architecture (ISA) is the vector extension (RISC-V "V"). In contrast to the average single-instruction multipe-data (SIMD) instruction set, RISC-V vector instructions are vector length agnostic (VLA). Thus, a RISC-V "V" CPU is flexible in choosing a vector register size while RISC-V "V" binary code is portable between different CPU implementations." https://gms.tf/riscv-vector.html
ZeroCool2u · 2023-03-06
Thanks, this is super helpful. I didn't know about that feature of the SVE instructions. I was curious and it looks like RISC-V takes it a step further even and is "Vector Length Agnostic"[1]. Pretty cool! [1]: https://gms.tf/riscv-vector.html
jakeogh · 2022-02-08
I checked https://NN-512.com and gituhb, trying to grok. reading: https://gms.tf/riscv-vector.html VLA (vector length agnostic) indirection makes the execution harder to control? So... RISC-V does not provide instructions for each exponent MMX(64), SSE(128), AVX(256), AVX512(512) and therefore the the compiler/assembler/human needs to use the input-length-agnostic instructions which the hardware lowers to operations that are implementation specific?
twic · 2021-08-17
RISC-V has a solution to this which seems quite elegant - the vector length is set by the program, up to some maximum, and for the final block, it is simply whatever is left: https://gms.tf/riscv-vector.html
monocasa · 2020-09-05
> That doesn't make sense --- how would the code know how much to increment pointers by, how many times to loop, alignment, etc. ? You ask the hardware. The current vector width is a register that can be set and queried. https://gms.tf/riscv-vector.html
pantalaimon · 2020-08-06
RISC-V is also adding Vector extensions. The cool thing about those is that they are variable length, so code can take advantage of newer hardware / degrade gracefully on less capable one. https://gms.tf/riscv-vector.html

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close