Lisp HUG Maillist Archive

LARGE SCALE MACHINE LEARNING SUPPORT IN LISP WORKS

Hello,
I am currently learning machine learning with Prof. Andrew of Stanford university via an online course in coursera.

The implementations for the ML course is mostly in Matlab/Octave.

I was wondering if i can get a good book on large scale machine learning in common Lisp.

Although i have the practical artificial intelligence in Lisp book, i have not not really gone through the book.

I know this is a LW forum, but i won't mind if i can get some pointers in the area of ML using Lisp, especially for large scale machine learning using large training examples, big data and perhaps multi-core processing.

Does LW support this? I mean for large scale ML involving big data and multi-core processing.

Thank you very much
Seyi Akadri

Re: LARGE SCALE MACHINE LEARNING SUPPORT IN LISP WORKS

Check this out:

http://www.cliki.net/linear%20algebra

Among other links on the page, there’s cl-octave, which is a foreign function interface to the Octave language that’s used in your (our) course, and there’s MGL-MAT that supports interfacing to CUDA code.

I’m thankful you asked that question. Good luck with the course!

LW

On Sep 20, 2016, at 6:53 AM, Seyi Akadri <seyiakadri@gmail.com> wrote:

Hello,
I am currently learning machine learning with Prof. Andrew of Stanford university via an online course in coursera.

The implementations for the ML course is mostly in Matlab/Octave.

I was wondering if i can get a good book on large scale machine learning in common Lisp.

Although i have the practical artificial intelligence in Lisp book, i have not not really gone through the book.

I know this is a LW forum, but i won't mind if i can get some pointers in the area of ML using Lisp, especially for large scale machine learning using large training examples, big data and perhaps multi-core processing.

Does LW support this? I mean for large scale ML involving big data and multi-core processing.

Thank you very much
Seyi Akadri

Re: LARGE SCALE MACHINE LEARNING SUPPORT IN LISP WORKS

Linear algebra in Common Lisp is currently not at all a solved problem.

Every library that I know of, except a proprietary one I used, either has an awful interface, is very slow, or uses the most insane and arcane Lisp MOP+macrology ever.

This is a space that definitely needs to be filled. I have ideas on how to approach it, but time is limited. If anyone is interested in helping design/build such a library, do get in touch.

Robert

On Tue, Sep 20, 2016 at 2:10 PM, Laughing Water <lw@mt.net> wrote:
Check this out:

http://www.cliki.net/linear%20algebra

Among other links on the page, there’s cl-octave, which is a foreign function interface to the Octave language that’s used in your (our) course, and there’s MGL-MAT that supports interfacing to CUDA code.

I’m thankful you asked that question. Good luck with the course!

LW

On Sep 20, 2016, at 6:53 AM, Seyi Akadri <seyiakadri@gmail.com> wrote:

Hello,
I am currently learning machine learning with Prof. Andrew of Stanford university via an online course in coursera.

The implementations for the ML course is mostly in Matlab/Octave.

I was wondering if i can get a good book on large scale machine learning in common Lisp.

Although i have the practical artificial intelligence in Lisp book, i have not not really gone through the book.

I know this is a LW forum, but i won't mind if i can get some pointers in the area of ML using Lisp, especially for large scale machine learning using large training examples, big data and perhaps multi-core processing.

Does LW support this? I mean for large scale ML involving big data and multi-core processing.

Thank you very much
Seyi Akadri


Re: LARGE SCALE MACHINE LEARNING SUPPORT IN LISP WORKS

Hello Robert,

I have a linear algebra library that I've been working on as time permits for a long time.

https://github.com/OdonataResearchLLC/linear-algebra

The latest work is in the feature/pentadiagonal branch..

At this point, the goal is to flesh out all of the basic functionality you would expect from a linear algebra library. I've organized it such that there is a separation between the interface and low level routines (kernel) that actually perform the math. The point of the separation is that you can code to the interface and then improve performance by improving the kernel, replacing it with something call from FFI, or some other method.

The documentation is thin/non-existent. A fairly extensive set of unit tests are implemented for the library that provide a little flavor for how to use it.

The status is that basic operations are complete and solution of dense and banded matrices are in work. The plan is to implement SVD and eigensolvers next, and then work on high performance kernels.

Please feel free to contact me if you want more information or if this library looks like it is heading in a compelling direction.

Thanks,

Tom

----------------------------------------------------------------
Thomas M. Hermann
Odonata Research LLC
316-285-0120
http://www.odonata-research.com/
http://www.linkedin.com/in/thomasmhermann

On Thu, Sep 22, 2016 at 11:31 PM, Robert Smith <quad@symbo1ics.com> wrote:
Linear algebra in Common Lisp is currently not at all a solved problem.

Every library that I know of, except a proprietary one I used, either has an awful interface, is very slow, or uses the most insane and arcane Lisp MOP+macrology ever.

This is a space that definitely needs to be filled. I have ideas on how to approach it, but time is limited. If anyone is interested in helping design/build such a library, do get in touch.

Robert

On Tue, Sep 20, 2016 at 2:10 PM, Laughing Water <lw@mt.net> wrote:
Check this out:

http://www.cliki.net/linear%20algebra

Among other links on the page, there’s cl-octave, which is a foreign function interface to the Octave language that’s used in your (our) course, and there’s MGL-MAT that supports interfacing to CUDA code.

I’m thankful you asked that question. Good luck with the course!

LW

On Sep 20, 2016, at 6:53 AM, Seyi Akadri <seyiakadri@gmail.com> wrote:

Hello,
I am currently learning machine learning with Prof. Andrew of Stanford university via an online course in coursera.

The implementations for the ML course is mostly in Matlab/Octave.

I was wondering if i can get a good book on large scale machine learning in common Lisp.

Although i have the practical artificial intelligence in Lisp book, i have not not really gone through the book.

I know this is a LW forum, but i won't mind if i can get some pointers in the area of ML using Lisp, especially for large scale machine learning using large training examples, big data and perhaps multi-core processing.

Does LW support this? I mean for large scale ML involving big data and multi-core processing.

Thank you very much
Seyi Akadri



Re: LARGE SCALE MACHINE LEARNING SUPPORT IN LISP WORKS

Linear algebra is not a problem in C with tons of high-quality and
highly optimized
commercial and open-source libraries available(BLAS/uBLAS, LAPACK,
Intell's MKL, Armadillo, Matrix Template Library, SuiteSparse to name a
few), with invested many man-years and top-of-the-edge research behind them,
so I guess better just to have good quality wrappers for them. 


Robert Smith <quad@symbo1ics.com> writes:

> Linear algebra in Common Lisp is currently not at all a solved problem.
>
> Every library that I know of, except a proprietary one I used, either has an awful interface, is very slow,
> or uses the most insane and arcane Lisp MOP+macrology ever.
>
> This is a space that definitely needs to be filled. I have ideas on how to approach it, but time is limited. If
> anyone is interested in helping design/build such a library, do get in touch.
>
> Robert
>
> On Tue, Sep 20, 2016 at 2:10 PM, Laughing Water <lw@mt.net> wrote:
>
>
>  Check this out:
>
>  http://www.cliki.net/linear%20algebra
>
>  Among other links on the page, there’s cl-octave, which is a foreign function interface to the Octave
>  language that’s used in your (our) course, and there’s MGL-MAT that supports interfacing to CUDA
>  code.
>
>  I’m thankful you asked that question. Good luck with the course!
>
>  LW
>
>  On Sep 20, 2016, at 6:53 AM, Seyi Akadri <seyiakadri@gmail.com> wrote:
>
>  Hello,
>  I am currently learning machine learning with Prof. Andrew of Stanford university via an online
>  course in coursera.
>
>  The implementations for the ML course is mostly in Matlab/Octave.
>
>  I was wondering if i can get a good book on large scale machine learning in common Lisp.
>
>  Although i have the practical artificial intelligence in Lisp book, i have not not really gone
>  through the book.
>
>  I know this is a LW forum, but i won't mind if i can get some pointers in the area of ML using
>  Lisp, especially for large scale machine learning using large training examples, big data and
>  perhaps multi-core processing.
>
>  Does LW support this? I mean for large scale ML involving big data and multi-core processing.
>
>  Thank you very much
>  Seyi Akadri
>
>
>

-- 
Br,
/Alexey

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: LARGE SCALE MACHINE LEARNING SUPPORT IN LISP WORKS

Alexey:

Making wrappers for them is a very non-trivial thing. Do you use Lisp
arrays? Foreign arrays?

If you use Lisp arrays, what do you do with GC? Pinning (non-portable,
non-reliable)? Stopping GC (possible concurrency issues)?

If you use foreign arrays, do you re-write all of Lisp's access
functions? How do you interface with Lisp array libraries? How do you
deal with GC? Finalizers (non-reliable)? What if you run out of
foreign memory space? How do you detect that and do a GC so the
finalizers can kick off?

Writing a proof-of-concept wrapper is very easy, but Getting It Right
(TM) is very difficult, in my opinion.

(FWIW: Matlisp, as conceived by Raymond Toy, used Lisp arrays with
stop-the-GC approach.)

Robert

On Mon, Sep 26, 2016 at 12:16 PM, Alexey Veretennikov
<alexey.veretennikov@gmail.com> wrote:
> Linear algebra is not a problem in C with tons of high-quality and
> highly optimized
> commercial and open-source libraries available(BLAS/uBLAS, LAPACK,
> Intell's MKL, Armadillo, Matrix Template Library, SuiteSparse to name a
> few), with invested many man-years and top-of-the-edge research behind them,
> so I guess better just to have good wrappers for them.
>
> Robert Smith <quad@symbo1ics.com> writes:
>
>> Linear algebra in Common Lisp is currently not at all a solved problem.
>>
>> Every library that I know of, except a proprietary one I used, either has an awful interface, is very slow,
>> or uses the most insane and arcane Lisp MOP+macrology ever.
>>
>> This is a space that definitely needs to be filled. I have ideas on how to approach it, but time is limited. If
>> anyone is interested in helping design/build such a library, do get in touch.
>>
>> Robert
>>
>> On Tue, Sep 20, 2016 at 2:10 PM, Laughing Water <lw@mt.net> wrote:
>>
>>
>>  Check this out:
>>
>>  http://www.cliki.net/linear%20algebra
>>
>>  Among other links on the page, there’s cl-octave, which is a foreign function interface to the Octave
>>  language that’s used in your (our) course, and there’s MGL-MAT that supports interfacing to CUDA
>>  code.
>>
>>  I’m thankful you asked that question. Good luck with the course!
>>
>>  LW
>>
>>  On Sep 20, 2016, at 6:53 AM, Seyi Akadri <seyiakadri@gmail.com> wrote:
>>
>>  Hello,
>>  I am currently learning machine learning with Prof. Andrew of Stanford university via an online
>>  course in coursera.
>>
>>  The implementations for the ML course is mostly in Matlab/Octave.
>>
>>  I was wondering if i can get a good book on large scale machine learning in common Lisp.
>>
>>  Although i have the practical artificial intelligence in Lisp book, i have not not really gone
>>  through the book.
>>
>>  I know this is a LW forum, but i won't mind if i can get some pointers in the area of ML using
>>  Lisp, especially for large scale machine learning using large training examples, big data and
>>  perhaps multi-core processing.
>>
>>  Does LW support this? I mean for large scale ML involving big data and multi-core processing.
>>
>>  Thank you very much
>>  Seyi Akadri
>>
>>
>>
>
> --
> Br,
> /Alexey

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: LARGE SCALE MACHINE LEARNING SUPPORT IN LISP WORKS

Hi,

No I don't use CL for matrix libraries, I've written what there is no sense to
implement matrix library in CL because there are tons of them really
well optimized and well tested in C, and one just have to write good
wrappers for them(believe me it is still easier than implement the good
matrix library). I understand those who implements
these libraries in CL, but personaly I wouldn't do that.


Robert Smith <quad@symbo1ics.com> writes:

> Alexey:
>
> Making wrappers for them is a very non-trivial thing. Do you use Lisp
> arrays? Foreign arrays?
>
> If you use Lisp arrays, what do you do with GC? Pinning (non-portable,
> non-reliable)? Stopping GC (possible concurrency issues)?
>
> If you use foreign arrays, do you re-write all of Lisp's access
> functions? How do you interface with Lisp array libraries? How do you
> deal with GC? Finalizers (non-reliable)? What if you run out of
> foreign memory space? How do you detect that and do a GC so the
> finalizers can kick off?
>
> Writing a proof-of-concept wrapper is very easy, but Getting It Right
> (TM) is very difficult, in my opinion.
>
> (FWIW: Matlisp, as conceived by Raymond Toy, used Lisp arrays with
> stop-the-GC approach.)
>
> Robert
>
> On Mon, Sep 26, 2016 at 12:16 PM, Alexey Veretennikov
> <alexey.veretennikov@gmail.com> wrote:
>> Linear algebra is not a problem in C with tons of high-quality and
>> highly optimized
>> commercial and open-source libraries available(BLAS/uBLAS, LAPACK,
>> Intell's MKL, Armadillo, Matrix Template Library, SuiteSparse to name a
>> few), with invested many man-years and top-of-the-edge research behind them,
>> so I guess better just to have good wrappers for them.
>>
>> Robert Smith <quad@symbo1ics.com> writes:
>>
>>> Linear algebra in Common Lisp is currently not at all a solved problem.
>>>
>>> Every library that I know of, except a proprietary one I used, either has an
>>> awful interface, is very slow,
>>> or uses the most insane and arcane Lisp MOP+macrology ever.
>>>
>>> This is a space that definitely needs to be filled. I have ideas on how to
>>> approach it, but time is limited. If
>>> anyone is interested in helping design/build such a library, do get in touch.
>>>
>>> Robert
>>>
>>> On Tue, Sep 20, 2016 at 2:10 PM, Laughing Water <lw@mt.net> wrote:
>>>
>>>
>>>  Check this out:
>>>
>>>  http://www.cliki.net/linear%20algebra
>>>
>>>  Among other links on the page, there’s cl-octave, which is a foreign
>>> function interface to the Octave
>>>  language that’s used in your (our) course, and there’s MGL-MAT that supports
>>> interfacing to CUDA
>>>  code.
>>>
>>>  I’m thankful you asked that question. Good luck with the course!
>>>
>>>  LW
>>>
>>>  On Sep 20, 2016, at 6:53 AM, Seyi Akadri <seyiakadri@gmail.com> wrote:
>>>
>>>  Hello,
>>>  I am currently learning machine learning with Prof. Andrew of Stanford
>>> university via an online
>>>  course in coursera.
>>>
>>>  The implementations for the ML course is mostly in Matlab/Octave.
>>>
>>>  I was wondering if i can get a good book on large scale machine learning in
>>> common Lisp.
>>>
>>>  Although i have the practical artificial intelligence in Lisp book, i have
>>> not not really gone
>>>  through the book.
>>>
>>>  I know this is a LW forum, but i won't mind if i can get some pointers in
>>> the area of ML using
>>>  Lisp, especially for large scale machine learning using large training
>>> examples, big data and
>>>  perhaps multi-core processing.
>>>
>>>  Does LW support this? I mean for large scale ML involving big data and
>>> multi-core processing.
>>>
>>>  Thank you very much
>>>  Seyi Akadri
>>>
>>>
>>>
>>
>> --
>> Br,
>> /Alexey

-- 
Br,
/Alexey

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Updated at: 2020-12-10 08:31 UTC