Commit Graph

237 Commits

Author SHA1 Message Date
whitequark
009d396740 Move mu_to_seconds, seconds_to_mu to Core. 2016-11-21 05:37:30 +00:00
whitequark
feed91d8b2 runtime: buffer RPC send packets.
This brings mean RPC time from ~45ms to ~2ms.

The cause of the slowness without buffering is, primarily, that lwip
is severely pessimized by small writes, whether with Nagle on or off.
(In fact, disabling Nagle makes it function *better* on many small
writes, which begs the question of what's the point of having Nagle
there in the first place.) In practical terms, the slowness appears
only when writing a 4-byte buffer (the synchronization segment);
writing buffers of other sizes does not trigger the problem.

This all is extremely confusing and the fix is partly palliative,
but since it seems to work reliably and we're migrating off lwip
I think it is unwise to spend any more time debugging this.
2016-11-12 23:06:33 +00:00
whitequark
6fcd57a41a runtime: fix remaining async RPC bugs. 2016-11-01 10:33:57 +00:00
whitequark
6b2789e3db test: add more RPC tests. 2016-10-06 12:54:08 +00:00
1cb8f642b4 test: level-based TTL APIs (#218) 2016-09-07 17:37:49 +08:00
whitequark
5a2306ae5a compiler.embedding: implement type annotations for function arguments.
Fixes #318.
2016-08-08 03:28:25 +00:00
whitequark
b6c12f2f56 test: relax RPCTiming rpc_time_stddev from 1ms to 2ms.
Even when given exclusive access to our buildserver it still gives
false positives with 1ms.
2016-07-14 10:47:51 +00:00
whitequark
653eeb476f runtime: fix serialization of object lists.
Fixes #500.
2016-07-07 12:40:50 +00:00
whitequark
d90fd7dc00 compiler: implement numpy.full (#424). 2016-07-07 06:33:38 +00:00
whitequark
7a671fb2fd embedding: treat numpy.{int32,int64,array} specially (#424).
Also, remove them from prelude to not pollute the namespace.
2016-07-07 06:33:38 +00:00
whitequark
933ea53c77 compiler: add basic numpy array support (#424). 2016-07-06 09:51:57 +00:00
whitequark
906db876a6 language: replace coredevice int with numpy.{int32,int64}.
Fixes #453.
2016-07-06 04:44:21 +00:00
43681b37ec test/rtio: relax constraints 2016-06-29 11:38:36 +08:00
e51928ee97 test/rtio: adapt to new handover behavior 2016-06-29 10:38:37 +08:00
c8dc6ca07c inter-experiment smooth handover 2016-06-29 02:37:50 +08:00
917cc056f4 test: add test for seamless handover on exception termination 2016-06-19 19:15:10 +08:00
whitequark
e47538ca33 analyzer: explicitly delimit messages (with \x1D).
Fixes #461.
2016-06-07 11:26:49 +00:00
136dc7039e language/environment: update kernel_invariants in setattr_argument and setattr_device 2016-05-03 16:27:42 +08:00
whitequark
a88425b66b compiler: allow RPCing builtin functions.
Fixes #366.
2016-04-26 01:31:17 +00:00
whitequark
1464bae6b7 compiler: don't typecheck RPCs except for return type.
Fixes #260.
2016-04-26 01:12:36 +00:00
caf774579a environment: refactor 2016-04-16 19:31:07 +08:00
e1a229028d test/analyzer: clear analyzer buffer after IO init 2016-04-15 01:18:36 +08:00
511913230f test_analyzer: loop_out.off() 2016-04-14 22:57:16 +08:00
d42ef46471 test: set inputs to input(), should close #383 2016-04-12 18:17:53 +08:00
whitequark
12d6f1d963 Commit missing parts of bb064c67a. 2016-04-06 23:46:19 +00:00
whitequark
9cc9e8b276 embedding: s/kernel_constant_attributes/kernel_invariants/g
Requested in #359.
2016-04-06 22:38:31 +00:00
73795ff788 test_rtio: integer division 2016-04-06 02:26:20 +08:00
4bc5eaf9e8 test_rtio: scale speed test results to 'event' intervals 2016-04-06 00:55:13 +08:00
76dcccb33b test_rtio: comments and correction
* add comments what is actually being measured in the two rate tests
* remove spurious factor of two
2016-04-05 20:51:03 +08:00
whitequark
14caa2713c test_pulse_rate_dds: adjust bounds. 2016-04-05 01:52:34 +00:00
whitequark
10108e6d64 compiler: mark loaded pointers as !dereferenceable.
Also, lower the bound for test_pulse_rate_dds, since we generate
better code for it now.
2016-03-31 12:04:38 +00:00
0173031487 test/PulseRateDDS: run more iterations 2016-03-31 16:04:55 +08:00
whitequark
42609d057e test_pulse_rate_dds: tighten upper bound to 400us. 2016-03-27 14:27:32 +00:00
whitequark
2a210d74fb test_pulse_rate: tighten upper bound to 1500ns. 2016-03-26 22:45:24 +00:00
1c9b8a1d52 test/coredevice/portability/pulses: compute time differences in MU 2016-03-20 15:29:31 +08:00
ff697a47ce test/coredevice/cache: fix exception import 2016-03-19 18:00:10 +08:00
whitequark
891e3cf1fe Commit missing parts of 501de306. 2016-03-18 22:48:26 +00:00
whitequark
dbc0a89903 dds.c: turn off batch mode before an underflow can be raised.
Fixes #334.
2016-03-18 05:00:05 +00:00
9ffaf82877 test/analyzer: check that last message is StoppedMessage 2016-03-15 21:44:56 +08:00
f68c24094f test_spi: drain errors and be more strict on where we expect errors 2016-03-10 12:25:10 +01:00
d0cf589229 test/rtio/Loopback: ensure loop_out is low before starting test 2016-03-10 13:24:00 +08:00
f3a2b3a67e test/rtio: raise exception when pulse is not received 2016-03-10 12:16:18 +08:00
f4f95d330b Merge branch 'master' of github.com:m-labs/artiq 2016-03-10 11:15:30 +08:00
1739e0f2f8 coredevice: put cache into separate file/device 2016-03-10 10:46:19 +08:00
10a09122ea test_spi: break_realtime 2016-03-09 18:23:27 +01:00
8f6653ef72 test_spi: simplify test, add collision vs busy test 2016-03-09 17:58:42 +01:00
58e0e670fc tests: test spi business 2016-03-09 15:40:26 +01:00
2953b069dc rtio: when rtlink addresses are different, issue collision not replace (fixes #320) 2016-03-08 15:58:25 +08:00
71105fd0d7 rtio: collision_error -> collision 2016-03-08 15:38:35 +08:00
59d7f5f1e3 test/coredevice/time_keeps_running: start new session to prevent now_mu save/restore 2016-03-08 14:04:51 +08:00
whitequark
9ffa8cbb11 test_loopback: bump RTT limit to 60ns.
Turns out a short jumper wire on a backplane leads to RTT of 50ns
exactly.
2016-03-07 20:27:22 +00:00
683716017b test: I2C/PCA9548 unittest 2016-03-05 19:01:35 +08:00
c7d48a1765 coredevice/TTLOut: add dummy output function 2016-03-01 19:03:10 +08:00
a5bf502917 test/LoopbackCount: request correct devices 2016-02-26 14:29:51 +08:00
whitequark
8e77e561cd test: bring back test_loopback_count (fixes #295). 2016-02-25 18:46:55 +00:00
whitequark
652c2a185f test: rewrite tests using ttl_inout to use loop_{in,out} (#265). 2016-02-24 18:27:08 +00:00
whitequark
956448bd8d test: skip RPC timing tests by default. 2016-02-24 15:09:22 +00:00
82f4fd1290 test/coredevice: convert to 'with parallel' 2016-02-23 15:48:12 +08:00
whitequark
51a5910002 Rename 'with parallel' to 'with interleave' (#265). 2016-02-22 13:24:43 +00:00
9ca8b48bf9 assume 'import artiq' works before running tests 2016-02-02 21:52:33 +01:00
765001054d artiq.experiment: merge language and coredevice namespaces
perl -i -pe 's/^from artiq import \*$/from artiq.experiment import */' your_experiments/*.py

(assuming you skipped the changes form the previous commit)
2016-01-25 17:24:00 -07:00
fbe4d96572 artiq: move namespace artiq.* -> artiq.language.*
perl -i -pe 's/^from artiq import \*$/from artiq.language import */' your_experiments/*.py
2016-01-25 17:24:00 -07:00
c0bcff4035 test/*/: add missing __init__.py 2016-01-18 14:22:40 -07:00
whitequark
225f7d7302 Commit missing parts of 9366a29. 2016-01-10 20:01:26 +00:00
whitequark
027d54ca94 Enlarge coredevice buffers to 2.5MiB (fixes #215).
This should be enough for sending a 2MiB int32 list.
2016-01-07 18:29:35 +00:00
whitequark
cb90bf6ef3 test/coredevice/portability: keep trace list entirely on host. 2015-12-31 22:08:15 +08:00
whitequark
abc5a49aaf test: use raise X() syntax rather than raise X. 2015-12-31 22:02:57 +08:00
17802d3cff test/coredevice/primes: keep output list entirely on the host 2015-12-31 09:49:37 +08:00
aa29defd02 test/coredevice/test_pulses: fix first_timestamp 2015-12-29 12:43:53 +08:00
whitequark
9d7d614139 test.coredevice.rtio.CoredeviceTest.test_time_keeps_running: relax timing.
Testing ARTIQ over an SSH channel to Hong Kong is slow.
2015-12-29 02:57:33 +08:00
whitequark
0dd71946b9 test.coredevice.portability.HostVsDeviceCase.test_exceptions: update.
TypeError would never be raised with the new compiler.
It crashes in a different way now.
2015-12-29 02:18:38 +08:00
whitequark
db05ec0277 test.coredevice.portability.HostVsDeviceCase.test_misc: update.
It crashes in a different way now.
2015-12-29 02:15:57 +08:00
7eb4067477 test/coredevice/analyzer: test TTL input mode 2015-12-26 21:10:19 +08:00
7475b3813e test/coredevice: PEP8 2015-12-24 19:26:42 +08:00
bf1a3a5b8f test/coredevice: add analyzer unittest 2015-12-24 19:25:29 +08:00
b4b0dcc5d1 test/coredevice/rtio: remove obsolete functions 2015-12-22 12:11:13 +08:00
23355d8eff coredevice: restore RTIOCollisionError 2015-12-22 11:59:18 +08:00
whitequark
4fb1de33c9 Initial invocation of a @kernel function can now return a value (fixes #197). 2015-12-19 05:26:18 +08:00
whitequark
52102a1a79 Fix handling of default values for RPC arguments (fixes #190). 2015-12-18 18:03:07 +08:00
5e38cad64c test/coredevice: partial update to new APIs 2015-12-16 19:45:57 +08:00
whitequark
bd5b324fc2 Merge branch 'master' into new-py2llvm 2015-10-13 19:24:45 +03:00
whitequark
3e1348a084 Merge branch 'master' of github.com:m-labs/artiq into new-py2llvm 2015-09-27 18:22:28 +03:00
whitequark
3af54f5ffc test.coredevice.rtio: simplify. 2015-09-01 08:38:53 -06:00
whitequark
995245b786 compiler.embedding: default RPC return annotation is -> TNone. 2015-09-01 08:38:38 -06:00
whitequark
c9d8fd837e test.coredevice.rtio: update for new compiler. 2015-08-31 23:34:28 -06:00
whitequark
cbd903a9dc compiler.embedding: add tests for quote serialization. 2015-08-28 05:24:57 -05:00
whitequark
72823cf521 test.{coredevice,coredevice_vs_host} → test.coredevice.{rtio,portability}. 2015-08-28 03:53:43 -05:00