From c876acd5a53ef04d611712c49a60a7b7decbadf9 Mon Sep 17 00:00:00 2001 From: mwojcik Date: Fri, 8 Dec 2023 17:22:44 +0800 Subject: [PATCH] docs: subkernels can call other subkernels now --- artiq/language/core.py | 4 ++-- doc/manual/getting_started_core.rst | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/artiq/language/core.py b/artiq/language/core.py index 2aff914a9..6c4e242a1 100644 --- a/artiq/language/core.py +++ b/artiq/language/core.py @@ -72,8 +72,8 @@ def subkernel(arg=None, destination=0, flags={}): Subkernels behave similarly to kernels, with few key differences: - they are started from main kernels, - - they do not support RPCs, or running subsequent subkernels on other devices, - - but they can call other kernels or subkernels with the same destination. + - they do not support RPCs, + - but they can call other kernels or subkernels. Subkernels can accept arguments and return values. However, they must be fully annotated with ARTIQ types. diff --git a/doc/manual/getting_started_core.rst b/doc/manual/getting_started_core.rst index fe4ba7bd7..ad86a74f5 100644 --- a/doc/manual/getting_started_core.rst +++ b/doc/manual/getting_started_core.rst @@ -275,7 +275,7 @@ Subkernels refer to kernels running on a satellite device. This allows you to of Subkernels behave in most part as regular kernels, they accept arguments and can return values. However, there are few caveats: - - they do not support RPCs or calling subsequent subkernels on other devices, + - they do not support RPCs, - they do not support DRTIO, - their return value must be fully annotated with an ARTIQ type, - their arguments should be annotated, and only basic ARTIQ types are supported, @@ -310,7 +310,7 @@ Subkernels are compiled after the main kernel, and then immediately uploaded to While ``self`` is accepted as an argument for subkernels, it is embedded into the compiled data. Any changes made by the main kernel or other subkernels, will not be available. -Subkernels can call other kernels and subkernels, if they're within the same destination. For a more complex example: :: +Subkernels can call other kernels and subkernels. For a more complex example: :: from artiq.experiment import *