octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Freemat Development


From: Eugene
Subject: Re: Freemat Development
Date: Tue, 23 Aug 2011 23:02:51 -0700
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20110624 Thunderbird/5.0

I've read MCVM thesis while working on JIT improvements. In MCVM they implemented only a very restricted subset of Matlab language. I started implementing this approach in FreeMat, but soon discovered that it just doesn't scale to the full language. The complexity of deriving type propagation for hundreds of built-in functions and for all the Matlab types was just too high (and too error-prone). I think the current JIT approach in FreeMat is more practical.

Eugene

On 8/23/2011 3:05 PM, Jordi Gutiérrez Hermoso wrote:
On 23 August 2011 12:56, Hamid 2C<address@hidden>  wrote:
Have you checked McVM
(http://www.sable.mcgill.ca/mclab/mcvm_mcjit.html) which is also a
MATLAB clone? It uses LLVM to do JIT compilation to the extent I
know.
I knew about it, from McGill friends. I asked them about it today.
Below is the project lead's response. Looks like they like the idea,
but their goal wasn't exactly aligned with Octave.

- Jordi G. H.

---------- Forwarded message ----------
From: Laurie Hendren<address@hidden>
Date: 2011/8/23
Subject: Re: Getting McVM into Octave
To: Jordi Gutiérrez Hermoso<address@hidden>

On 23/08/2011 4:35 PM, Jordi Gutiérrez Hermoso wrote:
Would you be able to help us get JIT into Octave itself? It's nice
that you've produced results comparable to Octave, but why compete
when you could contribute instead?

I'm a McGill graduate and I'm often around Mtl. I'm also currently
deeply involved in Octave development. If you would like to meet
face to face, I can probably be in Mtl soon to talk about it.

Thanks,
- Jordi G. H.
Hi Jordi,

I have been on sabbatical this year, but will be back in Montreal
soon. When you are next in Montreal, please let me know.

We did seriously consider building on top of Octave, and we spent some
time looking at the Octave front-end to see if it would work for our
purposes. It wouldn't work because the Octave front-end wasn't
extensible, and this was a major goal of our work. We also wanted to
build an analysis and optimization framework much in the style of our
previous work on Soot (for Java), and we wanted to implement this
framework in Java.

So, it wasn't a matter of competing, but the fact that to build an
extensible research framework for program analysis and langauge
extensions, we had to use a different approach than what is taken in
Octave. Our goal is more to provide frameworks for programming
language and compiler researchers, where I think Octave is more
focused on the end-user.

However, this is not to say that some of our research might not be
useful for Octave. I'm not sure how much work it would be to port McVM
(which is written in C++) to Octave. There probably are some
significant differences in our input IR and also the fact that we use
garbage-collection instead of reference counting for memory
management.

On our side, we would like to make use of some of the good work in
Octave in developing non-proprietary MATLAB libraries.

Cheers, Laurie

+-----------------------------------------------------------------
| Laurie Hendren, Professor, School of Computer Science, McGill
| On sabbatical until August 31, 2011.
| address@hidden,  http://www.sable.mcgill.ca/~hendren
| New McLab Project:  http://www.sable.mcgill.ca/mclab
| Other Research: http://www.sable.mcgill.ca  http://aspectbench.org
+----------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]