@blueberry : how do I get the backing buffer of a fge ?
@qqq using (buffer m) or (.buffer ^RealGEMatrix m)
@blueberry: I just got https://github.com/uncomplicate/clojurecl/blob/master/test/clojure/uncomplicate/clojurecl/examples/jocl/hello_test.clj working
now, for writing *.cl files, is there any CLJ DSL for this?
[it feels like tehre should be but I can't find it]
there isn't because C is a better tool for that.
@blueberry: really? I would have thought something like Fortran of APL would be better suited
@qqq That's the advantage of open standards and free software. You can always create a solution that would suit you better.
@blueberry: I'm very much so thinking about it
the logic is as follows: it seems that most ops, with the exception of dot product, should be things where: I read a constant number of input fields, I do some computation, and I write one output field
and for anything in OpenCL that si supposed to be fast, most threads are ssupposed to "take the same branch"
this tends to suggest that the "computation" looks more like a "circuit/formula" than arbitrary C code
@qqq In a utopian world where memory controller does not serialize uncoalesced access, or where access to different levels of memory are not orders of magnitude slower/faster, it might be. But, the best way to test your assumptions is to try. OpenCL even supporst Spir V, so you are able to compile whatever you want to that intermediary bytecode. So far, only C and C++ are available, but nothing stops you from creating fortran or APL compiler, and ClojureCL will happily work with whatever the OpenCL driver allows.
I see. I'm only thinking about deep learning gates on a GTX 980. OpenCL can also be used for other things.