[pypy-dev] Interpretor for vectorized langugage
alex.gaynor at gmail.com
Thu Dec 16 20:28:08 CET 2010
On Thu, Dec 16, 2010 at 2:20 PM, Maciej Fijalkowski <fijall at gmail.com>wrote:
> On Thu, Dec 16, 2010 at 11:16 AM, Armin Rigo <arigo at tunes.org> wrote:
> > Hi,
> > On Wed, Dec 15, 2010 at 6:21 PM, René Dudfield <renesd at gmail.com> wrote:
> >>> Is pypy suitable for writing interpretor of vectorized language like
> >>> Matlab, R etc which vector and matrix are first class objects? This
> >>> matrix shape inference, and efficient linear algebra code generation.
> >> have you seen numpy/scipy?
> > The first aspect is simply if RPython would be suitable for writing an
> > interpreter for, say, Matlab. The answer is "probably yes": PyPy
> > would be suitable for such dynamic languages, giving you a JIT
> > compiler for free. I don't really know how complex the core of these
> > languages are, but I suspect not too much.
> > Of course you are then going to hit the same problems that Ademan
> > tries to solve for numpy/scipy, notably how to implement at least the
> > basic linear algebra operations in such a way that the JIT can improve
> > them. There are various goals there, e.g. to turn Python (or Matlab)
> > code like A+B+C, adding three matrices together, into one matrix
> > operation instead of two (as it is now: (A+B)+C). This is all a bit
> > experimental so far.
> > A bientôt,
> > Armin.
> Regarding this - I was thinking about haveing a + b - c create a
> bytecode that would be executed using small interpreter with a
> jit-merge-point and a hint "can be vectorized".
> pypy-dev at codespeak.net
That seems like a pretty big special case, why not work at the larger idea
of cross-loop optimizations?
"I disapprove of what you say, but I will defend to the death your right to
say it." -- Evelyn Beatrice Hall (summarizing Voltaire)
"The people's good is the highest law." -- Cicero
"Code can always be simpler than you think, but never as simple as you want"
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Pypy-dev