tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Straw proposal: MI kthread vector/fp unit API



Back in the day, these additional (potentially optional) computation units (e.g., FPU, GPU, vector engine(s)) were generically referred to as “co-processors” as a class. The debate over interface/interaction with them was hot … until their access & context became a matter of additional instructions in a given “main processor” ISA which compilers were “taught” to emit, and thus dispatch and communication was relegated to (main) processor instruction decode & scheduling (somewhat more hidden in hardware).

Oh, except for GPUs - they’re still too complex, messy, proprietary for anyone to add all those masses of instructions and their execution model to a “main” processor ISA.

I think it’d be better to call this a co-processor API (or something else along these lines less specific than “FPU”), and type the co-processor and its required, additional context for generality - just to look ahead a little bit.

Has anyone using NetBSD played with FPGAs embedded with a processor? I know that Intel was talking about adding some to its processors after they bought Altera in 2015. There is explicit provision for FPGAs in OpenCL, alongside GPUs:

https://en.wikipedia.org/wiki/OpenCL

	Erik



Home | Main Index | Thread Index | Old Index