uncomplicate

qqq 2017-04-20T04:48:19.771157Z

@blueberry : how do I get the backing buffer of a fge ?

2017-04-20T09:10:13.712708Z

@qqq using (buffer m) or (.buffer ^RealGEMatrix m)

qqq 2017-04-20T11:18:28.934621Z

now, for writing *.cl files, is there any CLJ DSL for this?

qqq 2017-04-20T11:18:34.935516Z

[it feels like tehre should be but I can't find it]

2017-04-20T14:57:47.877935Z

there isn't because C is a better tool for that.

qqq 2017-04-20T16:31:49.559613Z

@blueberry: really? I would have thought something like Fortran of APL would be better suited

2017-04-20T17:31:46.512294Z

@qqq That's the advantage of open standards and free software. You can always create a solution that would suit you better.

qqq 2017-04-20T18:04:33.044574Z

@blueberry: I'm very much so thinking about it

qqq 2017-04-20T18:04:57.051046Z

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

qqq 2017-04-20T18:05:15.056175Z

and for anything in OpenCL that si supposed to be fast, most threads are ssupposed to "take the same branch"

qqq 2017-04-20T18:05:35.061820Z

this tends to suggest that the "computation" looks more like a "circuit/formula" than arbitrary C code

2017-04-20T18:12:53.181129Z

@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.

qqq 2017-04-20T18:16:34.240562Z

I see. I'm only thinking about deep learning gates on a GTX 980. OpenCL can also be used for other things.