Status of JIT compilet

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Status of JIT compilet

José Luis García Pallero
Hello:

I'm going to compile the alpha version 5.1.90. Which is the status of
the JIT compiler? Is safe to use it?

Thanks

--
*****************************************
José Luis García Pallero
[hidden email]
(o<
/ / \
V_/_
Use Debian GNU/Linux and enjoy!
*****************************************

Reply | Threaded
Open this post in threaded view
|

Re: Status of JIT compilet

siko1056
On 1/29/20 12:11 AM, José Luis García Pallero wrote:
> Hello:
>
> I'm going to compile the alpha version 5.1.90. Which is the status of
> the JIT compiler? Is safe to use it?
>
> Thanks
>

To my knowledge there has been little/no work on the JIT project [1] in
the past years.  If Octave is configured/compiled with an appropriate
llvm version, some for-loops could be speed up, but I cannot provide a
reliable guide how to do it.

HTH,
Kai

[1] https://wiki.octave.org/JIT

Reply | Threaded
Open this post in threaded view
|

Re: Status of JIT compilet

jbect
Le 29/01/2020 à 04:00, Kai Torben Ohlhus a écrit :
On 1/29/20 12:11 AM, José Luis García Pallero wrote:
Hello:

I'm going to compile the alpha version 5.1.90. Which is the status of
the JIT compiler? Is safe to use it?

Thanks

To my knowledge there has been little/no work on the JIT project [1] in
the past years.

This is not completely true...

Some recent work can be found there : https://savannah.gnu.org/bugs/index.php?56425.

These patches, however, never found their way to the development branch as far as I know.  Not to mention the stable branch (since the question is about 5.x).


If Octave is configured/compiled with an appropriate llvm version, some for-loops could be speed up, but I cannot provide a reliable guide how to do it.


Unless you try to (update and) use the above-mentioned patches (not sure they apply to stable), you would have to use a very old LLVM version.  Something like LLVM 3.8 would be my first choice.

Furthermore, even if you manage to build it, the existing jit is only able to speed some very simple loops.

And, since José asks whether it is safe, I should add that there are, as far as I know, some very serious problems.   In particular, exceptions are not handled properly and simply crash octave.  (Not sure if Harvey's patches solve that.)

So, no, unless things have changed (a lot) rather recently, I wouldn't say that it is safe.

HTH...

@++
Julien.