-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Goals for the backends #161
Comments
In what way are you interested in separating the backends from the frontend? The frontend is in Would you want to excise In principle we could have two systems per extension:
I'd only want to do this if there would be actual users that would profit from such a structure. Otherwise, at least as it pertains to the MAGICL project, it's over-modularizing without much purpose. |
Sorry for the delayed response, been busy with IRL things!
Both space economy, or put another way, clean dependencies from the POV of community, where you don't load what you do not use. And yes, the idea of two systems per extension is what seems ideal to me - not even (EDIT: As far as space economy itself is concerned, it doesn't really matter, a tar.gz SBCL base image is about 10 MB, with
Agree there. Currently, other than magicl, only at most one other user (library developers) is interested in this. It would make more sense to undertake this only if there are other developers (+ possibly end users of those libraries) interested in this approach. |
Hi!
I have been wanting to separate out the backend parts from the high-level parts, so that the same backend could be used by multiple high level numerical libraries -
magicl
,numcl
,petalisp
,numericals
and more, each with their own ever-so-differing high level goals and approaches.I currently have CL-CBLAS and CL-BMAS, and was comparing CL-CBLAS with MAGICL's BLAS backend. One of the differences between the CL-AUTOWRAP generated
CBLAS:DCOPY
andMAGICL.BLAS-CFFI::%%DCOPY
I noted is that the latter has all parameters as pointers, whereas the former has arrays as pointers, but then
and strides as integers. Is there a reason for this decision?In addition, is it feasible to separate out the backend into a separate system/package independent of the high-level interface?
The text was updated successfully, but these errors were encountered: