By: Jörn Engel (joern.delete@this.purestorage.com), October 8, 2022 10:02 am
Room: Moderated Discussions
--- (---.delete@this.redheron.com) on October 7, 2022 2:40 pm wrote:
>
> So, can we do anything interesting with this that's not actually NPU related?
> The most obvious possibly that struck me was random number related stuff; you can hook up these thing
> to act as LFSRs and (perhaps) generate lots of (few bit, adequate quality?) random numbers per cycle,
> then either concatenate them to generate streams of multi-bit integers uniformly distributed's or
> add 6 or 12 or so of them to generate (adequate?) gaussian values. I don't care about adversarial
> security stuff, I'm more interested in "good-enough" for various types of physics work.
You can generate one "good-enough" 64bit random number per cycle on a regular CPU. In 4 cycles you can get something borderline good enough for crypto. Not sure how many applications exist that consume random numbers at a high enough rate to care about what you propose.
And speaking of good enough, you want to avoid short sequences in your PRNG. It's easy to have a 2^64 sequence with a 64bit state and 64bit multiplications, etc. 32bit requires two registers for state and some logic to transfer state between the two halves. 8bit may result in you wasting more time moving state from register to register (or vector lane to vector lane, whatever) that you could potentially gain in speedup.
>
> So, can we do anything interesting with this that's not actually NPU related?
> The most obvious possibly that struck me was random number related stuff; you can hook up these thing
> to act as LFSRs and (perhaps) generate lots of (few bit, adequate quality?) random numbers per cycle,
> then either concatenate them to generate streams of multi-bit integers uniformly distributed's or
> add 6 or 12 or so of them to generate (adequate?) gaussian values. I don't care about adversarial
> security stuff, I'm more interested in "good-enough" for various types of physics work.
You can generate one "good-enough" 64bit random number per cycle on a regular CPU. In 4 cycles you can get something borderline good enough for crypto. Not sure how many applications exist that consume random numbers at a high enough rate to care about what you propose.
And speaking of good enough, you want to avoid short sequences in your PRNG. It's easy to have a 2^64 sequence with a 64bit state and 64bit multiplications, etc. 32bit requires two registers for state and some logic to transfer state between the two halves. 8bit may result in you wasting more time moving state from register to register (or vector lane to vector lane, whatever) that you could potentially gain in speedup.
Topic | Posted By | Date |
---|---|---|
GPNPU? | --- | 2022/10/07 02:40 PM |
GPNPU? | --- | 2022/10/07 08:23 PM |
GPNPU? | Jörn Engel | 2022/10/08 10:02 AM |
GPNPU? | --- | 2022/10/08 11:38 AM |
GPNPU? | Jörn Engel | 2022/10/08 05:16 PM |
GPNPU? | dmcq | 2022/10/09 03:58 AM |
GPNPU? | David Kanter | 2022/10/08 10:16 PM |
GPNPU? | --- | 2022/10/09 06:08 PM |
What is NPU ? (NT) | Michael S | 2022/10/09 02:50 AM |
"Neural processing unit", AFAIU (NT) | Foo_ | 2022/10/09 03:22 AM |
Training, inference or both ? (NT) | Michael S | 2022/10/09 04:03 AM |
Network Processing Unit (NT) | anonymou5 | 2022/10/09 10:37 AM |
What is NPU ? | Will W | 2022/10/09 10:25 AM |
XTLA :-) (NT) | dmcq | 2022/10/09 12:51 PM |
GPNPU? | Etienne | 2022/10/11 01:12 AM |