News for hackers. Stuff that matters.
Re:A Look at the AMD Zen 2 Core by ademup on Saturday July 06, 2019 @12:30PM (#20370414)
"Zen employs a dynamic predictor known as a hashed perceptron." When will Hollywood tap into this wealth of cool vocabulary?

Is this a gimmicky marketing term, or is it logical\descriptive\rational?

Re:A Look at the AMD Zen 2 Core by matt_d on Saturday July 06, 2019 @12:46PM (#20370512)
(Note: Also replied to another comment, but seems relevant here, too.)

There's a very approachable explanation in the following (around the 1:01:40 mark): https://youtu.be/8I_1TSs695I?t=1h1m40s -- part of Design of Digital Circuits - Lecture 18: Branch Prediction II (ETH Zürich, Spring 2019). Related readings: https://safari.ethz.ch/digitaltechnik/spring2019/doku.php?id....

These lectures are pretty great, by the way, highly recommended to anyone interested in computer architecture: http://people.inf.ethz.ch/omutlu/lecture-videos.html

Incidentally, this year's High-Performance Computer Architecture Test of Time Award has been given to "Dynamic Branch Prediction with Perceptrons" referenced in the lecture (from 2001, https://www.cs.utexas.edu/~lin/papers/hpca01.pdf): https://engineering.tamu.edu/news/2019/02/jimenez-receives-h....

Re:A Look at the AMD Zen 2 Core by fabianhjr on Saturday July 06, 2019 @12:37PM (#20370455)
https://www.wikiwand.com/en/Perceptron

Looks like an already studied technical description going back to 2005:

https://github.com/ChampSim/ChampSim/blob/master/branch/hash...

https://www.jilp.org/cbp2014/paper/DanielJimenez.pdf

> Introduced by Tarjan and Skadron 2005

> Basic idea:

> - Hash segments of branch history into different tables

> - Sum weights selected by hash functions, apply threshold to predict

> - Update the weights using perceptron learning

https://ieeexplore.ieee.org/document/4492487

Re:A Look at the AMD Zen 2 Core by superpermutat0r on Saturday July 06, 2019 @12:39PM (#20370465)
Hashed probably means that some features are mapped to a desired perceptron weight via a hash function. This serves as an implicit regularization and can be much more efficient (no need for a predetermined feature vector, sparse representation etc.). It's called hash trick in ML. Perceptron is a single layer NN. Dynamic predictor, a branch predictor that adapts to program input, not just some predetermined state (like a formula that was shown to be good enough for a collection of programs).
Re:A Look at the AMD Zen 2 Core by jnordwick on Saturday July 06, 2019 @02:44PM (#20371129)
In this case, I'm pretty sure it means that multiple instruction addreses are hashed to the same perceptron (or is what you said effectively the same thing in ML-speak).

Since you don't have branch predictors for each address, you share the same prediction data for multiple addresses (this is one often underlooked cost to heavily branchy code).

Re:A Look at the AMD Zen 2 Core by fgonzag on Saturday July 06, 2019 @01:35PM (#20370729)
A perceptron is a simple type of neural network that is very fast to use when already trained. So it is a real network, I don't know what hashed perceptron is but I'd guess it would have to do something with hashing the inputs to the perceptron?
Re:A Look at the AMD Zen 2 Core by _chris_ on Saturday July 06, 2019 @04:12PM (#20371642)
"Hashed" in this case simply means they did some extra work to deal with the perceptron's XOR problem, since a straight mapping of PC and branch history would led to an inability to distinguish XOR patterns.
Re:A Look at the AMD Zen 2 Core by DonHopkins on Saturday July 06, 2019 @10:22PM (#20373236)
Sounds like the main ingredient of Tacos de Sesos.
Re:A Look at the AMD Zen 2 Core by kkmx on Saturday July 06, 2019 @12:37PM (#20370457)
No, it's not a marketing term. That's literally the name of the branch predictor used. See https://www.cs.utexas.edu/~lin/papers/hpca01.pdf
Re:A Look at the AMD Zen 2 Core by mtgx on Saturday July 06, 2019 @01:52PM (#20370853)
Hollywood might go for "GameCache" instead.