[Libre-soc-dev] svp64 review and "FlexiVec" alternative
lkcl
luke.leighton at gmail.com
Tue Aug 2 20:55:55 BST 2022
just fyi i subscribe to a few of the threads on comp.arch (only a few
otherwise it's easy to be overwhelmed), this one came up:
https://groups.google.com/g/comp.arch/c/18_MJmat9_M/m/6xwLndpgDwAJ
exerpt from the conversation:
My 66000 allows vectorized loops to INValidate cache lines and write
over them when it can be determined that the entire cache line will
be written. I use the term "allocate" to denote this capture of a cache
line.
Old Supercomputer applications are KNOWN to strip mine caches, and
for this reason have been mostly cache hierarchy free. Knowing that the
entire cache (or hierarchy) is going to be strip mined could enable the
STs to be write buffered and delivered directly to memory, while LDs
interrogate the cache (hierarchy) on the way to memory accepting hits,
but not replacing miss data; but buffering lines near the L1 for efficient
access. In these situations, the prefetch needs to be hundreds of cycles
in advance of the instantaneous instruction stream for data to arrive
before the machine stalls. So, a 5 GHz processor reading from 20ns
DRAM needs 100 cycles + interconnect latency to run stall free.
In addition, when Supercomputer applications use gather/scatter sending
entire lines around the interconnect waste 7/8ths of the BW.
More information about the Libre-soc-dev
mailing list