Compiling the JIT with LLVM 3.8

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Compiling the JIT with LLVM 3.8

jbect
Hi all,

I have managed to compile Octave stable (4.2.1+) with LLVM 3.8 using MCJIT.

I have a very limited understanding of both LLVM and Octave's JIT, but
there some encouraging signs:

1) I can build with --enable-jit

2) I get a good speedup on the attached function

bect@EliteBookZZ:~/.local/src/octave-stable$ ./run-octave --no-gui
GNU Octave, version 4.2.1
[...]

octave:1> tic;  z = test_pisum (),  toc
z =  1.6448
Elapsed time is 11.6463 seconds.

octave:2> jit_enable (1)

octave:3> tic;  z = test_pisum (),  toc
z =  1.6448
Elapsed time is 0.054471 seconds.

octave:4> tic;  z = test_pisum (),  toc
z =  1.6448
Elapsed time is 0.019253 seconds.

octave:5> tic;  z = test_pisum (),  toc
z =  1.6448
Elapsed time is 0.019371 seconds

Bad news: I still get a crash on make check due to jit.tst

My patches are still very unpolished (supports only LLVM 3.8, not
autoconf stuff yet) but I can share them if someone is interested.

Where would be the proper place ?  bug tracker ?  patch tracker ?
somewhere else ?

@++
Julien


test_pisum.m (146 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compiling the JIT with LLVM 3.8

John W. Eaton
Administrator
On 07/24/2017 04:58 PM, Julien Bect wrote:

> Hi all,
>
> I have managed to compile Octave stable (4.2.1+) with LLVM 3.8 using MCJIT.
>
> I have a very limited understanding of both LLVM and Octave's JIT, but
> there some encouraging signs:
>
> 1) I can build with --enable-jit
>
> 2) I get a good speedup on the attached function
>
> bect@EliteBookZZ:~/.local/src/octave-stable$ ./run-octave --no-gui
> GNU Octave, version 4.2.1
> [...]
>
> octave:1> tic;  z = test_pisum (),  toc
> z =  1.6448
> Elapsed time is 11.6463 seconds.
>
> octave:2> jit_enable (1)
>
> octave:3> tic;  z = test_pisum (),  toc
> z =  1.6448
> Elapsed time is 0.054471 seconds.
>
> octave:4> tic;  z = test_pisum (),  toc
> z =  1.6448
> Elapsed time is 0.019253 seconds.
>
> octave:5> tic;  z = test_pisum (),  toc
> z =  1.6448
> Elapsed time is 0.019371 seconds
>
> Bad news: I still get a crash on make check due to jit.tst
>
> My patches are still very unpolished (supports only LLVM 3.8, not
> autoconf stuff yet) but I can share them if someone is interested.
>
> Where would be the proper place ?  bug tracker ?  patch tracker ?
> somewhere else ?

Create a bug report (build failure, I suppose) and post the patch there.

Thanks,

jwe



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compiling the JIT with LLVM 3.8

jbect
Le 24/07/2017 à 23:38, John W. Eaton a écrit :

> On 07/24/2017 04:58 PM, Julien Bect wrote:
>> Hi all,
>>
>> I have managed to compile Octave stable (4.2.1+) with LLVM 3.8 using
>> MCJIT.
>>
>> I have a very limited understanding of both LLVM and Octave's JIT,
>> but there some encouraging signs:
>>
>> 1) I can build with --enable-jit
>>
>> 2) I get a good speedup on the attached function
>>
>> bect@EliteBookZZ:~/.local/src/octave-stable$ ./run-octave --no-gui
>> GNU Octave, version 4.2.1
>> [...]
>>
>> octave:1> tic;  z = test_pisum (),  toc
>> z =  1.6448
>> Elapsed time is 11.6463 seconds.
>>
>> octave:2> jit_enable (1)
>>
>> octave:3> tic;  z = test_pisum (),  toc
>> z =  1.6448
>> Elapsed time is 0.054471 seconds.
>>
>> octave:4> tic;  z = test_pisum (),  toc
>> z =  1.6448
>> Elapsed time is 0.019253 seconds.
>>
>> octave:5> tic;  z = test_pisum (),  toc
>> z =  1.6448
>> Elapsed time is 0.019371 seconds
>>
>> Bad news: I still get a crash on make check due to jit.tst
>>
>> My patches are still very unpolished (supports only LLVM 3.8, not
>> autoconf stuff yet) but I can share them if someone is interested.
>>
>> Where would be the proper place ?  bug tracker ?  patch tracker ?
>> somewhere else ?
>
> Create a bug report (build failure, I suppose) and post the patch there.

https://savannah.gnu.org/bugs/?51574

Loading...