dopt
dopt copied to clipboard
Dcompute based backend
@WebFreak001
Have you maybe considered using opencl (or the DCompute thing there on ldc)? And maybe also mir instead of blas
DCompute would be a good option.
ping @thewilsonator
Awesome. I still need to fix a couple of things in dcompute (https://github.com/libmir/dcompute/issues/32 waiting on an ldc fix) to be fit for use.
any update on this? (@thewilsonator) would be really cool being able to use this library on a server but I don't really have a lot of understanding how this entire thing works (especially because of CUDA, but also not a lot of knowledge about dcompute, plus also because of machine learning itself)
I'm in two minds about a dcompute backend. On one hand, it would be very useful to be able to write high performance kernels in D, but on the other hand maintaining compatibility with DMD is a high priority from my point of view. Of course, it is possible to have a dcompute backend implemented as an entirely different dub package---this library has been designed with that in mind. Once the CPU backend has more operations implemented I may end up refactoring the CUDA backend into a separate package.
@WebFreak001 libmir/dcompute#32 is still waiting on ldc-developers/ldc#2508 ( hopefully goes in soon) however will need to wait for dmd 2.079 for DMD compatibility because it relies on fix for 17899 module scope initialised delegates.
Of course, it is possible to have a dcompute backend implemented as an entirely different dub package
@henrygouk it should be possible to have a precompiled set of kernels for DMD/GDC compatibility as a separate package.