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