← Back to context

Comment by cmrdporcupine

1 month ago

I've built custom exotic architectures in Verilog with their own bespoke ISAs and weird assembler and found LLMs entirely competent at writing for them, and even building compilers to target it.

It's a weird world we live in now.

Yes, just like early optimising compilers eventually got their heuristics.

Many still haven't understood that dynamic compilers, and machine learning based optimisations are equally not deterministic, which is why benchmarks are hard to implement properly.

  • Hell, the internal complexities of scheduling/branch-prediction etc inside the processor may strictly be defined as "deterministic" but in reality cannot be fully kept in the head of a software engineer at this point, too.

    It's been a long time since I've worked on a machine I could describe as "understandable."

    Aside: One of the niceties of using agentic LLMs to do optimization work is letting them do the drudgery of creating a pile of microbenchmarks for different scenarios (scalar popcount on a this-shaped vector, or SIMD on another? which wins? sometimes the answer is surprising!). I've built all sorts of bespoke tools / harnesses for forcing them to evaluate their findings empirically, and it's amazing what can be done that would take me weeks by hand.