Uncomplicate: Number crunching in Clojure
uncomplicate.org
uncomplicate.org
> High Performance Computing and GPGPU in Clojure: access the supercomputer on your desktop
is "what is your story for performing large computations across several networked nodes communicating via MPI" and even more so "what is your story for interacting with job schedulers like Slurm and Torque".
Following this link and clicking around leads me to believe that these libraries aren't really for that at all, and that they're mostly for doing high-performance computation on a single node (possibly in concert with another Clojure library for dealing with MPI). Which is important and also relevant to my interests! However, I'd encourage the author not to use the word "supercomputer" and to be much more explicit, because I think a lot of the people who click on links that say "high-performance parallel computing in Clojure" will care about the same stories I do and will have a similar definition of "supercomputer" to mine.
These pages certainly put your best foot forward, but they don't do a very good job of knowing who your potential users are and what information they want.
Usually the folks using MPI and the like either know python or c++ and are fine with that ecosystem where it's already well served often directly from vendors like nvidia and intel.
I am, in fact, a Python / C++ user who probably isn't switching to Clojure any time soon (unless I switch jobs).
I still think that these posts are a little light on what exactly the library's cluster story is. Your library, for instance, says "Distributed" right there on the landing page, which is already super helpful for me to know what I'm looking at at a glance.
I should note that ours also isn't "GPU first" but more "GPUs as an addon to your cluster for Deep learning" which is how the resource managers typically used in JVM land like mesos and yarn are treating it.
Stuff like: http://spark.apache.org/news/spark-wins-daytona-gray-sort-10...
Spark makes different assumptions about the computers than what MPI does. "HPC" is 99% of the time some variant of MPI with some sort of special hardware interconnect like infiniband.
It's just in general a different software stack with different assumptions.
Like I said- I work on gpu stuff for the JVM as well, the assumption is different with how the cluster is expected to be setup though.