Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've got news for you, everybody with a modern cpu uses this, which use a perceptron for branch prediction.
 help



Indeed, some examples:

https://news.ycombinator.com/item?id=12340348 Neural network spotted deep inside Samsung's Galaxy S7 silicon brain (2016)

https://ieeexplore.ieee.org/document/831066 Towards a high performance neural branch predictor (1999)


I'm borderline shocked that all of this extra overhead is somehow more efficient than something as simple as computing both branches or something.

The required computing resources double at every branch where you take both paths, and if you speculate ahead by 100+ instructions, with let's say up to 20 branches, it gets way out of hand.

I could see CPUs sometimes taking both paths for close, hard to predict branches. Does anyone have information on that?


I believe the way things are currently trending is that architectures might turn some short hard to predict branches into predicated instructions instead (similar to x86 CMOV or some ARM conditional execution instructions). Outside of short branches the overhead for loading up to 2 instructions for every 1 that gets executed can be too costly. Branch predication on SIMD/SIMT instructions is already the way things work for GPUs and AVX256/512 from my understanding.

I didn't know that! Do you have any references that go into more depth here? I'd be curious how the architect and train it.

I believe D. A. Jimenez and C. Lin, "Dynamic branch prediction with perceptrons" is the paper which introduced the idea. It's been significantly refined since and I'm not too familiar with modern improvements, but B. Grayson et al., "Evolution of the Samsung Exynos CPU Microarchitecture" has a section on the branch predictor design which would talk about/reference some of those modern improvements.

Thank you, I'll give them a read.

Perceptron? It's only linear prediction though

At this point AI basically means "we didn't know how to solve the problem so we just threw a black box at it".

I disagree. More often than not is "We know how to solve the problem, and the solution is some linear algebra"

I disagree with both of you.

It's not about linear algebra (which is just used as a way to represent arbitrary functions), it's about data. When your problem is better specified from data than from first principles, it's time to use an ML model.


I think what you're expressing is also known as "the Bitter Lesson".

Wrong! We do how to solve the problem, but the solution does not run on an electronic board at 100 nsec. So it has to be approximated with a function that runs within that time constraint. Also, if deciding to accept/reject events based on a learned metric of typicality is not AI, then why guessing the next token is AI? We have robots going around the LHC tunnel fixing things in high radiation environment. Is that enough AI? If not, we accept volunteers to replace the robots… Relax people and try to imagine that life might be more complicated than what an oversimplified general public article says

Other news, is that HEP has used FPGAs for L0 triggers (amongst others) for decades. These always had a diverse selection criteria in their algorithms, event filters, suppression, weights etc. And just mentioning, that some custom radhard simple readout silicon from the likes of STM isn't any news either.

And for historians: Delphi people (amongst others) had papers on Higgs selection using (A)NN from LEP data (overfit :) , obviously without the 5 sigma. It was an argument for LHC.

Dear downvoters/shadowbanners: do your homework.


It's a discussion forum. Saying people are all wrong with no proof comes off as arrogant but isn't helpful. If you have links to examples, you can simply say, "Here's some prior art or previous work in this area you all might like."

People would probably upvote that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: