Clojurians, we are happy to put forth our work bringing the TVM compiler and infrastructure to clojure. It has backends for ARM, Intel, OpenCV, Cuda, OpenGL, Vulkan, ROCm, and more.
This system is currently getting state of the art performance several deep learning kernels and I demonstrate it getting great performance (usually beating by a sound margin but not always) as compared to hand optimized code in OpenCV. Utilizing years of experience writing doing HPC and GPGPU programming, we researched the best way to integrate clojure at a low level with one of the major NN toolkits. We didn't want to sit on top of them alone because we believe the underlying technology is useful in a broader context and we believe that Clojure should be a first class citizen in these ecosystems. So we spent roughly the last 6 months working on and off in infrastructure and support systems and you saw an example of the result earlier this year with the opencv bindings. So, with no further ado: 1. Light description of the overall compiler architecture and theory: http://techascent.com/blog/high-performance-compilers.html 2. Example of using the compiler: http://techascent.com/blog/tvm-for-the-win.html 3. Github project (with lots of links to more material): https://github.com/tech-ascent/tvm-clj Happy Monday from snowy Boulder, Colorado :-) -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.