Re: [RFC PATCH 0/7] A General Accelerator Framework, WarpDrive
From: Xu Zaibo <hidden>
Date: 2018-08-02 12:25:15
Also in:
kvm, linux-doc, linux-iommu, lkml
Hi, On 2018/8/2 18:10, Alan Cox wrote:
quoted
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 scale.
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. Thanks, Zaibo
.