On 10/14/2014 05:47 AM, Robert Jordens wrote:
>> The obvious performance optimization here is to have the constant
>> > folding transform work across statements.
> The llvm optimizer passes should be able to do that, right?

As far as I can tell right now, not so much. In particular it does not
work well for rational arithmetic (which is also particularly slow),
even after telling it to inline the gcd function. Maybe there is some
llvm optimization pass that I overlooked, or some other problem with
llvm/llvmpy (the execution engine is also unexpectedly slow).

>> > Since there is only one FUD sampling by the DDS chip every 8 RTIO/DDS
>> > cycles, this phase difference computation is correct only if "now" is
>> > increased by a multiple of 8 in the block of code.
> You mean a multiple of 8 in total after the loop?
> I would think it is correct in any case just that you can not change POW
> (correctly) if now.microcycle != 0. Having known phase even for the
> microcycles is valuable since then we can e.g. turn on and off a dds
> pulse with microcycle phase accuracy using the rf switches.

Yes.

Sébastien

_______________________________________________
ARTIQ mailing list
https://ssl.serverraum.org/lists/listinfo/artiq

Reply via email to