On Monday, 14 March 2016 08:19:25 UTC+8, Dragan Djuric wrote: > > On Monday, March 14, 2016 at 12:28:24 AM UTC+1, Mikera wrote: > >> It would be great if Neanderthal simply implemented the core.matrix >> protocols, then people could use it as a core.matrix implementation for >> situations where it makes sense. I really think it is an architectural >> dead-end for Neanderthal to develop a separate API. You'll simply get less >> users for Neanderthal and fragment the Clojure library ecosystem which >> doesn't help anyone. >> > > Mike, I explained that many times in detail what's wrong with core.matrix, > and I think it is a bit funny that you jump in every time Neanderthal is > mentioned with the same dreams about core.matrix, without even trying > Neanderthal, or discussing the issues that I raised. Every time your answer > is that core.matrix is fine for *YOUR* use cases. That's fine with me and I > support your choice, but core.matrix fell short for *MY* use cases, and > after detailed inspection I decided it was unsalvageable. If I thought I > could improve it, it would have been easier for me to do that than to spend > my time fiddling with JNI and GPU minutes. >
It would be great if you could explain this statement. What *precisely* are your technical objections? Please remember that core.matrix is primarily intended as an API, not a matrix implementation itself. The point is that different matrix implementations can implement the standard protocols, and users and library writers can then code to a standard API while maintaining flexibility to use the implementation that best suits their use cases (of which Neanderthal could certainly be one). > > I understand your emotions about core.matrix, and I empathize with you. I > support your contributions to Clojure open-source space, and am glad if > core.matrix is a fine solution for a number of people. Please also > understand that it is not a solution to every problem, and that it can also > be an obstacle, when it fells short in a challenge. > Interested to understand that statement. Please let me know what use cases you think don't work for core.matrix. A lot of people have worked on the API to make it suitable for a large class of problems, so I'm interested to know if there are any we have missed. For any point you have here, I'm happy to either: a) Explain how it *does* work b) Take it as an issue to address in the near future. > > >> In the absence of that, we'll just need to develop separate BLAS >> implementations for core.matrix. >> > > I support you. If you do a good job, I might even learn something now and > improve Neanderthal. > > >> Would be great if you could implement the core.matrix protocols and solve >> this issue. It really isn't much work, I'd even be happy to do it myself if >> Neanderthal worked on Windows (last time I tried it doesn't). >> > > I am happy that it is not much work, since it will be easy for you or > someone else to implement it ;) Contrary to what you said on slack, I am > *not against it*. I said that many times. Go for it. The only thing that I > said is that *I* do not have time for that nor I have any use of > core.matrix. > > Regarding Windows - Neanderthal works on Windows. I know this because a > student of mine compiled it (he's experimenting with an alternative GPU > backend for Neanderthal and prefers to work on Windows). As I explained to > you in the issue that you raised on GitHub last year, You have to install > ATLAS on your machine, and Neanderthal has nothing un-Windowsy in its code. > There is nothing Neanderthal specific there, it is all about comiling > ATLAS. Follow any ATLAS or Nympu + ATLAS or R + ATLAS guide for > instructions. Many people did that installation, so I doubt it'd be a real > obstacle for you. > Every time I have tried it has failed on my machine. I'm probably doing something wrong, but it certainly isn't obvious how to fix it. Can you point me to a canonical guide and binary distribution that works "out of the box"? -- 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.