Commit Graph

73 Commits (master)

Author SHA1 Message Date
mwojcik c876acd5a5 docs: subkernels can call other subkernels now 2024-01-09 08:44:45 +08:00
mwojcik 0a750c77e8 compiler: support subkernels 2023-10-08 17:11:51 +08:00
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
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq 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
Robert Jördens f4c7f02127 CoreException: store at 'py_exn.artiq_core_exception'
... and fix a few imports
2016-01-25 17:24:00 -07:00
Robert Jördens 2beaf23e6c language...ARTIQException -> coredevice...CoreException
gets rid of a cross import
is only used there
2016-01-25 17:24:00 -07:00
Robert Jördens 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
Sebastien Bourdeauducq 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
Robert Jördens 00b9368a0c language/core: add EncodedException to __all_ 2015-07-04 19:51:30 -06:00
Robert Jördens 2674ed1d2d use __all__ to structure the namespace 2015-07-02 22:02:21 -06:00
Sebastien Bourdeauducq 9d6287a6a3 expose machine units to user 2015-07-01 22:22:53 +02:00
Sebastien Bourdeauducq c71fe29792 simplify unit system and use floats by default 2015-06-26 16:34:37 +02:00
Sebastien Bourdeauducq 283695e8aa language/core: integrate watchdogs 2015-04-28 23:23:59 +08:00
Sebastien Bourdeauducq 7a1d60ee15 coredevice,runtime,language: add parameters to runtime exceptions, include information with RTIO errors 2015-03-13 14:55:18 +01:00
Sebastien Bourdeauducq d51493fb5d language/core: fix interpreter implementations of time/cycle conversions 2015-02-25 21:15:46 -07:00
Sebastien Bourdeauducq f3b727b59d py2llvm: replace array with list 2014-12-17 21:54:10 +08:00
Sebastien Bourdeauducq 5b8f34bae2 language/core/kernel: support return values 2014-12-03 17:21:26 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq a3f981726a units: error checking 2014-11-22 16:56:51 -08:00
Sebastien Bourdeauducq 8d305e3117 doc: some precisions about controllers 2014-10-28 11:43:06 +08:00
Sebastien Bourdeauducq 61a50ee53c reorganize for devices/controllers 2014-10-19 23:51:49 +08:00
Sebastien Bourdeauducq 7c4450a963 time_to_cycles: round instead of flooring 2014-10-13 18:35:05 +08:00
Sebastien Bourdeauducq 482f4651ff language/core: add 'portable' decorator 2014-10-13 17:04:32 +08:00
Sebastien Bourdeauducq 4361c7cb49 language/core: support cycles_to_time and time_to_cycles outside of kernel 2014-10-12 22:59:19 +08:00
Sebastien Bourdeauducq 0985a53df2 language/core: add time_to_cycles and cycles_to_time 2014-10-06 23:26:21 +08:00