Commit Graph

42 Commits

Author SHA1 Message Date
whitequark d6d0a3e3e9 Merge branch 'master' into new-py2llvm 2015-11-07 12:57:18 +03:00
Sebastien Bourdeauducq e26147b2ac gateware,runtime: use new migen/misoc 2015-11-04 00:35:03 +08:00
whitequark f70f7fb89b Merge branch 'master' into new-py2llvm 2015-10-30 04:29:35 +03:00
Sebastien Bourdeauducq 50809e02c2 tools/short_format: display shape of ndarrays 2015-10-21 11:13:46 +08:00
Sebastien Bourdeauducq 1bc4061620 protocols: better workaround for asyncio issue 263 2015-10-20 00:35:33 +08:00
Sebastien Bourdeauducq 661b9bfbfa tools/short_format: increase max string length 2015-10-18 13:32:29 +08:00
Sebastien Bourdeauducq d7b41207da tools/short_format: display booleans directly 2015-10-18 13:31:36 +08:00
whitequark bd5b324fc2 Merge branch 'master' into new-py2llvm 2015-10-13 19:24:45 +03:00
Sebastien Bourdeauducq 5c4ed7a9bd fix imports 2015-10-12 19:46:14 +08:00
Sebastien Bourdeauducq 22bffa98b5 client: use short_format in dataset display 2015-10-12 18:10:58 +08:00
Sebastien Bourdeauducq f552d62b69 use Python 3.5 coroutines 2015-10-03 19:28:57 +08:00
Sebastien Bourdeauducq b117b9320d asyncio.async -> asyncio.ensure_future 2015-10-03 14:37:02 +08:00
Sebastien Bourdeauducq 125503139e remove workaround for Python bug in asyncio process.wait(). Requires Python 3.5. Closes #58 2015-10-03 14:33:18 +08:00
whitequark 3e1348a084 Merge branch 'master' of github.com:m-labs/artiq into new-py2llvm 2015-09-27 18:22:28 +03:00
Sebastien Bourdeauducq a059ebf36a tools/get_experiment: do not autodetect experiments starting with _ 2015-09-01 13:21:03 -06:00
whitequark 6b8ef8c490 artiq_run: use "artiq_run_" as user code module prefix, not "file_import_". 2015-08-28 02:22:59 -05:00
Sebastien Bourdeauducq 06badd1dc1 scheduler: refactor, fix pipeline hazards 2015-08-10 21:58:11 +08:00
Sebastien Bourdeauducq f81b2eba43 master: better repo scan error handling 2015-08-08 23:36:12 +08:00
Sebastien Bourdeauducq e078dabd3c tools/TaskObject: do not suppress exceptions raised by terminating task 2015-08-06 22:14:49 +08:00
Sebastien Bourdeauducq bd2bd68a54 gui,client: do now show arguments 2015-07-22 05:47:14 +08:00
Sebastien Bourdeauducq 32d141f5ac refactor ddb/pdb/rdb 2015-07-13 22:21:32 +02:00
Yann Sionneau 0109821078 tools: change asyncio_process_wait_timeout to handle cases where process.stdout is None. close #56 2015-07-07 19:30:36 +02:00
Sebastien Bourdeauducq 9f9079589e gui: send monitor requests to core device 2015-06-05 14:52:41 +08:00
Sebastien Bourdeauducq a6a476593e worker: wait for process termination
This prevents stray SIGCHLDs from crashing the program e.g. if the asyncio event loop is closed before the process actually terminates.
2015-06-05 00:37:26 +08:00
Sebastien Bourdeauducq 737f6d4485 scheduler: support pipeline flush 2015-05-28 17:20:58 +08:00
Sebastien Bourdeauducq a670b9f660 tools/asyncio_wait_or_cancel: wait for cancellation 2015-05-21 16:41:27 +08:00
Sebastien Bourdeauducq b74b8d5826 Scheduling TNG 2015-05-17 16:11:00 +08:00
Sebastien Bourdeauducq 5e046dc5ce artiq_run: move parse_arguments and get_experiment to tools 2015-04-07 13:04:47 +08:00
Sebastien Bourdeauducq bd145bbabc use %(default) in argparse 2015-03-23 20:02:14 +01:00
Sebastien Bourdeauducq d5795fd619 master: watchdog support
Introduces a watchdog context manager to use in the experiment code that
terminates the process with an error if it times out. The syntax is:

with self.scheduler.watchdog(20*s):
   ...

Watchdogs timers are implemented by the master process (and the worker
communicates the necessary information about them) so that they can be
enforced even if the worker crashes. They can be nested arbitrarily.
During yields, all watchdog timers for the yielding worker are
suspended [TODO]. Setting up watchdogs is not supported in kernels,
however, a kernel can be called within watchdog contexts (and terminating
the worker will terminate the kernel [TODO]).

It is possible to implement a heartbeat mechanism using a watchdog, e.g.:

for i in range(...):
    with self.scheduler.watchdog(...):
        ....

Crashes/freezes within the iterator or the loop management would not be
detected, but they should be rare enough.
2015-03-11 16:43:14 +01:00
Sebastien Bourdeauducq 0abd41a04a pc_rpc: trace support in server 2015-02-27 00:17:11 -07:00
Sebastien Bourdeauducq d484b3a548 tools: add missing import 2015-02-18 08:52:31 -07:00
Sebastien Bourdeauducq 3543dc30c7 Revert "tools/file_import: use python 3.4 importlib API"
This reverts commit 614a96a3d7.

Conflicts:
	artiq/tools.py
2015-02-18 08:51:44 -07:00
Sebastien Bourdeauducq 170a626c76 tools/file_import: support import of modules importing from their directory 2015-02-17 16:13:00 -07:00
Sebastien Bourdeauducq 614a96a3d7 tools/file_import: use python 3.4 importlib API 2015-02-17 13:07:09 -07:00
Sebastien Bourdeauducq 17596f4ad8 tools,frontend: print default ports 2015-02-15 14:58:57 -07:00
Sebastien Bourdeauducq 79a5d8a12a tools,frontend: common network arguments 2015-02-15 14:55:43 -07:00
Sebastien Bourdeauducq 0ba07e67b8 artiq/tools/verbosity_args: add help 2015-02-04 19:09:37 +08:00
Yann Sionneau 526887140d Set WARNING as default log level + update documentation 2015-01-30 19:04:04 +08:00
Sebastien Bourdeauducq 939236a1b5 tools: fix logging config 2015-01-29 18:47:07 +08:00
Yann Sionneau 5ba7218cc1 Factorize argparser for debug level 2015-01-29 10:07:12 +08:00
Sebastien Bourdeauducq 3e22fe86b5 reorganize files as per discussion with Robert 2015-01-17 19:38:20 +08:00