ARTIQ-6 is released today. To update, follow the stable branch manual at https://m-labs.hk/artiq/manual/installing.html.
- New hardware support:
- Phaser, a quad channel 1GS/s RF generator card with dual IQ upconverter and dual 5MS/s
ADC and FPGA.
- Zynq SoC core devices, enabling kernels to run on 1 GHz CPU core with a floating-point
unit for faster computations. This currently requires an external
- Mirny 4-channel wide-band PLL/VCO-based microwave frequency synthesiser
- Fastino 32-channel, 3MS/s per channel, 16-bit DAC EEM
- Kasli 2.0, an improved core device with 12 built-in EEM slots, faster FPGA, 4 SFPs, and
high-precision clock recovery circuitry for DRTIO (to be supported in ARTIQ-7).
- ARTIQ Python (core device kernels):
- Multidimensional arrays are now available on the core device, using NumPy syntax.
Elementwise operations (e.g.
/), matrix multiplication (
multidimensional indexing are supported; slices and views are not yet.
- Trigonometric and other common math functions from NumPy are now available on the
core device (e.g.
numpy.sin), both for scalar arguments and implicitly
broadcast across multidimensional arrays.
- Failed assertions now raise
AssertionErrors instead of aborting kernel
- Performance improvements:
- Coredevice SI to mu conversions now always return valid codes, or raise a
- Zotino now exposes
ad9910: The maximum amplitude scale factor is now
- Mirny now supports HW revision independent, human readable
"XO", "SMA", and "MMCX". Passing an integer is backwards compatible.
- Applets now restart if they are running and a ccb call changes their spec
- A "Quick Open" dialog to open experiments by typing part of their name can
be brought up Ctrl-P (Ctrl+Return to immediately submit the selected entry
with the default arguments).
- The Applets dock now has a context menu command to quickly close all open
applets (shortcut: Ctrl-Alt-W).
- Experiment results are now always saved to HDF5, even if
- Core device:
panic_reset 1 now correctly resets the kernel CPU as well if
communication CPU panic occurs.
NumberValue accepts a
type parameter specifying the output as
- A parameter
--identifier-str has been added to many targets to aid
with reproducible builds.
- Python 3.7 support in Conda packages.
kasli_generic JSON descriptions are now validated against a schema. Description defaults have moved from Python to the schema. Warns if ARTIQ version is too old.
artiq_netboot has been moved to its own repository at
- Core device watchdogs have been removed.
- The ARTIQ compiler now implements arrays following NumPy semantics, rather than as a
thin veneer around lists. Most prior use cases of NumPy arrays in kernels should work
unchanged with the new implementation, but the behavior might differ slightly in some
cases (for instance, non-rectangular arrays are not currently supported).
quamash has been replaced with
- Protocols are updated to use device endian.
- Analyzer dump format includes a byte for device endianness.
- Experiment classes with underscore-prefixed names are now ignored when
determines which experiment to submit (consistent with
Thanks to everyone who contributed to this great release.
The beta version is now ARTIQ-7, and we are keeping "legacy" builds for ARTIQ-5. To install these alternative versions, follow the "Installing ARTIQ" instructions in their respective manuals (basically, the Nix or Conda channel URLs are different).