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.

Reply via email to