[RFC PATCH 0/7] A General Accelerator Framework, WarpDrive
xuzaibo at huawei.com
Thu Aug 2 22:24:39 AEST 2018
On 2018/8/2 18:10, Alan Cox wrote:
>> One motivation I guess, is that most accelerators lack of a
>> well-abstracted high level APIs similar to GPU side (e.g. OpenCL
>> clearly defines Shared Virtual Memory models). VFIO mdev
>> might be an alternative common interface to enable SVA usages
>> on various accelerators...
> SVA is not IMHO the hard bit from a user level API perspective. The hard
> bit is describing what you have and enumerating the contents of the device
> especially when those can be quite dynamic and in the FPGA case can
> change on the fly.
> Right now we've got
> - FPGA manager
> - Google's recently posted ASIC patches
> - WarpDrive
> all trying to be bits of the same thing, and really there needs to be a
> single solution that handles all of this stuff properly.
> If we are going to have any kind of general purpose accelerator API then
> it has to be able to implement things like
> 'find me an accelerator with function X that is nearest my memory'
> 'find me accelerator functions X and Y that share HBM'
> 'find me accelerator functions X and Y than can be chained'
> If instead we have three API's depending upon whose accelerator you are
> using and whether it's FPGA or ASIC this is going to be a mess on a grand
Agree, at the beginning, we try to bring a notion of 'capability' which
describes 'algorithms, mem access methods .etc ',
but then, we come to realize it is the first thing that we should come
to a single solution on these things such as
memory/device access, IOMMU .etc.
More information about the Linux-accelerators