5 ms·
CUDA 10 in Clojure
- gleenn 8y agoNeanderthal and ClojureCUDA seem like such awesome projects, makes me wish I had more time to get into linear algebra. Is anyone doing anything fun with it they could share?
- cat199 8y agonon-ANN ML is essentially a subset of linear algebra applied to statistics. also, if you do anything involving physics simulations, (actual physics, mechanical engineering, other engineering, etc) you will likely use it. also finance. also also also.
- Zekio 8y agoBeen searching for a while trying to see if there are only CUDA libraries for Clojure and as far I can tell that is sadly the truth, no signs of any ROCm libraries available https://rocm.github.io/ https://rocm.github.io/
- Zekio 8y agoah seems I was wrong it seems https://github.com/ROCmSoftwarePlatform/mxnet https://github.com/ROCmSoftwarePlatform/mxnet could conceivably be used through two layers of interop from clojure to java to scala
- dragandj 8y agoNeanderthal has an OpenCL backend, and ClojureCL can be used for programming your own stuff, and they both work fine with ROCm's OpenCL support.
- thetricia 8y agoWonder if there'd be any lisp or clojure dsl that compiles down to fairly minimal c/cpp, so that you wouldn't have to have the cuda program be a string
- Hupriene 8y agoI really wish clojure would adopt a heredoc syntax to make embed language snippets and docstrings nicer.
- OliverM 8y agoSome codebases have adopted markdown for their docstrings, and other nice formats are only a macro away.
- Hupriene 8y agoUsing markdown doesn't fix the problem of having to escape double quotes, unless you are using a literate programming technique where the clojure code is quoted inside of the markdown instead of vice versa. Using macros only works if the formats consist entirely of balanced s-expressions.
- Jach 8y agoClojure could just adopt user-defined reader macros instead. As expected there's an open source heredoc lib[0] for Common Lisp; the feature is so easy to add though it's probably been independently added several different ways (this uses ring buffers) to who knows how many projects. [0] https://github.com/e-user/cl-heredoc https://github.com/e-user/cl-heredoc alas gpl3, but no matter, easy to write your own
- didibus 8y agoYa, it could be a good addition. But I dunno. For docstring I'd rather it just adopted a markup which everyone used. Heredoc would create too many kind of markups for doc I feel. And for language embeds, I'm also torned. Because in a way, it is way nicer to use EDN and create a conversion layer from it to the underlying language. Basically, I feel like there's a lot to gain from sticking to standard Clojure syntax. Like is the case for core.logic, hiccup, garden, etc. The benefits being, they become first class this way. And then you can build macros on top, create them through functions, etc.
- adrianm 8y agoThe experimental CUDA bindings for LWJGL3 might also be an interesting target for Clojure interop: https://github.com/LWJGL/lwjgl3/blob/master/modules/samples/src/test/java/org/lwjgl/demo/cuda/HelloCUDA.java https://github.com/LWJGL/lwjgl3/blob/master/modules/samples/... LWJGL3 is full of hidden treasures.
- dr_teh 8y agoDragan does it again
- squaredpants 8y agoHe does rock!
- thom 8y agoReminder that you can support Dragan's work on Patreon, if it's acceptable to post here: https://www.patreon.com/draganrocks https://www.patreon.com/draganrocks