sb0 changed the topic of #m-labs to: ARTIQ, Migen, MiSoC, Mixxeo & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
rjo has quit [Quit: leaving]
<cr1901_modern> Well, managed to create a makeshift jtag controller from Pi. I can at least verify bypass is working correctly. Perhaps I shouldn't be, but I'm surprised it worked.
nicksydney has quit [Ping timeout: 244 seconds]
hozer has quit [Ping timeout: 256 seconds]
rjo has joined #m-labs
<sb0> rjo, another issue with the flush is that the idle experiment will stay in the pipeline forever. i would solve that by adding a function call, accessible for the experiment, that makes the scheduler consider it already flushed
<sb0> the idle experiment will call it first thing
<rjo> why does the idle experiment stay in the pipeline (prepare, run, analyze) forever?
<rjo> ah. you mean it is always in run() because it does a while True: actual_run(); yield()
<rjo> hmm
<rjo> with "idle" you are referring to what i call the "default" experiment that is saved in flash.
<rjo> there is another (real) "idle" experiment, that outputs data and has a body more like: actual_run(); schedule("idle")
<rjo> and it would not enter the pipeline if there is another experiment becoming active with flush.
<sb0> mixed them up. the "idle" experiment is in flash and run by the core device whenever it is not connected to a PC, the "default" experiment is run by the PC when there is nothing else to run.
<sb0> with the current priority system, the way to achieve that is to run forever with a low priority and pauses (which was called "yield" but conflicts with the python keyword) regularly
<sb0> re-scheduling doesn't do exactly that because overdue timed experiments have priority over non-timed experiments
<rjo> ok. if we have a priority in addition to overdueness, then the list should be sorted using (priority, overdueness), right?
_florent_ has joined #m-labs
<GitHub144> [migen] sbourdeauducq pushed 1 new commit to master: http://git.io/vkG6V
<GitHub144> migen/master 57102ec Sebastien Bourdeauducq: setup.py: valid version number (fixes issue #12)
travis-ci has joined #m-labs
<travis-ci> m-labs/migen#37 (master - 57102ec : Sebastien Bourdeauducq): The build passed.
travis-ci has left #m-labs [#m-labs]
<sb0> rjo, that's another possibility. the difference with (overdueness, priority) as it's done right now is calibrations are run preemptively no matter what the priority values of the other experiments are
<sb0> priority values of other experiments are mostly there to allow some rearranging of the schedule, e.g. put an experiment at the front
<sb0> if we use (priority, overdueness), then experiments put at the front may preempt calibrations
<sb0> we can also use (calibration flag, priority, overdueness) ...but it becomes more complicated and adds another GUI feature to set the flag
<rjo> only experiments with priorities higher than the calibration experiments can preempt calib experiments. i would leave it to the user to figure out the priorities. i don't think more than three are needed: [calibration, measure, default]
<rjo> highest being first
<sb0> ok, so we actually do not need overdueness in the priority key anymore
<sb0> just (priority value from user, due date, rid)
<rjo> why? if you queue multiple measurement prios (some in the future) the overdueness will sort them.
kyak has quit [Ping timeout: 252 seconds]
<sb0> rjo, what I meant by "overdueness" is a boolean flag that says if the experiment is overdue or not. there is also a sort by due date.
<rjo> ack.
<GitHub121> [artiq] sbourdeauducq pushed 5 new commits to master: http://git.io/vkZ8K
<GitHub121> artiq/master 737f6d4 Sebastien Bourdeauducq: scheduler: support pipeline flush
<GitHub121> artiq/master 4a7c695 Sebastien Bourdeauducq: artiq_run: implement mockups of new scheduler API
<GitHub121> artiq/master e752e57 Sebastien Bourdeauducq: scheduler: do not duplicate 'run terminated' information
early has quit [Ping timeout: 272 seconds]
<sb0> rjo, how much scheduler unit testing should we have?
early has joined #m-labs
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#166 (master - aa242f7 : Sebastien Bourdeauducq): The build passed.
travis-ci has left #m-labs [#m-labs]
early has quit [Ping timeout: 248 seconds]
early has joined #m-labs
kyak has joined #m-labs
kyak has joined #m-labs
<ysionneau> very cool :)
kristianpaul has quit [Read error: Connection reset by peer]
antgreen has joined #m-labs
<whitequark> sb0: do we support multiple float types in py2llvm?
<whitequark> like double/float/half
<sb0> no
<sb0> soft-fp is slow anyway, and if we need speed, the fpga is large enough for a double precision fpu (in general, size isn't much of an issue in modern FPGAs, but they are slow as hell)
<whitequark> ok
_florent_ has quit [Quit: Leaving]
mumptai has joined #m-labs
<GitHub172> [pythonparser] whitequark pushed 2 new commits to master: http://git.io/vkWUq
<GitHub172> pythonparser/master 770bd58 whitequark: Allow including non-builtin fields in ast.AST.__repr__().
<GitHub172> pythonparser/master 9022fee whitequark: Rework algorithm.Visitor, add algorithm.Transformer....
nicksydney has joined #m-labs
mumptai has quit [Quit: Verlassend]
antgreen` has joined #m-labs
antgreen has quit [Ping timeout: 264 seconds]
<rjo> sb0: is the sorting of runnable experiments limited to those that are actually overdue? otherwise overdue low prio experiments would be blocked by not-yet-due high prio experiments.
<rjo> sb0: enough that the code is well covered and the behavior that we agreed on is verified. don't cover every conceivable corner case.