David Nadlinger
fb2b634c4a
compiler, language: Implement @kernel_from_string
...
With support for polymorphism (or type erasure on pointers to
member functions) being absent in the ARTIQ compiler, code
generation is vital to be able to implement abstractions that
work with user-provided lists/trees of objects with uniform
interfaces (e.g. a common base class, or duck typing), but
different concrete types.
@kernel_from_string has been in production use for exactly
this use case in Oxford for the better part of a year now
(various places in ndscan).
GitHub: Fixes #1089 .
2019-12-18 10:51:04 +08:00
156afb48ee
language: fix syscall arg handling
2018-11-30 17:59:24 +08:00
David Nadlinger
f02ceee626
language: Clarify now_mu() docstring [nfc]
2018-11-03 20:33:19 +08:00
c71e442929
documentation improvements
...
Based on PR #1101 by @drewrisinger
2018-09-26 12:12:37 +08:00
whitequark
009d396740
Move mu_to_seconds, seconds_to_mu to Core.
2016-11-21 05:37:30 +00:00
whitequark
cd68577dbc
compiler: add support for async RPCs.
2016-10-30 00:57:31 +00:00
84f4725015
cache source on import of modules that may contain kernels. Closes #416
2016-08-06 12:01:49 +08:00
whitequark
906db876a6
language: replace coredevice int with numpy.{int32,int64}.
...
Fixes #453 .
2016-07-06 04:44:21 +00:00
whitequark
1038f1321f
compiler: allow specifying per-function "fast-math" flags.
...
Fixes #351 .
2016-03-28 21:44:08 +00:00
whitequark
6f5332f892
compiler: allow flagging syscalls, providing information to optimizer.
...
This also fixes a crash in test_cache introduced in 1d8b0d46
.
2016-03-28 19:56:56 +00:00
whitequark
51a5910002
Rename 'with parallel' to 'with interleave' ( #265 ).
2016-02-22 13:24:43 +00:00
f4c7f02127
CoreException: store at 'py_exn.artiq_core_exception'
...
... and fix a few imports
2016-01-25 17:24:00 -07:00
2beaf23e6c
language...ARTIQException -> coredevice...CoreException
...
gets rid of a cross import
is only used there
2016-01-25 17:24:00 -07: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
whitequark
127b117113
Add @host_only function decorator ( #172 ).
2016-01-15 16:42:08 +00:00
whitequark
8aa34ee952
compiler: don't require exceptions to inherit ARTIQException.
2015-12-31 21:54:54 +08:00
whitequark
a250b5da21
language.core: implement round(value, width) ( fixes #203 ).
2015-12-22 11:26:49 +08:00
whitequark
26630ea4b6
language.core: make int compatible with range() ( fixes #183 ).
2015-11-28 08:29:58 +08:00
whitequark
bd5b324fc2
Merge branch 'master' into new-py2llvm
2015-10-13 19:24:45 +03:00
139072d402
Graceful experiment termination. Closes #76
2015-10-06 13:50:00 +08:00
whitequark
1437fff17b
language.core.int64: implement __{,i,r}truediv__.
2015-09-02 17:55:48 -06:00
whitequark
5916c10b24
ARTIQException: replace ARTIQ library path with <artiq> in tracebacks.
2015-08-28 04:55:46 -05:00
whitequark
c621b1f275
compiler: handle language.core.int during embedding.
2015-08-28 03:24:15 -05:00
whitequark
d473d58b41
artiq_{compile,run}: adapt to new compiler.
2015-08-28 01:43:46 -05:00
whitequark
fd3c8a2830
language.core: remove {int,round}64, implement int with device semantics.
2015-08-11 12:57:17 +03:00
whitequark
46476516ba
ARTIQException: tell linecache where to look for runtime sources.
...
Runtime sources can appear in the backtrace when
artiq_raise_from_c is used.
2015-08-10 20:26:07 +03:00
whitequark
c72267ecf5
Implement syscalls for the new compiler.
2015-08-10 20:26:06 +03:00
whitequark
75532d10aa
Display full core device backtraces.
2015-08-10 15:12:22 +03:00
whitequark
96c770190c
Add column marker to ARTIQ exception traceback.
2015-08-08 16:09:47 +03:00
whitequark
27d2390fed
Add zero-cost exception support to runtime and host.
2015-08-08 16:01:31 +03:00
whitequark
353f454a29
Add basic support for embedded functions with new compiler.
2015-08-07 11:44:49 +03:00
00b9368a0c
language/core: add EncodedException to __all_
2015-07-04 19:51:30 -06:00
2674ed1d2d
use __all__ to structure the namespace
2015-07-02 22:02:21 -06:00
9d6287a6a3
expose machine units to user
2015-07-01 22:22:53 +02:00
c71fe29792
simplify unit system and use floats by default
2015-06-26 16:34:37 +02:00
283695e8aa
language/core: integrate watchdogs
2015-04-28 23:23:59 +08:00
7a1d60ee15
coredevice,runtime,language: add parameters to runtime exceptions, include information with RTIO errors
2015-03-13 14:55:18 +01:00
d51493fb5d
language/core: fix interpreter implementations of time/cycle conversions
2015-02-25 21:15:46 -07:00
f3b727b59d
py2llvm: replace array with list
2014-12-17 21:54:10 +08:00
5b8f34bae2
language/core/kernel: support return values
2014-12-03 17:21:26 +08:00
2a843ea436
language: replace AutoContext 'parameter' string with abstract attributes
...
This allows specifying default values for parameters, and other data.
2014-12-02 17:19:05 +08:00
a3f981726a
units: error checking
2014-11-22 16:56:51 -08:00
8d305e3117
doc: some precisions about controllers
2014-10-28 11:43:06 +08:00
61a50ee53c
reorganize for devices/controllers
2014-10-19 23:51:49 +08:00
7c4450a963
time_to_cycles: round instead of flooring
2014-10-13 18:35:05 +08:00
482f4651ff
language/core: add 'portable' decorator
2014-10-13 17:04:32 +08:00
4361c7cb49
language/core: support cycles_to_time and time_to_cycles outside of kernel
2014-10-12 22:59:19 +08:00
0985a53df2
language/core: add time_to_cycles and cycles_to_time
2014-10-06 23:26:21 +08:00
2944592201
Remove microcycle unit
...
Introducing it complicates things and has no advantage with good rational arithmetic support.
2014-10-05 17:54:22 +08:00
73d0a84b44
doc: various cleanups
2014-09-30 18:10:40 +08:00