[libre-riscv-dev] [isa-dev] Re: FP transcendentals (trigonometry, root/exp/log) proposal
lkcl
luke.leighton at gmail.com
Mon Sep 9 10:37:41 BST 2019
On Monday, September 9, 2019 at 7:03:58 AM UTC+1, Allen Baum wrote:
>
> At 4:45 PM -0700 9/8/19, lkcl wrote:
> >
> >
> >Yes. You can see from the differences in those commercial GPUs, they each
> made a different call. That's a clue.
> >
> >Here's the thing: the requirements in each market are so radically
> different that it is impossible to call it one way or the other.
>
> And that may be an excellent reason for a custom, rather than a standard
> extension.
>
i am relieved you said "may".
i forgot to mention: a custom extension would defeat the entire purpose of
the exercise and not meet the full requirements (and the reply was too long
already so i left it out). i would not bother to have started this thread
- at all - if the intention was to "just" have a custom extension.
clarifying the full requirements:
* a standard extension that covers the needs of the 3D embedded world,
covering the 3D and numerical computation markets
* a standard extension that covers the needs of the embedded world,
covering the 3D and numerical computation markets
* a standard extension that covers the needs of the 3d UNIX world, covering
the 3D and numerical computation markets
* a standard extension that covers the needs of the UNIX world, covering
the 3D and numerical computation markets
and for all four platforms to benefit from the shared saved development
effort which is the whole purpose of RISC-V's existence.
exactly as how BitManip covers multiple disparate markets. except that
rather than dozens of different *computer science* branches
cross-stratifying those different markets, there are only two computer
science areas: 3D and numerical computation.
logically and rationally, it is categorically the case that this will not -
and cannot - be a custom extension.
as a custom extension, if it goes into libm, gcc, numpy and other
libraries, absolute chaos a la "Alitvec SSE" ensues by becoming a de-facto
public standard out of sync with the rest of the RISC-V ecosysttem,
completely destroying the RISC-V ecosystem in the process through
conflictiing ISA allocation.
also, remember that the (very large) Open 3D Alliance markets includes
ultra-low-power embedded systems (milliwatt budget for a GPU).
Vectorisation is likely to be completely inappropriate, however scalar
transcendentals will work out fine.
making a Vector ISA a hard implementation dependency before transcendentals
can be utilised would penalise (exclude) those ultra-low-power GPU
implementors.
this *has* to be a standard extension, and it has to be scalar.
l.
More information about the libre-riscv-dev
mailing list