A multi-channel software installation that performs a complete BERT-base forward pass over a 58.8-million-token corpus of institutional art-world texts, serialized into individually observable floating-point operations and rendered across synchronized screens and audio channels.
At the installation pace (1,092 ops/second, derived from a structural constraint of the model rather than chosen for effect) the machine takes on the order of 159,000 years to complete. No one will see it finish.
The work turns a measurement apparatus into the artwork: rather than visualizing analytical results, it exhibits the raw labor of computation, where every visual, auditory, and temporal event is a direct, unembellished translation of one underlying operation. One floating-point operation equals one observable event. No smoothing, no interpolation, no decorative invention.
bert.c (engine)
ZMQ PUSH/PUB ── FMA op batches ──┐
OSC ── structural events ┤
├─> graphics_consumer (C++/Dear ImGui) visual screens
└─> SuperCollider audio engine
The engine streams every operation. Consumers render it. Client machines run the visual consumer; the deployment spans a main host plus desktop and Raspberry Pi clients, each driving one screen.
bert_inference/— computation core. The enginebert.cis a submodule atengine/(reponayuta_bert); the surrounding python pipeline builds the engine's corpus and weight inputs.graphics_consumer/— C++ / Dear ImGui visual consumer; one screen per role (helix, op-stream, scanner, clock, entropy, mandala, whisper, nebula, rain).supercollider/— audio engine (whisper word-cloud + drone), OSC-driven.whisper_tree/— offline pipeline turning the corpus into the whisper graph consumed by the audio engine at runtime.cross/— Raspberry Pi cross-compilation (Docker + QEMU) for the Pi clients.scripts/— deployment packaging (package.sh).docs/— design documents and decision records (the spec lives here).
git submodule update --init --recursive
# engine (installation mode: ZeroMQ + liblo)
cmake -B bert_inference/engine/build bert_inference/engine
cmake --build bert_inference/engine/build --target bert_install
# visual consumer
cmake -B graphics_consumer/build graphics_consumer
cmake --build graphics_consumer/buildCross-compile Pi client binaries with ./cross/build.sh aarch64, then bundle
deployment tarballs with ./scripts/package.sh. See cross/README.md and
bert_inference/README.md for details.
nayuta_bert— the pure-C engine (submodule).nayuta_web— the browser version.nayuta_crossword— the crossword companion.
Code is MIT. Non-code material (text, design, documentation) is CC BY-NC.