[PD] [PD-announce] jit_expr 0.1: Just in time compiled expr/expr~/fexpr~

Alex x37v.alex at gmail.com
Sun Mar 18 18:04:23 CET 2018


Hi Marco,

Which version of PD are you running? Which OS? I expect you downloaded
jit_expr from deken?
Does the jit_expr help file work if you open it in the pd browser? help ->
browse -> jit_expr -> double click on the jit_expr-help.pd file?

-Alex


On Sun, Mar 18, 2018 at 9:49 AM, Marco Matteo Markidis <
mm.markidis at gmail.com> wrote:

> Dear Alex,
>
> very happy about this new feature... and incredibly very happy about
> hearing just-in-time compiling dsp graph!
> Anyway, I get only various jit/expr, jit/expr~, jit/fexpr~ couldn't
> create...
> I tried to change the [declare -lib] in [declare -path], jit_expr in
> jit/expr in declare, looking to have the right 64 bit pd but nothing...
>
> Best,
> Marco
>
> 2018-03-18 17:34 GMT+01:00 Alex <x37v.alex at gmail.com>:
>
>> Alexandre,
>>
>> I don't think it has had enough usage to be called "stable" yet, but I
>> could see that happening down the line. In fact, I could see eventually JIT
>> compiling the entire DSP graph.. but of course that would be significant
>> work. At this point I just need more people to try it out and make sure it
>> would be up to it.
>>
>> -Alex
>>
>>
>> On Sun, Mar 18, 2018 at 9:23 AM, Alexandre Torres Porres <
>> porres at gmail.com> wrote:
>>
>>> if this is stable, wouldn't it be a nice idea to propose it as an update
>>> to the expr~ family of objects? since it is basically an optimized clone?
>>>
>>> cheers
>>>
>>> 2018-03-18 13:08 GMT-03:00 Alex <x37v.alex at gmail.com>:
>>>
>>>> jit_expr is a clone of the pure data expr/expr~/fexpr~ objects. It
>>>> just-in-time compiles its expressions so they should be much more optimized
>>>> than the original. If all works as designed, they should use less CPU than
>>>> the equivalent vanilla, non-expr, patching and have a significant CPU
>>>> advantage over the original expr objects.
>>>>
>>>> I've put the external, compiled for 64-bit Mac-OS and 64-bit Linux, up
>>>> on deken: in pd, go to help menu, find externals, search for "jit_expr".
>>>>
>>>> After installing the external you should be able to change any of your
>>>> expr family of objects to just in time compile by loading the library,
>>>> [declare -lib jit_expr], and then prefixing the object name with "jit/",
>>>> for example [jit/fexpr~ $x1[0] + $y1[-1]].
>>>>
>>>> I believe they are feature complete with the originals but I'd love to
>>>> know if there is anything that I'm missing or any bugs that you discover.
>>>> I'm not exactly sure how to profile pure data patches. If anyone has a
>>>> good approach or original expr~/fexpr~ patches that use a lot of CPU you
>>>> can share, let me know.
>>>>
>>>> Compiling in the object takes a little bit of time, so the initial
>>>> instantiation of the object/expression will be a bit slower than the
>>>> original, FYI.
>>>>
>>>> Please report any issues here:
>>>> https://github.com/x37v/jit-expr/issues
>>>>
>>>>
>>>> BTW, if you're curious to see the llvm assembly produced by your
>>>> expression, send the |print( message into the left most inlet of your
>>>> object then check out the pd console.
>>>>
>>>>
>>>> I would love help building Windows and 32-bit Linux versions of the
>>>> externals. I'm guessing we could also do raspi/arm builds but we'd need
>>>> some changes to the source code as it uses llvm and explicitly generates
>>>> code for x86 right now.
>>>>
>>>> The source code can be found in the git repo:
>>>> https://github.com/x37v/jit-expr
>>>>
>>>> -Alex Norman
>>>>
>>>> _______________________________________________
>>>> Pd-announce mailing list
>>>> Pd-announce at lists.iem.at
>>>> https://lists.puredata.info/listinfo/pd-announce
>>>>
>>>> _______________________________________________
>>>> Pd-list at lists.iem.at mailing list
>>>> UNSUBSCRIBE and account-management -> https://lists.puredata.info/li
>>>> stinfo/pd-list
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Pd-list at lists.iem.at mailing list
>>> UNSUBSCRIBE and account-management -> https://lists.puredata.info/li
>>> stinfo/pd-list
>>>
>>>
>>
>> _______________________________________________
>> Pd-list at lists.iem.at mailing list
>> UNSUBSCRIBE and account-management -> https://lists.puredata.info/li
>> stinfo/pd-list
>>
>>
>
>
> --
> Ho cambiato l'indirizzo email in mm.markidis at autistici.org . Se non รจ un
> problema, scrivimi a questo nuovo indirizzo email.
>
> I changed my email address in mm.markidis at autistici.org . If it is ok for
> you, please write me to this new email address.
>
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/
> listinfo/pd-list
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20180318/15198d27/attachment-0001.html>


More information about the Pd-list mailing list