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)
<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?
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__().
<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.