Hacker News

New stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. RSS replies are promising, but discovery is the hard part (quantumgardener.info)
    —discuss
  2. Scientists revive activity in frozen mouse brains for the first time (scientificamerican.com)
    —discuss
  3. ISS Active Thermal Control System (ATCS) Overview [pdf] (nasa.gov)
    1comments
  4. The Scale of Nature: Modeling the Mississippi River (2011) (placesjournal.org)
    —discuss
  5. Show HN: Pingularity – scheduled Ookla/iperf3 speedtest dashboard, outage alerts (pingularity.dev)
    —discuss
  6. DD Photos adds Immich integration (github.com/immich-app)
    —discuss
  7. Friction Is Good, Surrendering Agency to AI – Food for Agile Thought 563 (age-of-product.com)
    —discuss
  8. A New Experiment Meta-Strategy (chillphysicsenjoyer.substack.com)
    —discuss
  9. Show HN: Double Tick, WhatsApp chat stats computed in the browser (doubletick.pages.dev)
    —discuss
  10. When your kid starts explaining the math to you (kidswholovemath.substack.com)
    —discuss
  11. Show HN: OmaCap, a screen recorder and demo editor for Omarchy (github.com/allisonmahmood)
    1comments
  12. Restaurants Are Using AI to Advertise Their Food and people don't like it (wsj.com)
    —discuss
  13. Show HN: Sesku – local-only fever and medication log for kids (sesku.app)
    1comments
  14. Exeter Leads the Pack of UK's Most Sustainable Cities (coworkingcafe.com)
    —discuss
  15. When chat is the wrong UI (github.blog)
    —discuss
  16. The Copilot+ PC branding is dead (windowscentral.com)
    1comments
  17. RushShift – Offline AI desktop tool to search local B-roll archives by prompt (rushshift.vercel.app)
    —discuss
  18. 60 Years of Malta at the UN General Assembly (karlsnotes.com)
    —discuss
  19. I Ran 255 AI Agents to Make Three Comics. The Line Between Slop and Good Is (thoughts.jock.pl)
    —discuss
  20. LLMs are universal translators (2023) (law.harvard.edu)
    1comments
  21. Remembering Johannes Doerfert (llvm.org)
    —discuss
  22. Show HN: Hard Stop: Kernel-level preemption for autonomous AI agents (arxiv.org)
    —discuss
  23. Using Software Factories to Build a Production App [video] (youtube.com)
    —discuss
  24. We Should Be Able to Change Our Languages (jimmyhmiller.com)
    —discuss
  25. Can you use Claude Cowork to automate A/R? (revexos.com)
    —discuss
  26. Would you wear an air-quality sensor on your body? (cbc.ca)
    1comments
  27. Doubts grow over claims OpenAI agent hacked Australian Medicare portal (therecord.media)
    —discuss
  28. Financing the AI Buildout (brookings.edu)
    —discuss
  29. Show HN: Worktable, an open-source workspace for you and your agents (github.com/worktable)
    —discuss
  30. Double Split Experiment (claude.ai)
    3comments

Platform-Independent SIMD in Go

62 pointsby 1h agogo.dev
12 comments
1h agoHN ↗

This feature opens many doors for optimizing low-level performance in Go projects, that are already running multicore. IIRC there aren’t a lot of languages with built-in std lib support for SIMD and variants. Love the way Go is trying new stuff lately.

44m agoHN ↗

Vectorizing computations has been Matlabs secret sauce.

27m agoHN ↗

Does matlab these days do stuff like JIT operator fusing to avoid memory roundtrips and take advantage of FMAs?

29m agoHN ↗

Besides the usual C and C++, we have Java, .NET, D, Zig, Julia, Swift, Rust.

So yeah, also appreciate have Go in the group instead of manually having to write Assembly.

However not many languages adopt ways to manually write SIMD, because most of us have no idea how to write good SIMD code in first place, I surely don't.

12m agoHN ↗

Even with languages that adopt ways to manually write SIMD, it’s mostly left to library maintainers rather than application developers.

I work for a C++ timeseries database startup that leverages SIMD about as much as we possibly can, and except for some extremely rare places we just use libraries.

7m agoHN ↗

With AI I'm pretty sure SIMD will be easier to integrate when necessary.

52m agoHN ↗

Oh this is great, it was one of my biggest bugbears about Go since you almost always have to link C/C++ code to get the appropriate performance.

The one negative I'd say is that often autovectorisation is 'good enough' and this doesn't really tackle that gap.

46m agoHN ↗

As a first step, it might be possible to write a linter rule that rewrites suitable numeric loops to SIMD. There are already rules to rewrite several loop types, so that should be doable.

27m agoHN ↗

The poor Assembler and the unsafe package forgotten in the corner.

While reaching out to CGO is the easier way, it doesn't mean it is the only tool available in Go.

24m agoHN ↗

FWIW, there is some pretty substantial autovectorization work that is already in-flight for the Go compiler.

There's a CL stack here:

https://go.dev/cl/791740

It's hard to make predictions with an open source project, but my personal guess is some flavor of it will land (including it is already demonstrating good results without an enormous level of code complexity in the compiler and without overly slowing down compile speeds), but I guess we'll see.

It's being driven by an external contributor who has landed some good changes in the past to the Go compiler. (I think the autovectorization work might be part of their PhD or other academic research, but not sure.)

3m agoHN ↗

The problem with Go isn't performance but with the C/C++ interop overhead, even with the "30% less overhead" from a few updates ago which isnt true for 99% of cases, it isnt enough