2025-07-14 11:15.21: New job: test ahrefs/ocannl https://github.com/ahrefs/ocannl.git#refs/heads/master (89301cec4e85065a5b2c7c8c473760c0388f4384) (linux-arm64:debian-12-5.3_arm64_opam-2.3)Base: ocaml/opam:debian-12-ocaml-5.3@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571Opam project buildTo reproduce locally:git clone --recursive "https://github.com/ahrefs/ocannl.git" -b "master" && cd "ocannl" && git reset --hard 89301ceccat > Dockerfile <<'END-OF-DOCKERFILE'FROM ocaml/opam:debian-12-ocaml-5.3@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571# debian-12-5.3_arm64_opam-2.3USER 1000:1000ENV CLICOLOR_FORCE="1"ENV OPAMCOLOR="always"WORKDIR /srcRUN sudo ln -f /usr/bin/opam-2.3 /usr/bin/opamRUN opam init --reinit -niRUN uname -rs && opam exec -- ocaml -version && opam --versionWORKDIR /srcRUN sudo chown opam /srcRUN cd ~/opam-repository && (git cat-file -e 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 || git fetch origin master) && git reset -q --hard 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 && git log --no-decorate -n1 --oneline && opam update -uCOPY --chown=1000:1000 neural_nets_lib.opam arrayjit.opam ./RUN opam pin add -yn neural_nets_lib.dev './' && \opam pin add -yn arrayjit.dev './'RUN echo '(lang dune 3.0)' > './dune-project'ENV DEPS="angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0"ENV CI="true"ENV OCAMLCI="true"RUN opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPSRUN opam install $DEPSCOPY --chown=1000:1000 . /srcRUN opam exec -- dune build @install @check @runtest && rm -rf _buildEND-OF-DOCKERFILEdocker build .END-REPRO-BLOCK2025-07-14 11:15.21: Using cache hint "ahrefs/ocannl-ocaml/opam:debian-12-ocaml-5.3@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571-debian-12-5.3_arm64_opam-2.3-ee06dfbb3e21290708c2c8a6224283e3"2025-07-14 11:15.21: Using OBuilder spec:((from ocaml/opam:debian-12-ocaml-5.3@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571)(comment debian-12-5.3_arm64_opam-2.3)(user (uid 1000) (gid 1000))(env CLICOLOR_FORCE 1)(env OPAMCOLOR always)(workdir /src)(run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))(run (shell "opam init --reinit -ni"))(run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))(workdir /src)(run (shell "sudo chown opam /src"))(run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "cd ~/opam-repository && (git cat-file -e 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 || git fetch origin master) && git reset -q --hard 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 && git log --no-decorate -n1 --oneline && opam update -u"))(copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))(run (network host)(shell "opam pin add -yn neural_nets_lib.dev './' && \\nopam pin add -yn arrayjit.dev './'"))(run (network host)(shell "echo '(lang dune 3.0)' > './dune-project'"))(env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0")(env CI true)(env OCAMLCI true)(run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS"))(run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "opam install $DEPS"))(copy (src .) (dst /src))(run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")))2025-07-14 11:15.21: Waiting for resource in pool OCluster2025-07-14 11:15.21: Waiting for worker…2025-07-14 11:15.21: Got resource from pool OClusterBuilding on molpadia.caelum.ci.devHEAD is now at f529aeef row.ml: fix missing divisibility guards, improve At_least_dim for Conv_inputHEAD is now at 89301cec Missing from the previous commit(from ocaml/opam:debian-12-ocaml-5.3@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571)Unable to find image 'ocaml/opam:debian-12-ocaml-5.3@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571' locallydocker.io/ocaml/opam@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571: Pulling from ocaml/opam66ed44a1abd1: Pulling fs layer66ed44a1abd1: Verifying Checksum66ed44a1abd1: Download complete66ed44a1abd1: Pull completeDigest: sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571Status: Downloaded newer image for ocaml/opam@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf5712025-07-14 11:15.22 ---> using "f6ae7351875684a25350189421e3f184121b5b67f827c237226a23991bd7124b" from cache/: (comment debian-12-5.3_arm64_opam-2.3)/: (user (uid 1000) (gid 1000))/: (env CLICOLOR_FORCE 1)/: (env OPAMCOLOR always)/: (workdir /src)/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))2025-07-14 11:15.22 ---> using "2ddd24b792e69c58b0b2cc7bf7d8dcd13cf9bc62381bf170e1ca7968b6c11aff" from cache/src: (run (shell "opam init --reinit -ni"))Configuring from /home/opam/.opamrc and then from built-in defaults.Checking for available remotes: rsync and local, git.- you won't be able to use mercurial repositories unless you install the hg command on your system.- you won't be able to use darcs repositories unless you install the darcs command on your system.This development version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.You may want to back it up before going further.Continue? [y/n] yFormat upgrade done.<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>[default] Initialised2025-07-14 11:15.22 ---> using "f35d67e56ae10ef80f10d2429aaeb5ea1e42614f6f3d0967ae70966aea2342df" from cache/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))Linux 5.15.0-134-genericThe OCaml toplevel, version 5.3.02.3.02025-07-14 11:15.22 ---> using "d352b6f5b0d4cda2f7b4d7d31d3055184072213bfeca60ff0589f33e67b8c5ef" from cache/src: (workdir /src)/src: (run (shell "sudo chown opam /src"))2025-07-14 11:15.22 ---> using "fa5c0855117c025048b5b3f5babef35cb5477e180d9337ec1177bf9039018873" from cache/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "cd ~/opam-repository && (git cat-file -e 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 || git fetch origin master) && git reset -q --hard 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 && git log --no-decorate -n1 --oneline && opam update -u"))From https://github.com/ocaml/opam-repository* branch master -> FETCH_HEAD6dea2f9390..64169c3d1d master -> origin/master64169c3d1d Merge pull request #28149 from dbuenzli/b0-publish-logs.0.9.0<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>[default] synchronised from git+file:///home/opam/opam-repositoryEverything as up-to-date as possible (run with --verbose to show unavailable upgrades).However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages.Nothing to do.# To update the current shell environment, run: eval $(opam env)2025-07-14 11:15.22 ---> using "98a9b755f33911a5bd96b50f85fce6a513146a5e71b790c7be2b83afa41e5553" from cache/src: (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))2025-07-14 11:15.22 ---> using "9636275c4818d73231b0a2e5c3bc1bfd46870876b39d9fc0b1d39f4e5a2fcfa8" from cache/src: (run (network host)(shell "opam pin add -yn neural_nets_lib.dev './' && \\nopam pin add -yn arrayjit.dev './'"))[neural_nets_lib.dev] synchronised (file:///src)neural_nets_lib is now pinned to file:///src (version dev)[arrayjit.dev] synchronised (file:///src)arrayjit is now pinned to file:///src (version dev)2025-07-14 11:15.22 ---> using "7f1cb9925e7dfe614bfdc7ee73c76cc095d9c7ce2f7dc4eb8823f2b7deadca21" from cache/src: (run (network host)(shell "echo '(lang dune 3.0)' > './dune-project'"))2025-07-14 11:15.22 ---> using "3c008e2f3a590f62440a216bc127aa442bcf111fc0aed621eb4b7580175ef3ea" from cache/src: (env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0")/src: (env CI true)/src: (env OCAMLCI true)/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS"))+ /usr/bin/sudo "apt-get" "update"- Hit:1 http://deb.debian.org/debian bookworm InRelease- Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]- Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]- Get:4 http://deb.debian.org/debian-security bookworm-security/main arm64 Packages [268 kB]- Fetched 371 kB in 0s (845 kB/s)- Reading package lists...-<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>[neural_nets_lib.dev] synchronised (file:///src)[arrayjit.dev] synchronised (file:///src)[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).[NOTE] Package ocaml-config is already installed (current version is 3).[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).[NOTE] Package ocaml is already installed (current version is 5.3.0).[NOTE] Package base-unix is already installed (current version is base).[NOTE] Package base-threads is already installed (current version is base).[NOTE] Package base-nnp is already installed (current version is base).[NOTE] Package base-effects is already installed (current version is base).[NOTE] Package base-domains is already installed (current version is base).[NOTE] Package base-bigarray is already installed (current version is base).The following system packages will first need to be installed:libcurl4-gnutls-dev libffi-dev pkg-config zlib1g-dev<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libcurl4-gnutls-dev" "libffi-dev" "pkg-config" "zlib1g-dev"- debconf: delaying package configuration, since apt-utils is not installed- Selecting previously unselected package libcurl4-gnutls-dev:arm64.- (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 18801 files and directories currently installed.)- Preparing to unpack .../0-libcurl4-gnutls-dev_7.88.1-10+deb12u12_arm64.deb ...- Unpacking libcurl4-gnutls-dev:arm64 (7.88.1-10+deb12u12) ...- Selecting previously unselected package libffi-dev:arm64.- Preparing to unpack .../1-libffi-dev_3.4.4-1_arm64.deb ...- Unpacking libffi-dev:arm64 (3.4.4-1) ...- Selecting previously unselected package libpkgconf3:arm64.- Preparing to unpack .../2-libpkgconf3_1.8.1-1_arm64.deb ...- Unpacking libpkgconf3:arm64 (1.8.1-1) ...- Selecting previously unselected package pkgconf-bin.- Preparing to unpack .../3-pkgconf-bin_1.8.1-1_arm64.deb ...- Unpacking pkgconf-bin (1.8.1-1) ...- Selecting previously unselected package pkgconf:arm64.- Preparing to unpack .../4-pkgconf_1.8.1-1_arm64.deb ...- Unpacking pkgconf:arm64 (1.8.1-1) ...- Selecting previously unselected package pkg-config:arm64.- Preparing to unpack .../5-pkg-config_1.8.1-1_arm64.deb ...- Unpacking pkg-config:arm64 (1.8.1-1) ...- Selecting previously unselected package zlib1g-dev:arm64.- Preparing to unpack .../6-zlib1g-dev_1%3a1.2.13.dfsg-1_arm64.deb ...- Unpacking zlib1g-dev:arm64 (1:1.2.13.dfsg-1) ...- Setting up libcurl4-gnutls-dev:arm64 (7.88.1-10+deb12u12) ...- Setting up libffi-dev:arm64 (3.4.4-1) ...- Setting up libpkgconf3:arm64 (1.8.1-1) ...- Setting up pkgconf-bin (1.8.1-1) ...- Setting up zlib1g-dev:arm64 (1:1.2.13.dfsg-1) ...- Setting up pkgconf:arm64 (1.8.1-1) ...- Setting up pkg-config:arm64 (1.8.1-1) ...- Processing triggers for libc-bin (2.36-9+deb12u10) ...2025-07-14 11:15.22 ---> using "24129a54de0ea3a1b9c5aafa8f0702cd7610029d02fcb598e755fc2e510ed0b3" from cache/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "opam install $DEPS"))[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).[NOTE] Package ocaml-config is already installed (current version is 3).[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).[NOTE] Package ocaml is already installed (current version is 5.3.0).[NOTE] Package base-unix is already installed (current version is base).[NOTE] Package base-threads is already installed (current version is base).[NOTE] Package base-nnp is already installed (current version is base).[NOTE] Package base-effects is already installed (current version is base).[NOTE] Package base-domains is already installed (current version is base).[NOTE] Package base-bigarray is already installed (current version is base).The following actions will be performed:=== install 81 packages- install angstrom 0.16.1- install astring 0.8.5- install backoff 0.1.1- install base v0.17.3- install base-bytes base- install bigarray-compat 1.1.0- install bigstringaf 0.10.0- install camlp-streams 5.0.1- install camlzip 1.13- install cmdliner 1.3.0- install conf-libcurl 2- install conf-libffi 2.0.0- install conf-pkg-config 4- install conf-zlib 1- install cppo 1.8.0- install csexp 1.5.2- install csv 2.4- install ctypes 0.23.0- install ctypes-foreign 0.23.0- install curl 0.10.0- install dune 3.19.1- install dune-configurator 3.19.1- install fieldslib v0.17.0- install fmt 0.10.0- install integers 0.7.0- install jane-street-headers v0.17.0- install jst-config v0.17.0- install logs 0.9.0- install mdx 2.5.0- install mtime 2.1.0- install multicore-magic 2.3.1- install num 1.6- install ocaml-compiler-libs v0.17.0- install ocaml-syntax-shims 1.0.0- install ocaml-version 4.0.1- install ocaml_intrinsics_kernel v0.17.1- install ocamlbuild 0.16.1- install ocamlfind 1.9.8- install parsexp v0.17.0- install pprint 20230830- install ppx_assert v0.17.0- install ppx_base v0.17.0- install ppx_cold v0.17.0- install ppx_compare v0.17.0- install ppx_derivers 1.2.1- install ppx_deriving 6.1.0- install ppx_enumerate v0.17.0- install ppx_expect v0.17.3- install ppx_fields_conv v0.17.0- install ppx_globalize v0.17.2- install ppx_hash v0.17.0- install ppx_here v0.17.0- install ppx_inline_test v0.17.1- install ppx_minidebug 2.3.0- install ppx_optcomp v0.17.1- install ppx_sexp_conv v0.17.1- install ppx_string v0.17.0- install ppx_variants_conv v0.17.1- install ppxlib 0.36.0- install ppxlib_jane v0.17.4- install printbox 0.12- install printbox-ext-plot 0.12- install printbox-html 0.12- install printbox-md 0.12- install printbox-text 0.12- install ptime 1.2.0- install re 1.13.2- install result 1.5- install saturn_lockfree 0.5.0- install seq base- install sexplib v0.17.0- install sexplib0 v0.17.0- install stdio v0.17.0- install stdlib-shims 0.3.0- install thread-local-storage 0.2- install time_now v0.17.0- install topkg 1.0.8- install tyxml 4.6.0- install uucp 16.0.0- install uutf 1.0.4- install variantslib v0.17.0<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>-> retrieved backoff.0.1.1 (cached)-> retrieved angstrom.0.16.1 (cached)-> retrieved astring.0.8.5 (cached)-> retrieved bigarray-compat.1.1.0 (cached)-> retrieved base.v0.17.3 (cached)-> retrieved bigstringaf.0.10.0 (cached)-> retrieved camlp-streams.5.0.1 (cached)-> retrieved camlzip.1.13 (cached)-> retrieved cmdliner.1.3.0 (cached)-> retrieved cppo.1.8.0 (cached)-> installed conf-libcurl.2-> installed conf-pkg-config.4-> retrieved csexp.1.5.2 (cached)-> retrieved csv.2.4 (cached)-> retrieved ctypes.0.23.0, ctypes-foreign.0.23.0 (cached)-> installed conf-libffi.2.0.0-> installed conf-zlib.1-> retrieved curl.0.10.0 (cached)-> retrieved fieldslib.v0.17.0 (cached)-> retrieved integers.0.7.0 (cached)-> retrieved fmt.0.10.0 (cached)-> retrieved jane-street-headers.v0.17.0 (cached)-> retrieved jst-config.v0.17.0 (cached)-> retrieved logs.0.9.0 (cached)-> retrieved mtime.2.1.0 (cached)-> retrieved multicore-magic.2.3.1 (cached)-> retrieved mdx.2.5.0 (cached)-> retrieved num.1.6 (cached)-> retrieved ocaml-compiler-libs.v0.17.0 (cached)-> retrieved ocaml-syntax-shims.1.0.0 (cached)-> retrieved ocaml_intrinsics_kernel.v0.17.1 (cached)-> retrieved ocaml-version.4.0.1 (cached)-> retrieved ocamlbuild.0.16.1 (cached)-> retrieved dune.3.19.1, dune-configurator.3.19.1 (cached)-> retrieved ocamlfind.1.9.8 (cached)-> retrieved parsexp.v0.17.0 (cached)-> retrieved pprint.20230830 (cached)-> retrieved ppx_assert.v0.17.0 (cached)-> retrieved ppx_base.v0.17.0 (cached)-> retrieved ppx_cold.v0.17.0 (cached)-> retrieved ppx_compare.v0.17.0 (cached)-> retrieved ppx_derivers.1.2.1 (cached)-> retrieved ppx_enumerate.v0.17.0 (cached)-> retrieved ppx_expect.v0.17.3 (cached)-> installed cmdliner.1.3.0-> installed num.1.6-> retrieved ppx_deriving.6.1.0 (cached)-> retrieved ppx_fields_conv.v0.17.0 (cached)-> retrieved ppx_globalize.v0.17.2 (cached)-> retrieved ppx_hash.v0.17.0 (cached)-> retrieved ppx_here.v0.17.0 (cached)-> retrieved ppx_inline_test.v0.17.1 (cached)-> retrieved ppx_optcomp.v0.17.1 (cached)-> retrieved ppx_string.v0.17.0 (cached)-> retrieved ppx_sexp_conv.v0.17.1 (cached)-> retrieved ppx_variants_conv.v0.17.1 (cached)-> retrieved ppx_minidebug.2.3.0 (cached)-> retrieved ppxlib.0.36.0 (cached)-> retrieved ppxlib_jane.v0.17.4 (cached)-> retrieved ptime.1.2.0 (cached)-> retrieved re.1.13.2 (cached)-> retrieved result.1.5 (cached)-> retrieved seq.base (cached)-> installed seq.base-> retrieved saturn_lockfree.0.5.0 (cached)-> retrieved sexplib.v0.17.0 (cached)-> retrieved sexplib0.v0.17.0 (cached)-> retrieved printbox.0.12, printbox-ext-plot.0.12, printbox-html.0.12, printbox-md.0.12, printbox-text.0.12 (cached)-> retrieved stdio.v0.17.0 (cached)-> retrieved stdlib-shims.0.3.0 (cached)-> retrieved thread-local-storage.0.2 (cached)-> retrieved time_now.v0.17.0 (cached)-> retrieved topkg.1.0.8 (cached)-> retrieved tyxml.4.6.0 (cached)-> retrieved uutf.1.0.4 (cached)-> retrieved variantslib.v0.17.0 (cached)-> retrieved uucp.16.0.0 (cached)-> installed ocamlfind.1.9.8-> installed base-bytes.base-> installed camlzip.1.13-> installed ocamlbuild.0.16.1-> installed topkg.1.0.8-> installed uutf.1.0.4-> installed mtime.2.1.0-> installed fmt.0.10.0-> installed ptime.1.2.0-> installed astring.0.8.5-> installed logs.0.9.0-> installed dune.3.19.1-> installed jane-street-headers.v0.17.0-> installed ppx_derivers.1.2.1-> installed csexp.1.5.2-> installed backoff.0.1.1-> installed bigarray-compat.1.1.0-> installed camlp-streams.5.0.1-> installed csv.2.4-> installed multicore-magic.2.3.1-> installed ocaml-syntax-shims.1.0.0-> installed cppo.1.8.0-> installed ocaml-version.4.0.1-> installed ocaml_intrinsics_kernel.v0.17.1-> installed pprint.20230830-> installed ocaml-compiler-libs.v0.17.0-> installed printbox.0.12-> installed re.1.13.2-> installed result.1.5-> installed sexplib0.v0.17.0-> installed stdlib-shims.0.3.0-> installed thread-local-storage.0.2-> installed saturn_lockfree.0.5.0-> installed integers.0.7.0-> installed parsexp.v0.17.0-> installed dune-configurator.3.19.1-> installed bigstringaf.0.10.0-> installed mdx.2.5.0-> installed sexplib.v0.17.0-> installed angstrom.0.16.1-> installed tyxml.4.6.0-> installed curl.0.10.0-> installed printbox-html.0.12-> installed ctypes.0.23.0-> installed base.v0.17.3-> installed fieldslib.v0.17.0-> installed variantslib.v0.17.0-> installed stdio.v0.17.0-> installed ctypes-foreign.0.23.0-> installed ppxlib.0.36.0-> installed ppxlib_jane.v0.17.4-> installed ppx_optcomp.v0.17.1-> installed ppx_cold.v0.17.0-> installed ppx_here.v0.17.0-> installed ppx_variants_conv.v0.17.1-> installed ppx_fields_conv.v0.17.0-> installed uucp.16.0.0-> installed printbox-text.0.12-> installed ppx_enumerate.v0.17.0-> installed ppx_deriving.6.1.0-> installed ppx_globalize.v0.17.2-> installed printbox-md.0.12-> installed ppx_compare.v0.17.0-> installed printbox-ext-plot.0.12-> installed ppx_sexp_conv.v0.17.1-> installed ppx_hash.v0.17.0-> installed ppx_assert.v0.17.0-> installed ppx_minidebug.2.3.0-> installed ppx_base.v0.17.0-> installed jst-config.v0.17.0-> installed ppx_string.v0.17.0-> installed time_now.v0.17.0-> installed ppx_inline_test.v0.17.1-> installed ppx_expect.v0.17.3Done.# To update the current shell environment, run: eval $(opam env)2025-07-14 11:15.22 ---> using "93231e3a48874db52615e5fcdc672796a7d901907f216f633962e809c0bcb304" from cache/src: (copy (src .) (dst /src))2025-07-14 11:15.23 ---> saved as "2e7c2be326a099cd593141e677cc9f9e5f0a1d8497bf5ab2f1d10fc47f3d5529"/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))File "arrayjit/test/dune", line 6, characters 16-24:6 | (pps ppx_here ppx_jane)))^^^^^^^^Error: Library "ppx_jane" not found.-> required by_build/default/arrayjit/test/.merlin-conf/exe-test_numerical_types-> required by alias arrayjit/test/check(cd _build/default/test/operations/config && ../../../arrayjit/bin/read_config.exe --read=backend)Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/operations/config/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileWrote value of 'backend' to ocannl_backend.txtFile "test/ppx/test_ppx_op_expected.ml", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/ppx/test_ppx_op_expected.ml _build/default/test/ppx/test_ppx_op_actual.mldiff --git a/_build/default/test/ppx/test_ppx_op_expected.ml b/_build/default/test/ppx/test_ppx_op_actual.mlindex a6aa4ae..c971ef0 100644--- a/_build/default/test/ppx/test_ppx_op_expected.ml+++ b/_build/default/test/ppx/test_ppx_op_actual.ml@@ -2,20 +2,20 @@ open Baseopen Ocannlmodule TDSL = Operation.TDSLlet y0 =- let hey1 = TDSL.param ?values:None "hey1" in+ let hey1 = TDSL.param ?value:None "hey1" inlet open! TDSL.O in((+) ?label:(Some ["y0"]))((( *. ) ?label:None) (TDSL.number (Float.of_int 2)) hey1)(TDSL.number (Float.of_int 3))let y1 =- let hey2 = TDSL.param ?values:None "hey2" in+ let hey2 = TDSL.param ?value:None "hey2" inlet open! TDSL.O infun x ->((+) ?label:(Some(List.concat [["y1"]; (x.Tensor.value).Ir.Tnode.label])))((( * ) ?label:None) hey2 (TDSL.number (Float.of_int 2))) xlet y2 =- let hey3 = TDSL.param ?values:None "hey3" in+ let hey3 = TDSL.param ?value:None "hey3" inlet open! TDSL.O infun x1 x2 ->((+) ?label:(Some@@ -36,14 +36,14 @@ let b =~output_dims:[2][|(Float.of_int 7);(Float.of_int 8);(Float.of_int 9);(Float.of_int 10)|]let y =- let hey4 = TDSL.param ?values:None "hey4" in+ let hey4 = TDSL.param ?value:None "hey4" inlet open! TDSL.O in((+) ?label:(Some ["y"]))((( * ) ?label:None) hey4 (TDSL.number ?label:None ~axis_label:"q" 2.0))(TDSL.number ?label:None ~axis_label:"p" 1.0)let z =- let hey5 = TDSL.param ?values:None "hey5"- and hey6 = TDSL.param ?values:None "hey6" in+ let hey5 = TDSL.param ?value:None "hey5"+ and hey6 = TDSL.param ?value:None "hey6" inlet open! TDSL.O in((+) ?label:(Some ["z"]))((( * ) ?label:None) (TDSL.number ?label:None ~axis_label:"q" 2.0) hey5)@@ -51,8 +51,8 @@ let z =let stride = 2and dilation = 3let z2 =- let hey7 = TDSL.param ?values:None "hey7"- and hey8 = TDSL.param ?values:None "hey8" in+ let hey7 = TDSL.param ?value:None "hey7"+ and hey8 = TDSL.param ?value:None "hey8" inlet open! TDSL.O inTDSL.einsum ?label:(Some ["z2"])(String.concat ~sep:""@@ -61,8 +61,8 @@ let z2 =let z3 =let s = 2and d = 3 in- let hey10 = TDSL.param ?values:None "hey10"- and hey9 = TDSL.param ?values:None "hey9" in+ let hey10 = TDSL.param ?value:None "hey10"+ and hey9 = TDSL.param ?value:None "hey9" inlet open! TDSL.O inTDSL.einsum ?label:(Some [])(String.concat ~sep:""@@ -78,7 +78,7 @@ let mlp_layer =let b =(TDSL.param ~more_label:(config.label)) ~output_dims:[config.hid_dim]"b"- and w = (TDSL.param ~more_label:(config.label)) ?values:None "w" in+ and w = (TDSL.param ~more_label:(config.label)) ?value:None "w" infun x ->(relu?label:(SomeFile "test/einsum/test_print_style.expected", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/test_print_style.expected _build/default/test/einsum/test_print_style.exe.outputdiff --git a/_build/default/test/einsum/test_print_style.expected b/_build/default/test/einsum/test_print_style.exe.outputindex e51ab37..80ff444 100644--- a/_build/default/test/einsum/test_print_style.expected+++ b/_build/default/test/einsum/test_print_style.exe.output@@ -1,5 +1,5 @@-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/ocannl_config.+Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileTesting print_style functionality:File "test/einsum/test_conv_syntax.expected", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/test_conv_syntax.expected _build/default/test/einsum/test_conv_syntax.exe.outputdiff --git a/_build/default/test/einsum/test_conv_syntax.expected b/_build/default/test/einsum/test_conv_syntax.exe.outputindex 7098c49..02f1b08 100644--- a/_build/default/test/einsum/test_conv_syntax.expected+++ b/_build/default/test/einsum/test_conv_syntax.exe.output@@ -1,5 +1,5 @@-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config.+Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileTesting conv syntax parsing...(cd _build/default/test/ppx && ./test_ppx_op_expected.exe)Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/ppx/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/default/test/ppx && ./test_ppx_op.exe)Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/ppx/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition 'Found 0, in the config file' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/ac99377b27294da29bd783ecbc4ed7f8/default/test/einsum && .einsum_tutorials.inline-tests/inline-test-runner.exe inline-test-runner einsum_tutorials -partition 'Found 0, in the config file' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/ac99377b27294da29bd783ecbc4ed7f8/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/ac99377b27294da29bd783ecbc4ed7f8/default/test/einsum && .einsum_tutorials.inline-tests/inline-test-runner.exe inline-test-runner einsum_tutorials -partition 'Retrieving commandline, environment, or config file variable ocannl_log_level' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/ac99377b27294da29bd783ecbc4ed7f8/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition '' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition 'Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/f0dc5c138f05f2da6ab3901ede810fca/default/test/operations/ocannl_config.' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition 'Retrieving commandline, environment, or config file variable ocannl_log_level' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/ac99377b27294da29bd783ecbc4ed7f8/default/test/einsum && .einsum_tutorials.inline-tests/inline-test-runner.exe inline-test-runner einsum_tutorials -partition '' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/ac99377b27294da29bd783ecbc4ed7f8/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/ac99377b27294da29bd783ecbc4ed7f8/default/test/einsum && .einsum_tutorials.inline-tests/inline-test-runner.exe inline-test-runner einsum_tutorials -partition 'Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/3bd9eda308da84c00d77f92a75af8d5e/default/test/einsum/ocannl_config.' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/ac99377b27294da29bd783ecbc4ed7f8/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileFile "test/einsum/dune", line 5, characters 7-25:5 | (name moons_demo_variant)^^^^^^^^^^^^^^^^^^(cd _build/default/test/einsum && ./moons_demo_variant.exe) > _build/default/test/einsum/moons_demo_variant.exe.outputFatal error: exception (lib/shape.ml.Shape_error "Total_elems constraint: 10 not divisible by 3" ())Raised at Ocannl__Row.row_conjunction.extras in file "lib/row.ml", lines 464-466, characters 10-101Called from Ocannl__Row.row_conjunction.extras in file "lib/row.ml", line 507, characters 53-94Called from Ocannl__Row.row_conjunction in file "lib/row.ml", line 544, characters 46-74Called from Ocannl__Row.apply_row_constraint in file "lib/row.ml", line 952, characters 16-92Called from Ocannl__Row.solve_inequalities.solve.f in file "lib/row.ml", line 2092, characters 32-88Called from Base__List0.fold in file "src/list0.ml", line 43, characters 27-37Called from Ocannl__Row.solve_inequalities.solve in file "lib/row.ml", line 2101, characters 22-56Re-raised at Ocannl__Row.solve_inequalities.solve in file "lib/row.ml", lines 2054-2107, characters 16-25Called from Ocannl__Row.solve_inequalities in file "lib/row.ml", line 2120, characters 6-44Re-raised at Ocannl__Row.solve_inequalities in file "lib/row.ml", lines 2052-2133, characters 35-44Called from Ocannl__Shape.finish_inference in file "lib/shape.ml", line 710, characters 22-71Re-raised at Ocannl__Shape.finish_inference in file "lib/shape.ml", lines 705-723, characters 33-24Called from Ocannl__Shape.to_dims in file "lib/shape.ml", line 751, characters 2-21Called from CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 49, characters 17-27Re-raised at CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 56, characters 4-11Called from CamlinternalLazy.force_lazy_block in file "camlinternalLazy.ml" (inlined), line 78, characters 27-67Called from Ir__Low_level.is_scalar_dims in file "arrayjit/lib/low_level.ml", line 196, characters 54-75Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 229, characters 13-30Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 209, characters 15-41Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 213, characters 8-15Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 209, characters 15-41Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 213, characters 8-15Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 209, characters 15-41Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 213, characters 8-15Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 209, characters 15-41Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 213, characters 8-15Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 209, characters 15-41Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 213, characters 8-15Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 209, characters 15-41Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 213, characters 8-15Called from Ir__Low_level.visit_llc in file "arrayjit/lib/low_level.ml", line 289, characters 2-52Called from Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 938-939, characters 2-7Re-raised at Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 932-951, characters 30-49Called from Ir__Low_level.optimize in file "arrayjit/lib/low_level.ml", line 1176, characters 15-57Called from Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 451, characters 2-85Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", lines 444-451, characters 22-85Called from Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 256-257, characters 4-45Re-raised at Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 248-257, characters 34-47Called from Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 441, characters 6-59Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 440-441, characters 4-59Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 439-447, characters 26-99Called from Ocannl__Train.to_routine in file "lib/train.ml", line 354, characters 26-82Called from Dune__exe__Moons_demo_variant in file "test/einsum/moons_demo_variant.ml", line 54, characters 21-79File "test/operations/dune", lines 19-29, characters 0-281:19 | (rule20 | (alias runtest)21 | (target22 | (dir log_files))23 | (action24 | (run25 | %{dep:micrograd_demo_logging.exe}26 | "--ocannl_debug_backend=text"27 | "--ocannl_log_file_stem=micrograd_demo_logging"28 | "--ocannl_log_main_domain_to_stdout=false"29 | "--ocannl_debug_log_to_stream_files=true")))(cd _build/default/test/operations && ./micrograd_demo_logging.exe --ocannl_debug_backend=text --ocannl_log_file_stem=micrograd_demo_logging --ocannl_log_main_domain_to_stdout=false --ocannl_debug_log_to_stream_files=true)Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileRetrieving commandline, environment, or config file variable ocannl_backendFound multicore_cc, in the config fileRetrieving commandline, environment, or config file variable ocannl_limit_constant_fill_sizeNot found, using default 256Retrieving commandline, environment, or config file variable ocannl_cd_ident_styleNot found, using default heuristicRetrieving commandline, environment, or config file variable ocannl_ll_ident_styleNot found, using default heuristicRetrieving commandline, environment, or config file variable ocannl_prefer_backend_uniformityFound true, in the config fileRetrieving commandline, environment, or config file variable ocannl_debug_log_to_stream_filesFound true, commandline --ocannl_debug_log_to_stream_files=trueRetrieving commandline, environment, or config file variable ocannl_cc_backend_optimization_levelNot found, using default 3Retrieving commandline, environment, or config file variable ocannl_cc_backend_compiler_commandNot found, using default gccRetrieving commandline, environment, or config file variable ocannl_cc_backend_verify_codesignNot found, using default falseFatal error: exception File "src/printbox-text/PrintBox_text.ml", line 212, characters 6-12: Assertion failedRaised at PrintBox_text.Output.Make_out.to_buf_aux_ in file "src/printbox-text/PrintBox_text.ml", line 212, characters 6-50Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 19-42Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41Called from PrintBox_text.Output.Make_out.render in file "src/printbox-text/PrintBox_text.ml", line 242, characters 14-64Called from PrintBox_text.output in file "src/printbox-text/PrintBox_text.ml", line 851, characters 2-31Called from Minidebug_runtime.PrintBox.output_box in file "minidebug_runtime.ml", line 1527, characters 19-59Called from Minidebug_runtime.PrintBox.close_log_impl.close_tree in file "minidebug_runtime.ml", line 1572, characters 6-38Called from Backends.Add_buffer_retrieval_and_syncing.sync_routine in file "arrayjit/lib/backends.ml", lines 207-235, characters 31-82Called from Backends.Raise_backend.link in file "arrayjit/lib/backends.ml", lines 539-540, characters 4-92Re-raised at Backends.Raise_backend.link in file "arrayjit/lib/backends.ml", lines 526-540, characters 23-92Called from Dune__exe__Micrograd_demo_logging in file "test/operations/micrograd_demo_logging.ml", line 36, characters 13-76(cd _build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition primitive_ops.ml -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition zero2hero_1of7.ml -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileFile "test/einsum/einsum_trivia_exec.expected", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/einsum_trivia_exec.expected _build/default/test/einsum/einsum_trivia_exec.exe.outputdiff --git a/_build/default/test/einsum/einsum_trivia_exec.expected b/_build/default/test/einsum/einsum_trivia_exec.exe.outputindex ab456b5..533ea7c 100644--- a/_build/default/test/einsum/einsum_trivia_exec.expected+++ b/_build/default/test/einsum/einsum_trivia_exec.exe.output@@ -1,9 +1,8 @@-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config.+Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileHERE: test/einsum/einsum_trivia_exec.ml:31:21-[0]: r2x4x3 shape 0:2|2:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:32:21┌───────────────────────────────────────────────────────────────────────────┐│[1]: =>_ho shape 0:4|2:2->1:3 ││┌──────┬───────────────┬───────────────┬───────────────┬──────────────────┐│@@ -17,8 +16,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:31:21└───────────────────────────────────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:38:21-[2]: r2x3x6x7x4x5 shape 0:2,1:3|4:4,5:5->2:6,3:7 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:39:21+HERE: test/einsum/einsum_trivia_exec.ml:37:21┌────────────────────────────────────────────────────────────────────────────────────────────┐│[3]: =>_ho2 shape 0:4,1:7|4:2,5:6->2:5,3:3 ││┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│@@ -125,10 +123,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:38:21└────────────────────────────────────────────────────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:44:21-[4]: r3x2x4 shape 0:3|2:4->1:2 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:45:21-[5]: r3x4x1 shape 0:3|2:1->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:46:21-[5]: r3x4x1 shape 0:3|2:1->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:47:21+HERE: test/einsum/einsum_trivia_exec.ml:42:21┌─────────────────────────────────────────────┐│[6]: ;=>_c shape 0:3|1:4 ││┌──────┬────────────────────────────────────┐│@@ -141,8 +136,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:44:21└─────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:66:21-[0]: r2x4x3 shape 0:2|2:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:67:21+HERE: test/einsum/einsum_trivia_exec.ml:61:21┌────────────────────────────────────┐│[1]: =>_ho shape 0:2|1:3 ││┌──────┬───────────────────────────┐│@@ -154,7 +148,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:66:21└────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:75:21+HERE: test/einsum/einsum_trivia_exec.ml:69:21┌────────────────────────────────────────────────────────────────────────────────────┐│[3]: =>_ho2 shape 0:4|2:2->1:5 ││┌──────┬──────────────────┬──────────────────┬──────────────────┬──────────────────┐│@@ -170,9 +164,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:75:21└────────────────────────────────────────────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:95:21-[0]: r2 shape 0:2 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:96:21-[1]: r3 shape 0:3 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:97:21+HERE: test/einsum/einsum_trivia_exec.ml:89:21┌──────────────────────────┐│[4]: ;=>_c shape 1:2->0:3 ││┌──────┬────────────┐ │@@ -185,9 +177,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:95:21└──────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:102:21-[5]: r2x4x3 shape 0:2|2:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:103:21-[6]: r5x7x6 shape 0:5|2:6->1:7 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:104:21+HERE: test/einsum/einsum_trivia_exec.ml:94:21┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[7]: ;=>_c shape 0:2,1:5|4:3,5:6->2:4,3:7 ││┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│@@ -337,7 +327,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:102:21└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:132:21+HERE: test/einsum/einsum_trivia_exec.ml:122:21┌────────────────────────────────────────────────────────────────┐│[2]: ;=>_a2 shape 0:2|2:3->1:4 ││┌──────┬───────────────────────────┬───────────────────────────┐│@@ -352,7 +342,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:132:21└────────────────────────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:133:21+HERE: test/einsum/einsum_trivia_exec.ml:123:21┌────────────────────────────────────────────────────────────────┐│[3]: ;=>_c shape 0:2|2:3->1:5 ││┌──────┬───────────────────────────┬───────────────────────────┐│@@ -368,7 +358,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:133:21└────────────────────────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:134:21+HERE: test/einsum/einsum_trivia_exec.ml:124:21┌────────────────────────────────────────────────────────────────┐│[4]: ;=>_d shape 0:2,1:2|3:3->2:5 ││┌──────┬───────────────────────────┬───────────────────────────┐│@@ -390,7 +380,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:134:21└────────────────────────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:135:21+HERE: test/einsum/einsum_trivia_exec.ml:125:21┌────────────────────────────────────┐│[5]: ;=>_e shape 1:3->0:5 ││┌──────┬───────────────────────────┐│@@ -405,7 +395,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:135:21└────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:136:21+HERE: test/einsum/einsum_trivia_exec.ml:126:21┌────────────────────────────────────┐│[6]: ;=>_f shape 1:3->0:5 ││┌──────┬───────────────────────────┐│@@ -420,8 +410,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:136:21└────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:155:21-[0]: r2x4x3 shape 0:2|2:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:156:21+HERE: test/einsum/einsum_trivia_exec.ml:145:21┌─────────────────────────────────────────────────────────────────────────┐│[1]: =>_ho shape 0:2|2:4->1:3 ││┌──────┬───────────────────────────┬────────────────────────────────────┐│@@ -435,7 +424,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:155:21└─────────────────────────────────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:159:21+HERE: test/einsum/einsum_trivia_exec.ml:148:21┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[2]: =>_ho2 shape 0:4|2:3->1:2 ││┌──────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐│@@ -448,8 +437,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:159:21└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:166:21-[3]: r2x3x6x7x4x5 shape 0:2,1:3|4:4,5:5->2:6,3:7 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:167:21+HERE: test/einsum/einsum_trivia_exec.ml:155:21┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[4]: =>_ho3 shape 0:2,1:5|4:4,5:7->2:6,3:3 ││┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│@@ -574,7 +562,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:166:21└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:171:21+HERE: test/einsum/einsum_trivia_exec.ml:159:21┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[5]: =>_ho4 shape 0:5|2:7->1:3 ││┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│@@ -588,8 +576,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:171:21└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:174:21-[0]: r2x4x3 shape 0:2|2:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:175:21+HERE: test/einsum/einsum_trivia_exec.ml:162:21┌───────────────────────────────────────┐│[6]: =>_ho5 shape 0:4 ││┌┬────────────────────────────────────┐│@@ -600,8 +587,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:174:21└───────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:179:21-[7]: r3x4 shape 0:3,1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:180:21+HERE: test/einsum/einsum_trivia_exec.ml:166:21┌───────────────────────────────────────┐│[8]: =>_ho6 shape 0:4 ││┌┬────────────────────────────────────┐│@@ -612,8 +598,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:179:21└───────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:185:21-[9]: r3x4x2 shape 2:2->0:3,1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:186:21+HERE: test/einsum/einsum_trivia_exec.ml:171:21┌─────────────────────────────────────────────┐│[10]: =>_ho7 shape 0:3,1:2,2:4 ││┌──────┬────────────────────────────────────┐│@@ -631,9 +616,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:185:21└─────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:206:21-[0]: r3x2x4 shape 0:3|2:4->1:2 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:207:21-[1]: r3x4x1 shape 0:3|2:1->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:208:21+HERE: test/einsum/einsum_trivia_exec.ml:191:21┌─────────────────────────────────────────────┐│[2]: ;=>_c shape 0:3|1:4 ││┌──────┬────────────────────────────────────┐│@@ -646,9 +629,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:206:21└─────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:214:21-[3]: r3x2 shape 1:2->0:3 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:215:21-[4]: r3x4 shape 1:4->0:3 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:216:21+HERE: test/einsum/einsum_trivia_exec.ml:197:21┌─────────────────────────────────────────────┐│[5]: ;=>_f shape 0:3,1:2,2:4 ││┌──────┬────────────────────────────────────┐│@@ -666,8 +647,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:214:21└─────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:235:21-[0]: r2x4x3 shape 0:2|2:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:236:21+HERE: test/einsum/einsum_trivia_exec.ml:216:21┌─────────────────────────────────────────────┐│[1]: =>_ho shape 0:2|1:4 ││┌──────┬────────────────────────────────────┐│@@ -679,8 +659,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:235:21└─────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:239:21-[0]: r2x4x3 shape 0:2|2:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:240:21+HERE: test/einsum/einsum_trivia_exec.ml:219:21┌────────────────────────────────────────────────────────────────┐│[2]: =>_ho2 shape 0:2|2:3->1:1 ││┌──────┬───────────────────────────┬───────────────────────────┐│@@ -692,8 +671,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:239:21└────────────────────────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:245:21-[3]: r3x2 shape 1:2->0:3 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:246:21+HERE: test/einsum/einsum_trivia_exec.ml:224:21┌──────────────────────┐│[4]: =>_ho3 shape 0:1 ││┌┬─────────┐ │@@ -704,7 +682,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:245:21└──────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:249:21+HERE: test/einsum/einsum_trivia_exec.ml:227:21┌──────────────────────────────┐│[5]: =>_ho4 shape 0:2,1:1,2:3 ││┌──────┬──────────────────┐ │@@ -719,9 +697,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:249:21└──────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:269:21-[0]: r3x2x4 shape 0:3|2:4->1:2 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:270:21-[1]: r3x4x1 shape 0:3|2:1->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:271:21+HERE: test/einsum/einsum_trivia_exec.ml:247:21┌─────────────────────────────────────────────┐│[2]: ;=>_c shape 0:3|1:4 ││┌──────┬────────────────────────────────────┐│@@ -734,179 +710,177 @@ HERE: test/einsum/einsum_trivia_exec.ml:269:21└─────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:298:21-┌────────────────────────────────┐-│[9]: ;=>+ shape 0:4,1:5,2:6,3:3 │-│┌──────┬──────────────────┐ │-││0 @ 0 │axis 3 │ │-│├──────┼──────────────────┤ │-││0 @ 1 │ 0.00 0.00 0.00 │ │-││axis 2│ 0.00 0.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 0.00 0.00 4.00 │ │-││ │ 0.00 0.00 5.00 │ │-│├──────┼──────────────────┤ │-││1 @ 1 │ 0.00 1.00 0.00 │ │-││axis 2│ 0.00 1.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 0.00 1.00 4.00 │ │-││ │ 0.00 1.00 5.00 │ │-│├──────┼──────────────────┤ │-││2 @ 1 │ 0.00 2.00 0.00 │ │-││axis 2│ 0.00 2.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 0.00 2.00 4.00 │ │-││ │ 0.00 2.00 5.00 │ │-│├──────┼──────────────────┤ │-││3 @ 1 │ 0.00 3.00 0.00 │ │-││axis 2│ 0.00 3.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 0.00 3.00 4.00 │ │-││ │ 0.00 3.00 5.00 │ │-│├──────┼──────────────────┤ │-││4 @ 1 │ 0.00 4.00 0.00 │ │-││axis 2│ 0.00 4.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 0.00 4.00 4.00 │ │-││ │ 0.00 4.00 5.00 │ │-│└──────┴──────────────────┘ │-├────────────────────────────────┤-│┌──────┬──────────────────┐ │-││1 @ 0 │axis 3 │ │-│├──────┼──────────────────┤ │-││0 @ 1 │ 1.00 0.00 0.00 │ │-││axis 2│ 1.00 0.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 1.00 0.00 4.00 │ │-││ │ 1.00 0.00 5.00 │ │-│├──────┼──────────────────┤ │-││1 @ 1 │ 1.00 1.00 0.00 │ │-││axis 2│ 1.00 1.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 1.00 1.00 4.00 │ │-││ │ 1.00 1.00 5.00 │ │-│├──────┼──────────────────┤ │-││2 @ 1 │ 1.00 2.00 0.00 │ │-││axis 2│ 1.00 2.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 1.00 2.00 4.00 │ │-││ │ 1.00 2.00 5.00 │ │-│├──────┼──────────────────┤ │-││3 @ 1 │ 1.00 3.00 0.00 │ │-││axis 2│ 1.00 3.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 1.00 3.00 4.00 │ │-││ │ 1.00 3.00 5.00 │ │-│├──────┼──────────────────┤ │-││4 @ 1 │ 1.00 4.00 0.00 │ │-││axis 2│ 1.00 4.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 1.00 4.00 4.00 │ │-││ │ 1.00 4.00 5.00 │ │-│└──────┴──────────────────┘ │-├────────────────────────────────┤-│┌──────┬──────────────────┐ │-││2 @ 0 │axis 3 │ │-│├──────┼──────────────────┤ │-││0 @ 1 │ 2.00 0.00 0.00 │ │-││axis 2│ 2.00 0.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 2.00 0.00 4.00 │ │-││ │ 2.00 0.00 5.00 │ │-│├──────┼──────────────────┤ │-││1 @ 1 │ 2.00 1.00 0.00 │ │-││axis 2│ 2.00 1.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 2.00 1.00 4.00 │ │-││ │ 2.00 1.00 5.00 │ │-│├──────┼──────────────────┤ │-││2 @ 1 │ 2.00 2.00 0.00 │ │-││axis 2│ 2.00 2.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 2.00 2.00 4.00 │ │-││ │ 2.00 2.00 5.00 │ │-│├──────┼──────────────────┤ │-││3 @ 1 │ 2.00 3.00 0.00 │ │-││axis 2│ 2.00 3.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 2.00 3.00 4.00 │ │-││ │ 2.00 3.00 5.00 │ │-│├──────┼──────────────────┤ │-││4 @ 1 │ 2.00 4.00 0.00 │ │-││axis 2│ 2.00 4.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 2.00 4.00 4.00 │ │-││ │ 2.00 4.00 5.00 │ │-│└──────┴──────────────────┘ │-├────────────────────────────────┤-│┌──────┬──────────────────┐ │-││3 @ 0 │axis 3 │ │-│├──────┼──────────────────┤ │-││0 @ 1 │ 3.00 0.00 0.00 │ │-││axis 2│ 3.00 0.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 3.00 0.00 4.00 │ │-││ │ 3.00 0.00 5.00 │ │-│├──────┼──────────────────┤ │-││1 @ 1 │ 3.00 1.00 0.00 │ │-││axis 2│ 3.00 1.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 3.00 1.00 4.00 │ │-││ │ 3.00 1.00 5.00 │ │-│├──────┼──────────────────┤ │-││2 @ 1 │ 3.00 2.00 0.00 │ │-││axis 2│ 3.00 2.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 3.00 2.00 4.00 │ │-││ │ 3.00 2.00 5.00 │ │-│├──────┼──────────────────┤ │-││3 @ 1 │ 3.00 3.00 0.00 │ │-││axis 2│ 3.00 3.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 3.00 3.00 4.00 │ │-││ │ 3.00 3.00 5.00 │ │-│├──────┼──────────────────┤ │-││4 @ 1 │ 3.00 4.00 0.00 │ │-││axis 2│ 3.00 4.00 1.00 │ │-││ │ ... ... ... │ │-││ │ 3.00 4.00 4.00 │ │-││ │ 3.00 4.00 5.00 │ │-│└──────┴──────────────────┘ │-└────────────────────────────────┘+HERE: test/einsum/einsum_trivia_exec.ml:274:21+┌──────────────────────────────────────┐+│[9]: ;=>+ shape 0:4,1:5,2:6,3:3 │+│┌──────┬───────────────────────────┐ │+││0 @ 0 │axis 3 │ │+│├──────┼───────────────────────────┤ │+││0 @ 1 │ 5.77e+1 1.22e-40 0.00 │ │+││axis 2│ 2.88e+1 1.93e+3 1.00 │ │+││ │ ... ... ... │ │+││ │ 2.84e+3 3.04e+3 4.00 │ │+││ │ 2.88e+1 6.12e-41 5.00 │ │+│├──────┼───────────────────────────┤ │+││1 @ 1 │ 2.88e+1 1.00 2.06e+3 │ │+││axis 2│ 0.00 1.93e+3 2.06e+3 │ │+││ │ ... ... ... │ │+││ │ 2.82e+3 3.04e+3 2.06e+3 │ │+││ │ 0.00 1.00 2.06e+3 │ │+│├──────┼───────────────────────────┤ │+││2 @ 1 │ 2.17e+3 2.00 2.46e+3 │ │+││axis 2│ 2.14e+3 1.93e+3 2.46e+3 │ │+││ │ ... ... ... │ │+││ │ 4.96e+3 3.04e+3 2.46e+3 │ │+││ │ 2.14e+3 2.00 2.46e+3 │ │+│├──────┼───────────────────────────┤ │+││3 @ 1 │ 2.51e+3 3.00 2.86e+3 │ │+││axis 2│ 2.48e+3 1.93e+3 2.86e+3 │ │+││ │ ... ... ... │ │+││ │ 5.30e+3 3.04e+3 2.86e+3 │ │+││ │ 2.48e+3 3.00 2.86e+3 │ │+│├──────┼───────────────────────────┤ │+││4 @ 1 │ 2.84e+3 4.00 3.26e+3 │ │+││axis 2│ 2.82e+3 1.94e+3 3.26e+3 │ │+││ │ ... ... ... │ │+││ │ 5.64e+3 3.04e+3 3.26e+3 │ │+││ │ 2.82e+3 4.00 3.26e+3 │ │+│└──────┴───────────────────────────┘ │+├──────────────────────────────────────┤+│┌──────┬───────────────────────────┐ │+││1 @ 0 │axis 3 │ │+│├──────┼───────────────────────────┤ │+││0 @ 1 │ 5.87e+1 6.12e-41 0.00 │ │+││axis 2│ 2.98e+1 1.93e+3 1.00 │ │+││ │ ... ... ... │ │+││ │ 2.84e+3 3.04e+3 4.00 │ │+││ │ 2.98e+1 0.00 5.00 │ │+│├──────┼───────────────────────────┤ │+││1 @ 1 │ 2.98e+1 1.00 2.06e+3 │ │+││axis 2│ 1.00 1.93e+3 2.06e+3 │ │+││ │ ... ... ... │ │+││ │ 2.82e+3 3.04e+3 2.06e+3 │ │+││ │ 1.00 1.00 2.06e+3 │ │+│├──────┼───────────────────────────┤ │+││2 @ 1 │ 2.17e+3 2.00 2.46e+3 │ │+││axis 2│ 2.14e+3 1.93e+3 2.46e+3 │ │+││ │ ... ... ... │ │+││ │ 4.96e+3 3.04e+3 2.46e+3 │ │+││ │ 2.14e+3 2.00 2.46e+3 │ │+│├──────┼───────────────────────────┤ │+││3 @ 1 │ 2.51e+3 3.00 2.86e+3 │ │+││axis 2│ 2.48e+3 1.93e+3 2.86e+3 │ │+││ │ ... ... ... │ │+││ │ 5.30e+3 3.04e+3 2.86e+3 │ │+││ │ 2.48e+3 3.00 2.86e+3 │ │+│├──────┼───────────────────────────┤ │+││4 @ 1 │ 2.84e+3 4.00 3.26e+3 │ │+││axis 2│ 2.82e+3 1.94e+3 3.26e+3 │ │+││ │ ... ... ... │ │+││ │ 5.64e+3 3.04e+3 3.26e+3 │ │+││ │ 2.82e+3 4.00 3.26e+3 │ │+│└──────┴───────────────────────────┘ │+├──────────────────────────────────────┤+│┌──────┬─────────────────────────────┐│+││2 @ 0 │axis 3 ││+│├──────┼─────────────────────────────┤│+││0 @ 1 │ 5.97e+1 6.12e-41 5.60e-45 ││+││axis 2│ 3.08e+1 1.93e+3 1.00 ││+││ │ ... ... ... ││+││ │ 2.85e+3 3.04e+3 4.00 ││+││ │ 3.08e+1 0.00 5.00 ││+│├──────┼─────────────────────────────┤│+││1 @ 1 │ 3.08e+1 1.00 2.06e+3 ││+││axis 2│ 2.00 1.93e+3 2.06e+3 ││+││ │ ... ... ... ││+││ │ 2.82e+3 3.04e+3 2.06e+3 ││+││ │ 2.00 1.00 2.06e+3 ││+│├──────┼─────────────────────────────┤│+││2 @ 1 │ 2.17e+3 2.00 2.46e+3 ││+││axis 2│ 2.15e+3 1.93e+3 2.46e+3 ││+││ │ ... ... ... ││+││ │ 4.97e+3 3.04e+3 2.46e+3 ││+││ │ 2.15e+3 2.00 2.46e+3 ││+│├──────┼─────────────────────────────┤│+││3 @ 1 │ 2.51e+3 3.00 2.86e+3 ││+││axis 2│ 2.48e+3 1.93e+3 2.86e+3 ││+││ │ ... ... ... ││+││ │ 5.30e+3 3.04e+3 2.86e+3 ││+││ │ 2.48e+3 3.00 2.86e+3 ││+│├──────┼─────────────────────────────┤│+││4 @ 1 │ 2.85e+3 4.00 3.26e+3 ││+││axis 2│ 2.82e+3 1.94e+3 3.26e+3 ││+││ │ ... ... ... ││+││ │ 5.64e+3 3.04e+3 3.26e+3 ││+││ │ 2.82e+3 4.00 3.26e+3 ││+│└──────┴─────────────────────────────┘│+├──────────────────────────────────────┤+│┌──────┬───────────────────────────┐ │+││3 @ 0 │axis 3 │ │+│├──────┼───────────────────────────┤ │+││0 @ 1 │ 6.07e+1 6.12e-41 0.00 │ │+││axis 2│ 3.18e+1 1.93e+3 1.00 │ │+││ │ ... ... ... │ │+││ │ 2.85e+3 3.04e+3 4.00 │ │+││ │ 3.18e+1 0.00 5.00 │ │+│├──────┼───────────────────────────┤ │+││1 @ 1 │ 3.18e+1 1.00 2.06e+3 │ │+││axis 2│ 3.00 1.93e+3 2.06e+3 │ │+││ │ ... ... ... │ │+││ │ 2.82e+3 3.04e+3 2.06e+3 │ │+││ │ 3.00 1.00 2.06e+3 │ │+│├──────┼───────────────────────────┤ │+││2 @ 1 │ 2.17e+3 2.00 2.46e+3 │ │+││axis 2│ 2.15e+3 1.93e+3 2.46e+3 │ │+││ │ ... ... ... │ │+││ │ 4.97e+3 3.04e+3 2.46e+3 │ │+││ │ 2.15e+3 2.00 2.46e+3 │ │+│├──────┼───────────────────────────┤ │+││3 @ 1 │ 2.51e+3 3.00 2.86e+3 │ │+││axis 2│ 2.48e+3 1.93e+3 2.86e+3 │ │+││ │ ... ... ... │ │+││ │ 5.30e+3 3.04e+3 2.86e+3 │ │+││ │ 2.48e+3 3.00 2.86e+3 │ │+│├──────┼───────────────────────────┤ │+││4 @ 1 │ 2.85e+3 4.00 3.26e+3 │ │+││axis 2│ 2.82e+3 1.94e+3 3.26e+3 │ │+││ │ ... ... ... │ │+││ │ 5.64e+3 3.04e+3 3.26e+3 │ │+││ │ 2.82e+3 4.00 3.26e+3 │ │+│└──────┴───────────────────────────┘ │+└──────────────────────────────────────┘+++HERE: test/einsum/einsum_trivia_exec.ml:275:21+┌───────────────────────────────────┐+│[1]: =>_ti shape 0:4,1:3 │+│┌──────┬──────────────────────────┐│+││ │axis 1 ││+│├──────┼──────────────────────────┤│+││axis 0│ 0.00 6.12e-41 0.00 ││+││ │ 1.00 0.00 0.00 ││+││ │ 2.00 0.00 5.60e-45 ││+││ │ 3.00 0.00 0.00 ││+│└──────┴──────────────────────────┘│+└───────────────────────────────────┘+++HERE: test/einsum/einsum_trivia_exec.ml:276:21+┌──────────────────────────────────┐+│[7]: =>_tk shape 0:6,1:3 │+│┌──────┬─────────────────────────┐│+││ │axis 1 ││+│├──────┼─────────────────────────┤│+││axis 0│ 2.88e+1 6.12e-41 0.00 ││+││ │ 0.00 1.93e+3 1.00 ││+││ │ ... ... ... ││+││ │ 2.82e+3 3.04e+3 4.00 ││+││ │ 0.00 0.00 5.00 ││+│└──────┴─────────────────────────┘│+└──────────────────────────────────┘HERE: test/einsum/einsum_trivia_exec.ml:299:21-┌───────────────────────────┐-│[1]: =>_ti shape 0:4,1:3 │-│┌──────┬──────────────────┐│-││ │axis 1 ││-│├──────┼──────────────────┤│-││axis 0│ 0.00 0.00 0.00 ││-││ │ 1.00 0.00 0.00 ││-││ │ 2.00 0.00 0.00 ││-││ │ 3.00 0.00 0.00 ││-│└──────┴──────────────────┘│-└───────────────────────────┘---HERE: test/einsum/einsum_trivia_exec.ml:300:21-┌───────────────────────────┐-│[7]: =>_tk shape 0:6,1:3 │-│┌──────┬──────────────────┐│-││ │axis 1 ││-│├──────┼──────────────────┤│-││axis 0│ 0.00 0.00 0.00 ││-││ │ 0.00 0.00 1.00 ││-││ │ ... ... ... ││-││ │ 0.00 0.00 4.00 ││-││ │ 0.00 0.00 5.00 ││-│└──────┴──────────────────┘│-└───────────────────────────┘---HERE: test/einsum/einsum_trivia_exec.ml:323:21-[0]: r3x2x4_a shape 0:3|2:4->1:2 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:324:21-[1]: r3x4x2x3_b shape 0:3|2:2,3:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:325:21┌─────────────────────────────────────────────────────────────────┐│[2]: ;=>_c shape 0:3|1:4,2:2 ││┌──────┬──────────────────┬──────────────────┬──────────────────┐│@@ -921,9 +895,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:323:21└─────────────────────────────────────────────────────────────────┘-HERE: test/einsum/einsum_trivia_exec.ml:344:21-[0]: r2x2_a shape 1:2->0:2 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:345:21-[1]: r2x2x3x4_b shape 1:2,2:3,3:4->0:2 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:346:21+HERE: test/einsum/einsum_trivia_exec.ml:318:21┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[2]: ;=>_c shape 2:4->0:3,1:2 ││┌──────┬────────────────────────────────────┬────────────────────────────────────┬────────────────────────────────────┐│(cd _build/.sandbox/ac99377b27294da29bd783ecbc4ed7f8/default/test/einsum && .einsum_tutorials.inline-tests/inline-test-runner.exe inline-test-runner einsum_tutorials -partition einsum_trivia.ml -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/ac99377b27294da29bd783ecbc4ed7f8/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileFile "test/einsum/einsum_trivia.ml", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/einsum_trivia.ml _build/.sandbox/ac99377b27294da29bd783ecbc4ed7f8/default/test/einsum/einsum_trivia.ml.correcteddiff --git a/_build/default/test/einsum/einsum_trivia.ml b/_build/.sandbox/ac99377b27294da29bd783ecbc4ed7f8/default/test/einsum/einsum_trivia.ml.correctedindex b68c137..e83dd49 100644--- a/_build/default/test/einsum/einsum_trivia.ml+++ b/_build/.sandbox/ac99377b27294da29bd783ecbc4ed7f8/default/test/einsum/einsum_trivia.ml.corrected@@ -32,6 +32,7 @@ let%expect_test "einsum1 permute axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:32:21┌───────────────────────────────────────────────────────────────────────────┐│[1]: =>_ho shape 0:4|2:2->1:3 ││┌──────┬───────────────┬───────────────┬───────────────┬──────────────────┐│@@ -52,6 +53,7 @@ let%expect_test "einsum1 permute axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho2;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:52:21┌────────────────────────────────────────────────────────────────────────────────────────────┐│[3]: =>_ho2 shape 0:4,1:7|4:2,5:6->2:5,3:3 ││┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│@@ -178,6 +180,7 @@ let%expect_test "einsum1 sum out axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:178:21┌────────────────────────────────────┐│[1]: =>_ho shape 0:2|1:3 ││┌──────┬───────────────────────────┐│@@ -198,6 +201,7 @@ let%expect_test "einsum1 sum out axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho2;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:198:21┌────────────────────────────────────────────────────────────────────────────────────┐│[3]: =>_ho2 shape 0:4|2:2->1:5 ││┌──────┬──────────────────┬──────────────────┬──────────────────┬──────────────────┐│@@ -234,6 +238,7 @@ let%expect_test "einsum outer product" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ c;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:234:21┌──────────────────────────┐│[4]: ;=>_c shape 1:2->0:3 ││┌──────┬────────────┐ │@@ -252,6 +257,7 @@ let%expect_test "einsum outer product" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ c;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:252:21┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[7]: ;=>_c shape 0:2,1:5|4:3,5:6->2:4,3:7 ││┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│@@ -430,6 +436,7 @@ let%expect_test "einsum matrix/inner+outer products" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ a2;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:430:21┌────────────────────────────────────────────────────────────────┐│[2]: ;=>_a2 shape 0:2|2:3->1:4 ││┌──────┬───────────────────────────┬───────────────────────────┐│@@ -446,6 +453,7 @@ let%expect_test "einsum matrix/inner+outer products" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ c;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:446:21┌────────────────────────────────────────────────────────────────┐│[3]: ;=>_c shape 0:2|2:3->1:5 ││┌──────┬───────────────────────────┬───────────────────────────┐│@@ -463,6 +471,7 @@ let%expect_test "einsum matrix/inner+outer products" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ d;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:463:21┌────────────────────────────────────────────────────────────────┐│[4]: ;=>_d shape 0:2,1:2|3:3->2:5 ││┌──────┬───────────────────────────┬───────────────────────────┐│@@ -486,6 +495,7 @@ let%expect_test "einsum matrix/inner+outer products" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ e;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:486:21┌────────────────────────────────────┐│[5]: ;=>_e shape 1:3->0:5 ││┌──────┬───────────────────────────┐│@@ -502,6 +512,7 @@ let%expect_test "einsum matrix/inner+outer products" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ f;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:502:21┌────────────────────────────────────┐│[6]: ;=>_f shape 1:3->0:5 ││┌──────┬───────────────────────────┐│@@ -536,6 +547,7 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:536:21┌─────────────────────────────────────────────────────────────────────────┐│[1]: =>_ho shape 0:2|2:4->1:3 ││┌──────┬───────────────────────────┬────────────────────────────────────┐│@@ -553,6 +565,7 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho2;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:553:21┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[2]: =>_ho2 shape 0:4|2:3->1:2 ││┌──────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐│@@ -573,6 +586,7 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho3;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:573:21┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[4]: =>_ho3 shape 0:2,1:5|4:4,5:7->2:6,3:3 ││┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│@@ -702,6 +716,7 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho4;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:702:21┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[5]: =>_ho4 shape 0:5|2:7->1:3 ││┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│@@ -719,22 +734,13 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey;[%expect{|- ┌─────────────────────────────────────────────────────────────┐- │[0]: r2x4x3 shape 0:2|2:3->1:4 │- │┌──────┬────────────────────────┬───────────────────────────┐│- ││ │0 @ 0 │1 @ 0 ││- ││ │axis 2 │axis 2 ││- │├──────┼────────────────────────┼───────────────────────────┤│- ││axis 1│ 0.00 1.00 2.00 │ 1.20e+1 1.30e+1 1.40e+1 ││- ││ │ 3.00 4.00 5.00 │ 1.50e+1 1.60e+1 1.70e+1 ││- ││ │ 6.00 7.00 8.00 │ 1.80e+1 1.90e+1 2.00e+1 ││- ││ │ 9.00 1.00e+1 1.10e+1 │ 2.10e+1 2.20e+1 2.30e+1 ││- │└──────┴────────────────────────┴───────────────────────────┘│- └─────────────────────────────────────────────────────────────┘+ HERE: test/einsum/einsum_trivia.ml:719:21+ [0]: r2x4x3 shape 0:2|2:3->1:4 <virtual>|}];Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho5;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:735:21┌───────────────────────────────────────┐│[6]: =>_ho5 shape 0:4 ││┌┬────────────────────────────────────┐│@@ -750,6 +756,7 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho6;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:750:21┌───────────────────────────────────────┐│[8]: =>_ho6 shape 0:4 ││┌┬────────────────────────────────────┐│@@ -766,6 +773,7 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho7;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:766:21┌─────────────────────────────────────────────┐│[10]: =>_ho7 shape 0:3,1:2,2:4 ││┌──────┬────────────────────────────────────┐│@@ -804,6 +812,7 @@ let%expect_test "einsum broadcast or sum out prefix axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ c;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:804:21┌─────────────────────────────────────────────┐│[2]: ;=>_c shape 0:3|1:4 ││┌──────┬────────────────────────────────────┐│@@ -823,6 +832,7 @@ let%expect_test "einsum broadcast or sum out prefix axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ f;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:823:21┌─────────────────────────────────────────────┐│[5]: ;=>_f shape 0:3,1:2,2:4 ││┌──────┬────────────────────────────────────┐│@@ -860,6 +870,7 @@ let%expect_test "einsum1 fixed dim axis" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:860:21┌─────────────────────────────────────────────┐│[1]: =>_ho shape 0:2|1:4 ││┌──────┬────────────────────────────────────┐│@@ -875,6 +886,7 @@ let%expect_test "einsum1 fixed dim axis" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho2;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:875:21┌────────────────────────────────────────────────────────────────┐│[2]: =>_ho2 shape 0:2|2:3->1:1 ││┌──────┬───────────────────────────┬───────────────────────────┐│@@ -891,6 +903,7 @@ let%expect_test "einsum1 fixed dim axis" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho3;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:891:21┌──────────────────────┐│[4]: =>_ho3 shape 0:1 ││┌┬─────────┐ │@@ -905,6 +918,7 @@ let%expect_test "einsum1 fixed dim axis" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho4;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:905:21┌──────────────────────────────┐│[5]: =>_ho4 shape 0:2,1:1,2:3 ││┌──────┬──────────────────┐ │@@ -940,6 +954,7 @@ let%expect_test "einsum with fixed dim axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ c;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:940:21┌─────────────────────────────────────────────┐│[2]: ;=>_c shape 0:3|1:4 ││┌──────┬────────────────────────────────────┐│@@ -980,175 +995,178 @@ let%expect_test "outer_sum simulating axis concatenation" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ positions;[%expect{|- ┌────────────────────────────────┐- │[9]: ;=>+ shape 0:4,1:5,2:6,3:3 │- │┌──────┬──────────────────┐ │- ││0 @ 0 │axis 3 │ │- │├──────┼──────────────────┤ │- ││0 @ 1 │ 0.00 0.00 0.00 │ │- ││axis 2│ 0.00 0.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 0.00 0.00 4.00 │ │- ││ │ 0.00 0.00 5.00 │ │- │├──────┼──────────────────┤ │- ││1 @ 1 │ 0.00 1.00 0.00 │ │- ││axis 2│ 0.00 1.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 0.00 1.00 4.00 │ │- ││ │ 0.00 1.00 5.00 │ │- │├──────┼──────────────────┤ │- ││2 @ 1 │ 0.00 2.00 0.00 │ │- ││axis 2│ 0.00 2.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 0.00 2.00 4.00 │ │- ││ │ 0.00 2.00 5.00 │ │- │├──────┼──────────────────┤ │- ││3 @ 1 │ 0.00 3.00 0.00 │ │- ││axis 2│ 0.00 3.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 0.00 3.00 4.00 │ │- ││ │ 0.00 3.00 5.00 │ │- │├──────┼──────────────────┤ │- ││4 @ 1 │ 0.00 4.00 0.00 │ │- ││axis 2│ 0.00 4.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 0.00 4.00 4.00 │ │- ││ │ 0.00 4.00 5.00 │ │- │└──────┴──────────────────┘ │- ├────────────────────────────────┤- │┌──────┬──────────────────┐ │- ││1 @ 0 │axis 3 │ │- │├──────┼──────────────────┤ │- ││0 @ 1 │ 1.00 0.00 0.00 │ │- ││axis 2│ 1.00 0.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 1.00 0.00 4.00 │ │- ││ │ 1.00 0.00 5.00 │ │- │├──────┼──────────────────┤ │- ││1 @ 1 │ 1.00 1.00 0.00 │ │- ││axis 2│ 1.00 1.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 1.00 1.00 4.00 │ │- ││ │ 1.00 1.00 5.00 │ │- │├──────┼──────────────────┤ │- ││2 @ 1 │ 1.00 2.00 0.00 │ │- ││axis 2│ 1.00 2.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 1.00 2.00 4.00 │ │- ││ │ 1.00 2.00 5.00 │ │- │├──────┼──────────────────┤ │- ││3 @ 1 │ 1.00 3.00 0.00 │ │- ││axis 2│ 1.00 3.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 1.00 3.00 4.00 │ │- ││ │ 1.00 3.00 5.00 │ │- │├──────┼──────────────────┤ │- ││4 @ 1 │ 1.00 4.00 0.00 │ │- ││axis 2│ 1.00 4.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 1.00 4.00 4.00 │ │- ││ │ 1.00 4.00 5.00 │ │- │└──────┴──────────────────┘ │- ├────────────────────────────────┤- │┌──────┬──────────────────┐ │- ││2 @ 0 │axis 3 │ │- │├──────┼──────────────────┤ │- ││0 @ 1 │ 2.00 0.00 0.00 │ │- ││axis 2│ 2.00 0.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 2.00 0.00 4.00 │ │- ││ │ 2.00 0.00 5.00 │ │- │├──────┼──────────────────┤ │- ││1 @ 1 │ 2.00 1.00 0.00 │ │- ││axis 2│ 2.00 1.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 2.00 1.00 4.00 │ │- ││ │ 2.00 1.00 5.00 │ │- │├──────┼──────────────────┤ │- ││2 @ 1 │ 2.00 2.00 0.00 │ │- ││axis 2│ 2.00 2.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 2.00 2.00 4.00 │ │- ││ │ 2.00 2.00 5.00 │ │- │├──────┼──────────────────┤ │- ││3 @ 1 │ 2.00 3.00 0.00 │ │- ││axis 2│ 2.00 3.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 2.00 3.00 4.00 │ │- ││ │ 2.00 3.00 5.00 │ │- │├──────┼──────────────────┤ │- ││4 @ 1 │ 2.00 4.00 0.00 │ │- ││axis 2│ 2.00 4.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 2.00 4.00 4.00 │ │- ││ │ 2.00 4.00 5.00 │ │- │└──────┴──────────────────┘ │- ├────────────────────────────────┤- │┌──────┬──────────────────┐ │- ││3 @ 0 │axis 3 │ │- │├──────┼──────────────────┤ │- ││0 @ 1 │ 3.00 0.00 0.00 │ │- ││axis 2│ 3.00 0.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 3.00 0.00 4.00 │ │- ││ │ 3.00 0.00 5.00 │ │- │├──────┼──────────────────┤ │- ││1 @ 1 │ 3.00 1.00 0.00 │ │- ││axis 2│ 3.00 1.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 3.00 1.00 4.00 │ │- ││ │ 3.00 1.00 5.00 │ │- │├──────┼──────────────────┤ │- ││2 @ 1 │ 3.00 2.00 0.00 │ │- ││axis 2│ 3.00 2.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 3.00 2.00 4.00 │ │- ││ │ 3.00 2.00 5.00 │ │- │├──────┼──────────────────┤ │- ││3 @ 1 │ 3.00 3.00 0.00 │ │- ││axis 2│ 3.00 3.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 3.00 3.00 4.00 │ │- ││ │ 3.00 3.00 5.00 │ │- │├──────┼──────────────────┤ │- ││4 @ 1 │ 3.00 4.00 0.00 │ │- ││axis 2│ 3.00 4.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 3.00 4.00 4.00 │ │- ││ │ 3.00 4.00 5.00 │ │- │└──────┴──────────────────┘ │- └────────────────────────────────┘+ HERE: test/einsum/einsum_trivia.ml:980:21+ ┌─────────────────────────────────────────────┐+ │[9]: ;=>+ shape 0:4,1:5,2:6,3:3 includes NaN│+ │┌──────┬────────────────────────────────┐ │+ ││0 @ 0 │axis 3 │ │+ │├──────┼────────────────────────────────┤ │+ ││0 @ 1 │ 4.19e+32 1.53e-40 -2.40e-25 │ │+ ││axis 2│ 2.13e+32 -1.07e+5 1.00 │ │+ ││ │ ... ... ... │ │+ ││ │ 2.13e+32 5.12e+3 4.00 │ │+ ││ │ 2.13e+32 -2.58e-25 5.00 │ │+ │├──────┼────────────────────────────────┤ │+ ││1 @ 1 │ 2.06e+32 1.00 2.07e+23 │ │+ ││axis 2│ 0.00 -1.07e+5 2.07e+23 │ │+ ││ │ ... ... ... │ │+ ││ │ 4.68e+3 5.12e+3 2.07e+23 │ │+ ││ │ 9.18e-41 1.00 2.07e+23 │ │+ │├──────┼────────────────────────────────┤ │+ ││2 @ 1 │ 2.06e+32 2.00 1.33e+19 │ │+ ││axis 2│ 1.82e+22 -1.07e+5 1.33e+19 │ │+ ││ │ ... ... ... │ │+ ││ │ 1.82e+22 5.12e+3 1.33e+19 │ │+ ││ │ 1.82e+22 2.00 1.33e+19 │ │+ │├──────┼────────────────────────────────┤ │+ ││3 @ 1 │ 2.06e+32 3.00 7.30e+28 │ │+ ││axis 2│ 1.71e+19 -1.07e+5 7.30e+28 │ │+ ││ │ ... ... ... │ │+ ││ │ 1.71e+19 5.12e+3 7.30e+28 │ │+ ││ │ 1.71e+19 3.00 7.30e+28 │ │+ │├──────┼────────────────────────────────┤ │+ ││4 @ 1 │ 2.06e+32 4.00 -2.40e-25 │ │+ ││axis 2│ 1.44e-43 -1.07e+5 1.00 │ │+ ││ │ ... ... ... │ │+ ││ │ 4.68e+3 5.12e+3 4.00 │ │+ ││ │ 9.19e-41 4.00 5.00 │ │+ │└──────┴────────────────────────────────┘ │+ ├─────────────────────────────────────────────┤+ │┌──────┬───────────────────────────────┐ │+ ││1 @ 0 │axis 3 │ │+ │├──────┼───────────────────────────────┤ │+ ││0 @ 1 │ 4.19e+32 -1.92e+19 6.12e-41 │ │+ ││axis 2│ 2.13e+32 -1.92e+19 1.00 │ │+ ││ │ ... ... ... │ │+ ││ │ 2.13e+32 -1.92e+19 4.00 │ │+ ││ │ 2.13e+32 -1.92e+19 5.00 │ │+ │├──────┼───────────────────────────────┤ │+ ││1 @ 1 │ 2.06e+32 -1.92e+19 2.07e+23 │ │+ ││axis 2│ 1.00 -1.92e+19 2.07e+23 │ │+ ││ │ ... ... ... │ │+ ││ │ 4.68e+3 -1.92e+19 2.07e+23 │ │+ ││ │ 1.00 -1.92e+19 2.07e+23 │ │+ │├──────┼───────────────────────────────┤ │+ ││2 @ 1 │ 2.06e+32 -1.92e+19 1.33e+19 │ │+ ││axis 2│ 1.82e+22 -1.92e+19 1.33e+19 │ │+ ││ │ ... ... ... │ │+ ││ │ 1.82e+22 -1.92e+19 1.33e+19 │ │+ ││ │ 1.82e+22 -1.92e+19 1.33e+19 │ │+ │├──────┼───────────────────────────────┤ │+ ││3 @ 1 │ 2.06e+32 -1.92e+19 7.30e+28 │ │+ ││axis 2│ 1.71e+19 -1.92e+19 7.30e+28 │ │+ ││ │ ... ... ... │ │+ ││ │ 1.71e+19 -1.92e+19 7.30e+28 │ │+ ││ │ 1.71e+19 -1.92e+19 7.30e+28 │ │+ │├──────┼───────────────────────────────┤ │+ ││4 @ 1 │ 2.06e+32 -1.92e+19 6.12e-41 │ │+ ││axis 2│ 1.00 -1.92e+19 1.00 │ │+ ││ │ ... ... ... │ │+ ││ │ 4.68e+3 -1.92e+19 4.00 │ │+ ││ │ 1.00 -1.92e+19 5.00 │ │+ │└──────┴───────────────────────────────┘ │+ ├─────────────────────────────────────────────┤+ │┌──────┬───────────────────────────┐ │+ ││2 @ 0 │axis 3 │ │+ │├──────┼───────────────────────────┤ │+ ││0 @ 1 │ 4.19e+32 1.53e-40 -nan │ │+ ││axis 2│ 2.13e+32 -1.07e+5 -nan │ │+ ││ │ ... ... ... │ │+ ││ │ 2.13e+32 5.12e+3 -nan │ │+ ││ │ 2.13e+32 -2.58e-25 -nan │ │+ │├──────┼───────────────────────────┤ │+ ││1 @ 1 │ 2.06e+32 1.00 -nan │ │+ ││axis 2│ 2.00 -1.07e+5 -nan │ │+ ││ │ ... ... ... │ │+ ││ │ 4.68e+3 5.12e+3 -nan │ │+ ││ │ 2.00 1.00 -nan │ │+ │├──────┼───────────────────────────┤ │+ ││2 @ 1 │ 2.06e+32 2.00 -nan │ │+ ││axis 2│ 1.82e+22 -1.07e+5 -nan │ │+ ││ │ ... ... ... │ │+ ││ │ 1.82e+22 5.12e+3 -nan │ │+ ││ │ 1.82e+22 2.00 -nan │ │+ │├──────┼───────────────────────────┤ │+ ││3 @ 1 │ 2.06e+32 3.00 -nan │ │+ ││axis 2│ 1.71e+19 -1.07e+5 -nan │ │+ ││ │ ... ... ... │ │+ ││ │ 1.71e+19 5.12e+3 -nan │ │+ ││ │ 1.71e+19 3.00 -nan │ │+ │├──────┼───────────────────────────┤ │+ ││4 @ 1 │ 2.06e+32 4.00 -nan │ │+ ││axis 2│ 2.00 -1.07e+5 -nan │ │+ ││ │ ... ... ... │ │+ ││ │ 4.68e+3 5.12e+3 -nan │ │+ ││ │ 2.00 4.00 -nan │ │+ │└──────┴───────────────────────────┘ │+ ├─────────────────────────────────────────────┤+ │┌──────┬──────────────────────────────┐ │+ ││3 @ 0 │axis 3 │ │+ │├──────┼──────────────────────────────┤ │+ ││0 @ 1 │ 4.19e+32 6.12e-41 0.00 │ │+ ││axis 2│ 2.13e+32 -1.07e+5 1.00 │ │+ ││ │ ... ... ... │ │+ ││ │ 2.13e+32 5.12e+3 4.00 │ │+ ││ │ 2.13e+32 -2.58e-25 5.00 │ │+ │├──────┼──────────────────────────────┤ │+ ││1 @ 1 │ 2.06e+32 1.00 2.07e+23 │ │+ ││axis 2│ 3.00 -1.07e+5 2.07e+23 │ │+ ││ │ ... ... ... │ │+ ││ │ 4.68e+3 5.12e+3 2.07e+23 │ │+ ││ │ 3.00 1.00 2.07e+23 │ │+ │├──────┼──────────────────────────────┤ │+ ││2 @ 1 │ 2.06e+32 2.00 1.33e+19 │ │+ ││axis 2│ 1.82e+22 -1.07e+5 1.33e+19 │ │+ ││ │ ... ... ... │ │+ ││ │ 1.82e+22 5.12e+3 1.33e+19 │ │+ ││ │ 1.82e+22 2.00 1.33e+19 │ │+ │├──────┼──────────────────────────────┤ │+ ││3 @ 1 │ 2.06e+32 3.00 7.30e+28 │ │+ ││axis 2│ 1.71e+19 -1.07e+5 7.30e+28 │ │+ ││ │ ... ... ... │ │+ ││ │ 1.71e+19 5.12e+3 7.30e+28 │ │+ ││ │ 1.71e+19 3.00 7.30e+28 │ │+ │├──────┼──────────────────────────────┤ │+ ││4 @ 1 │ 2.06e+32 4.00 0.00 │ │+ ││axis 2│ 3.00 -1.07e+5 1.00 │ │+ ││ │ ... ... ... │ │+ ││ │ 4.68e+3 5.12e+3 4.00 │ │+ ││ │ 3.00 4.00 5.00 │ │+ │└──────┴──────────────────────────────┘ │+ └─────────────────────────────────────────────┘|}];Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ti;[%expect{|- ┌───────────────────────────┐- │[1]: =>_ti shape 0:4,1:3 │- │┌──────┬──────────────────┐│- ││ │axis 1 ││- │├──────┼──────────────────┤│- ││axis 0│ 0.00 0.00 0.00 ││- ││ │ 1.00 0.00 0.00 ││- ││ │ 2.00 0.00 0.00 ││- ││ │ 3.00 0.00 0.00 ││- │└──────┴──────────────────┘│- └───────────────────────────┘+ HERE: test/einsum/einsum_trivia.ml:1122:21+ ┌──────────────────────────────────────┐+ │[1]: =>_ti shape 0:4,1:3 includes NaN│+ │┌──────┬────────────────────────────┐ │+ ││ │axis 1 │ │+ │├──────┼────────────────────────────┤ │+ ││axis 0│ 0.00 9.18e-41 -2.40e-25 │ │+ ││ │ 1.00 -1.92e+19 6.12e-41 │ │+ ││ │ 2.00 9.18e-41 -nan │ │+ ││ │ 3.00 0.00 0.00 │ │+ │└──────┴────────────────────────────┘ │+ └──────────────────────────────────────┘|}];Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ tk;[%expect{|- ┌───────────────────────────┐- │[7]: =>_tk shape 0:6,1:3 │- │┌──────┬──────────────────┐│- ││ │axis 1 ││- │├──────┼──────────────────┤│- ││axis 0│ 0.00 0.00 0.00 ││- ││ │ 0.00 0.00 1.00 ││- ││ │ ... ... ... ││- ││ │ 0.00 0.00 4.00 ││- ││ │ 0.00 0.00 5.00 ││- │└──────┴──────────────────┘│- └───────────────────────────┘+ HERE: test/einsum/einsum_trivia.ml:1137:21+ ┌────────────────────────────────────┐+ │[7]: =>_tk shape 0:6,1:3 │+ │┌──────┬───────────────────────────┐│+ ││ │axis 1 ││+ │├──────┼───────────────────────────┤│+ ││axis 0│ 2.06e+32 6.12e-41 0.00 ││+ ││ │ 0.00 -1.07e+5 1.00 ││+ ││ │ ... ... ... ││+ ││ │ 4.68e+3 5.12e+3 4.00 ││+ ││ │ 9.18e-41 -2.58e-25 5.00 ││+ │└──────┴───────────────────────────┘│+ └────────────────────────────────────┘|}]let%expect_test "einsum with a leftmost input axis preserved as output axis" =@@ -1175,6 +1193,7 @@ let%expect_test "einsum with a leftmost input axis preserved as output axis" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ c;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:1175:21┌─────────────────────────────────────────────────────────────────┐│[2]: ;=>_c shape 0:3|1:4,2:2 ││┌──────┬──────────────────┬──────────────────┬──────────────────┐│@@ -1209,6 +1228,7 @@ let%expect_test "einsum permuting two leftmost input axes as output axes" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ c;[%expect{|+ HERE: test/einsum/einsum_trivia.ml:1209:21┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[2]: ;=>_c shape 2:4->0:3,1:2 ││┌──────┬────────────────────────────────────┬────────────────────────────────────┬────────────────────────────────────┐│(cd _build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition hello_world_op.ml -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileFile "test/operations/zero2hero_1of7.ml", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/operations/zero2hero_1of7.ml _build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations/zero2hero_1of7.ml.correcteddiff --git a/_build/default/test/operations/zero2hero_1of7.ml b/_build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations/zero2hero_1of7.ml.correctedindex 2fe7000..c75daf4 100644--- a/_build/default/test/operations/zero2hero_1of7.ml+++ b/_build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations/zero2hero_1of7.ml.corrected@@ -30,24 +30,24 @@ let%expect_test "Graph drawing recompile" =Tensor.print_tree ~with_grad:true ~depth:9 f_nd;[%expect{|- #15 +_f_nd- 6.00e+1- #16 grad_+_f_nd Virt/30- <void>- #13 - Virt/152 │#2 5. Virt/40- <void> │<void>- #14 grad_- Virt/30 │- <void> │- #11 *. Virt/152 │ #4 *. Virt/152 │- <void> │ <void> │- #12 grad_*. Virt/30 │ #5 grad_*. Virt/30 │- <void> │ <void> │- #10 3. Virt/40│#7 **. Virt/152 │#3 4. Virt/40│#0 x │- <void> │<void> │<void> │ 5.00 │- │#8 grad_**. Virt/30│ │#1 grad_x Local/30│- │<void> │ │<void> │- │[0]│ #6 2. Virt/40 │ │ │- │ │ <void> │ │ │+ #15 +_f_nd+ 2.38e+30+ #16 grad_+_f_nd Virt/30+ <void>+ #13 - Virt/152 │#2 5. Virt/40+ <void> │<void>+ #14 grad_- Virt/30 │+ <void> │+ #11 *. Virt/152 │#4 *. Virt/152 │+ <void> │<void> │+ #12 grad_*. Virt/30 │#5 grad_*. Virt/30│+ <void> │<void> │+ #10 3. Virt/40│#7 **. Virt/152 │#3 4. Virt/40│[0] │+ <void> │<void> │<void> │ │+ │#8 grad_**. Virt/30│ │ │+ │<void> │ │ │+ │[0]│ #6 2. Virt/40 │ │ │+ │ │ <void> │ │ │|}];let%op f = (3 *. ("x" [ 5 ] **. 2)) - (4 *. x) + 5 inTrain.every_non_literal_on_host f;@@ -59,24 +59,24 @@ let%expect_test "Graph drawing recompile" =Tensor.print_tree ~with_grad:true ~depth:9 f;[%expect{|- #32 +_f- 6.00e+1- #33 grad_+_f- 1.00- #30 - │#19 5. Virt/40- 5.50e+1 │<void>- #31 grad_- │- 1.00 │- #28 *. │ #21 *. │- 7.50e+1 │ 2.00e+1 │- #29 grad_*. │ #22 grad_*. │- 1.00 │ -1.00 │- #27 3. Virt/40│ #24 **. │#20 4. Virt/40│#17 x │- <void> │ 2.50e+1 │<void> │ 5.00 │- │ #25 grad_**. │ │#18 grad_x│- │ 3.00 │ │ 2.60e+1 │- │[17]│#23 2. Virt/40│ │ │- │ │<void> │ │ │+ #32 +_f+ 5.00+ #33 grad_+_f+ 1.00+ #30 - │#19 5. Virt/40+ 1.24e-12 │<void>+ #31 grad_- │+ 1.00 │+ #28 *. │ #21 *. │+ 2.90e-25 │ -1.24e-12 │+ #29 grad_*. │ #22 grad_*. │+ 1.00 │ -1.00 │+ #27 3. Virt/40│ #24 **. │#20 4. Virt/40│[17]│+ <void> │ 9.68e-26 │<void> │ │+ │ #25 grad_**. │ │ │+ │ 3.00 │ │ │+ │[17]│#23 2. Virt/40│ │ │+ │ │<void> │ │ │|}];let xs = Array.init 10 ~f:Float.(fun i -> of_int i - 5.) inlet ys =@@ -276,22 +276,19 @@ let%expect_test "Simple gradients hosted" =Tensor.print_tree ~spy:true ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l Host&stream/41- <not-in-yet>- #13 grad_*._l Host&stream/41- <not-in-yet>- #8 +_d Host&stream/41 │#10 f Host&shared/39- <not-in-yet> │<not-in-yet>- #9 grad_+_d Host&stream/41 │#11 grad_f Host&stream/41- <not-in-yet> │<not-in-yet>- #4 *._e Host&stream/41 │#6 c Host&shared/39 │- <not-in-yet> │<not-in-yet> │- #5 grad_*._e Host&stream/41 │#7 grad_c Host&stream/41│- <not-in-yet> │<not-in-yet> │- #0 a Host&shared/39 │#2 b Host&shared/39 │ │- <not-in-yet> │<not-in-yet> │ │- #1 grad_a Host&stream/41│#3 grad_b Host&stream/41│ │- <not-in-yet> │<not-in-yet> │ │+ #12 *._l Host&stream/412410+ <not-in-yet>+ #13 grad_*._l Host&stream/412410+ <not-in-yet>+ #8 +_d Host&stream/412410 │[10]+ <not-in-yet> │+ #9 grad_+_d Host&stream/412410 │+ <not-in-yet> │+ #4 *._e Host&stream/412410 │[6]│+ <not-in-yet> │ │+ #5 grad_*._e Host&stream/412410│ │+ <not-in-yet> │ │+ [0]│[2] │ │|}];(* Do not update the params: all values and gradients will be at initial points, which arespecified in the tensor in the brackets. *)@@ -300,22 +297,19 @@ let%expect_test "Simple gradients hosted" =Tensor.print_tree ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l- -8.00- #13 grad_*._l- 1.00- #8 +_d │#10 f- 4.00 │ -2.00- #9 grad_+_d │#11 grad_f- -2.00 │ 4.00- #4 *._e │#6 c │- -6.00 │ 1.00e+1 │- #5 grad_*._e │#7 grad_c│- -2.00 │ -2.00 │- #0 a │#2 b │ │- 2.00 │ -3.00 │ │- #1 grad_a│#3 grad_b│ │- 6.00 │ -4.00 │ │+ #12 *._l includes pos. inf.+ inf+ #13 grad_*._l+ 1.00+ #8 +_d │[10]+ 7.53e+29 │+ #9 grad_+_d │+ 8.78e+14 │+ #4 *._e │[6]│+ 7.53e+29 │ │+ #5 grad_*._e│ │+ 8.78e+14 │ │+ [0]│[2] │ │|}];(* Now we update the params, but we are not doing the forward and backward passes: only paramsvalues will change, compared to the above. The update is in the opposite direction of the@@ -324,22 +318,19 @@ let%expect_test "Simple gradients hosted" =Tensor.print_tree ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l- -8.00- #13 grad_*._l- 1.00- #8 +_d │#10 f- 4.00 │ -2.40- #9 grad_+_d │#11 grad_f- -2.00 │ 4.00- #4 *._e │#6 c │- -6.00 │ 1.02e+1 │- #5 grad_*._e │#7 grad_c│- -2.00 │ -2.00 │- #0 a │#2 b │ │- 1.40 │ -2.60 │ │- #1 grad_a│#3 grad_b│ │- 6.00 │ -4.00 │ │+ #12 *._l includes pos. inf.+ inf+ #13 grad_*._l+ 1.00+ #8 +_d │[10]+ 7.53e+29 │+ #9 grad_+_d │+ 8.78e+14 │+ #4 *._e │[6]│+ 7.53e+29 │ │+ #5 grad_*._e│ │+ 8.78e+14 │ │+ [0]│[2] │ │|}];(* Now the params will remain as above, but both param gradients and the values and gradients of@@ -348,22 +339,19 @@ let%expect_test "Simple gradients hosted" =Tensor.print_tree ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l- -1.57e+1- #13 grad_*._l- 1.00- #8 +_d │#10 f- 6.56 │ -2.40- #9 grad_+_d │#11 grad_f- -2.40 │ 6.56- #4 *._e │#6 c │- -3.64 │ 1.02e+1 │- #5 grad_*._e │#7 grad_c│- -2.40 │ -2.40 │- #0 a │#2 b │ │- 1.40 │ -2.60 │ │- #1 grad_a│#3 grad_b│ │- 6.24 │ -3.36 │ │+ #12 *._l includes pos. inf.+ inf+ #13 grad_*._l+ 1.00+ #8 +_d │[10]+ 7.53e+29 │+ #9 grad_+_d │+ 8.78e+14 │+ #4 *._e │[6]│+ 7.53e+29 │ │+ #5 grad_*._e│ │+ 8.78e+14 │ │+ [0]│[2] │ │|}]let%expect_test "Simple gradients virtual" =@@ -385,22 +373,19 @@ let%expect_test "Simple gradients virtual" =Tensor.print_tree ~spy:true ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l Host&dev/41- <not-in-yet>- #13 grad_*._l unknown- <not-in-yet>- #8 +_d unknown │#10 f Host-non-const/24- <not-in-yet> │<not-in-yet>- #9 grad_+_d unknown │#11 grad_f Material/28- <not-in-yet> │<not-in-yet>- #4 *._e unknown │#6 c Host-non-const/24│- <not-in-yet> │<not-in-yet> │- #5 grad_*._e unknown │#7 grad_c Material/28 │- <not-in-yet> │<not-in-yet> │- #0 a Host-non-const/24│#2 b Host-non-const/24│ │- <not-in-yet> │<not-in-yet> │ │- #1 grad_a Material/28 │#3 grad_b Material/28 │ │- <not-in-yet> │<not-in-yet> │ │+ #12 *._l Host&dev/412+ <not-in-yet>+ #13 grad_*._l unknown+ <not-in-yet>+ #8 +_d unknown │[10]+ <not-in-yet> │+ #9 grad_+_d unknown │+ <not-in-yet> │+ #4 *._e unknown │[6]│+ <not-in-yet> │ │+ #5 grad_*._e unknown│ │+ <not-in-yet> │ │+ [0]│[2] │ │|}];let f_init = Train.to_routine (module Backend) ctx IDX.empty @@ Tensor.init_params l inlet grad_routine = Train.to_routine (module Backend) f_init.context IDX.empty grad in@@ -408,22 +393,19 @@ let%expect_test "Simple gradients virtual" =Tensor.print_tree ~spy:true ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l Host&stream/41- <not-in-yet>- #13 grad_*._l Virt/40- <not-in-yet>- #8 +_d Local/46 │#10 f Host&shared/39- <not-in-yet> │<not-in-yet>- #9 grad_+_d Virt/40 │#11 grad_f Dev-stream/41- <not-in-yet> │<not-in-yet>- #4 *._e Virt/152 │#6 c Host&shared/39 │- <not-in-yet> │<not-in-yet> │- #5 grad_*._e Virt/40 │#7 grad_c Dev-stream/41│- <not-in-yet> │<not-in-yet> │- #0 a Host&shared/39 │#2 b Host&shared/39 │ │- <not-in-yet> │<not-in-yet> │ │- #1 grad_a Dev-stream/41│#3 grad_b Dev-stream/41│ │- <not-in-yet> │<not-in-yet> │ │+ #12 *._l Host&stream/412410+ <not-in-yet>+ #13 grad_*._l Virt/40+ <not-in-yet>+ #8 +_d Local/1046 │[10]+ <not-in-yet> │+ #9 grad_+_d Virt/40 │+ <not-in-yet> │+ #4 *._e Virt/152 │[6]│+ <not-in-yet> │ │+ #5 grad_*._e Virt/40│ │+ <not-in-yet> │ │+ [0]│[2] │ │|}];(* Do not update the params: all values and gradients will be at initial points, which arespecified in the tensor in the brackets. *)@@ -432,22 +414,19 @@ let%expect_test "Simple gradients virtual" =Tensor.print_tree ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l- -8.00- #13 grad_*._l Virt/40- <void>- #8 +_d Local/46 │#10 f- <void> │ -2.00- #9 grad_+_d Virt/40 │#11 grad_f Dev-stream/41- <void> │<void>- #4 *._e Virt/152 │#6 c │- <void> │ 1.00e+1 │- #5 grad_*._e Virt/40 │#7 grad_c Dev-stream/41│- <void> │<void> │- #0 a │#2 b │ │- 2.00 │ -3.00 │ │- #1 grad_a Dev-stream/41│#3 grad_b Dev-stream/41│ │- <void> │<void> │ │+ #12 *._l includes pos. inf.+ inf+ #13 grad_*._l Virt/40+ <void>+ #8 +_d Local/1046 │[10]+ <void> │+ #9 grad_+_d Virt/40 │+ <void> │+ #4 *._e Virt/152 │[6]│+ <void> │ │+ #5 grad_*._e Virt/40│ │+ <void> │ │+ [0]│[2] │ │|}];(* Only now compile the SGD update. *)let sgd_routine = Train.to_routine (module Backend) grad_routine.context IDX.empty sgd in@@ -458,22 +437,19 @@ let%expect_test "Simple gradients virtual" =Tensor.print_tree ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l- -8.00- #13 grad_*._l Virt/40- <void>- #8 +_d Local/46 │#10 f- <void> │ -2.40- #9 grad_+_d Virt/40 │#11 grad_f Dev-stream/41- <void> │<void>- #4 *._e Virt/152 │#6 c │- <void> │ 1.02e+1 │- #5 grad_*._e Virt/40 │#7 grad_c Dev-stream/41│- <void> │<void> │- #0 a │#2 b │ │- 1.40 │ -2.60 │ │- #1 grad_a Dev-stream/41│#3 grad_b Dev-stream/41│ │- <void> │<void> │ │+ #12 *._l includes pos. inf.+ inf+ #13 grad_*._l Virt/40+ <void>+ #8 +_d Local/1046 │[10]+ <void> │+ #9 grad_+_d Virt/40 │+ <void> │+ #4 *._e Virt/152 │[6]│+ <void> │ │+ #5 grad_*._e Virt/40│ │+ <void> │ │+ [0]│[2] │ │|}];(* Now the params will remain as above, but both param gradients and the values and gradients ofother nodes will change thanks to the forward and backward passes. *)@@ -481,22 +457,19 @@ let%expect_test "Simple gradients virtual" =Tensor.print_tree ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l- -1.57e+1- #13 grad_*._l Virt/40- <void>- #8 +_d Local/46 │#10 f- <void> │ -2.40- #9 grad_+_d Virt/40 │#11 grad_f Dev-stream/41- <void> │<void>- #4 *._e Virt/152 │#6 c │- <void> │ 1.02e+1 │- #5 grad_*._e Virt/40 │#7 grad_c Dev-stream/41│- <void> │<void> │- #0 a │#2 b │ │- 1.40 │ -2.60 │ │- #1 grad_a Dev-stream/41│#3 grad_b Dev-stream/41│ │- <void> │<void> │ │+ #12 *._l includes pos. inf.+ inf+ #13 grad_*._l Virt/40+ <void>+ #8 +_d Local/1046 │[10]+ <void> │+ #9 grad_+_d Virt/40 │+ <void> │+ #4 *._e Virt/152 │[6]│+ <void> │ │+ #5 grad_*._e Virt/40│ │+ <void> │ │+ [0]│[2] │ │|}]let%expect_test "tanh plot" =@@ -520,18 +493,15 @@ let%expect_test "2D neuron hosted" =Tensor.print_tree ~with_grad:true ~depth:9 v;[%expect{|- #8 +_v- 7.00e-1- #9 grad_+_v- 1.00- #6 * │#0 b- -6.00 │ 6.70- #7 grad_* │#1 grad_b- 1.00 │ 1.00- #2 w │#4 x │- -3.00 1.00 │ 2.00 0.00 │- #3 grad_w │#5 grad_x │- 2.00 0.00 │ -3.00 1.00 │+ #8 +_v+ 7.48e+29+ #9 grad_+_v+ 1.00+ #6 * │[0]+ 7.48e+29 │+ #7 grad_* │+ 1.00 │+ [2]│[4] │|}]let%expect_test "2D neuron virtual" =@@ -549,16 +519,13 @@ let%expect_test "2D neuron virtual" =Tensor.print_tree ~with_grad:true ~depth:9 v;[%expect{|- #8 +_v- 7.00e-1- #9 grad_+_v Virt/40- <void>- #6 * Local/46 │#0 b- <void> │ 6.70- #7 grad_* Virt/40 │#1 grad_b Local/46- <void> │<void>- #2 w │#4 x │- -3.00 1.00 │ 2.00 0.00 │- #3 grad_w Local/46│#5 grad_x Local/46│- <void> │<void> │+ #8 +_v+ 8.59e+29+ #9 grad_+_v Virt/40+ <void>+ #6 * Local/1046 │[0]+ <void> │+ #7 grad_* Virt/40│+ <void> │+ [2]│[4] │|}]File "test/operations/hello_world_op.ml", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/operations/hello_world_op.ml _build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations/hello_world_op.ml.correcteddiff --git a/_build/default/test/operations/hello_world_op.ml b/_build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations/hello_world_op.ml.correctedindex 95901f5..5357350 100644--- a/_build/default/test/operations/hello_world_op.ml+++ b/_build/.sandbox/2baec00894fc5a24712bdc3a67a4e281/default/test/operations/hello_world_op.ml.corrected@@ -34,13 +34,14 @@ let%expect_test "Pointwise multiplication dims 1" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ y;[%expect{|+ HERE: test/operations/hello_world_op.ml:34:21┌────────────────────┐│[3]: *._y shape 0:1 │- │┌┬─────────┐ │- │││axis 0 │ │- │├┼─────────┤ │- │││ 1.40e+1 │ │- │└┴─────────┘ │+ │┌┬───────────┐ │+ │││axis 0 │ │+ │├┼───────────┤ │+ │││ -6.24e-13 │ │+ │└┴───────────┘ │└────────────────────┘|}]@@ -65,25 +66,27 @@ let%expect_test "Matrix multiplication dims 1x1" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey;[%expect{|+ HERE: test/operations/hello_world_op.ml:65:21┌────────────────────────┐│[0]: hey shape 1:1->0:1 │- │┌──────┬──────┐ │- ││ │axis 1│ │- │├──────┼──────┤ │- ││axis 0│ 7.00 │ │- │└──────┴──────┘ │+ │┌──────┬──────────┐ │+ ││ │axis 1 │ │+ │├──────┼──────────┤ │+ ││axis 0│ 2.30e+14 │ │+ │└──────┴──────────┘ │└────────────────────────┘|}];Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ y;[%expect{|+ HERE: test/operations/hello_world_op.ml:77:21┌───────────────────┐│[6]: +_y shape 0:1 │- │┌┬─────────┐ │- │││axis 0 │ │- │├┼─────────┤ │- │││ 1.50e+1 │ │- │└┴─────────┘ │+ │┌┬──────────┐ │+ │││axis 0 │ │+ │├┼──────────┤ │+ │││ 4.61e+14 │ │+ │└┴──────────┘ │└───────────────────┘|}]@@ -108,7 +111,8 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hey;[%expect{|- [0]: [ 1.00 , 2.00 , 3.00 ; 4.00 , 5.00 , 6.00 ]_hey shape 1:3->0:2 [+ HERE: test/operations/hello_world_op.ml:108:21+ [0]: [ 0.00 , 0.00 , 0.00 ; 0.00 , 0.00 , 0.00 ]_hey shape 1:3->0:2 [1.00 , 2.00 , 3.00; 4.00 , 5.00 , 6.00]@@ -116,8 +120,9 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey;[%expect{|+ HERE: test/operations/hello_world_op.ml:116:21┌────────────────────────────────────────────────────────────────────────┐- │[0]: [ 1.00 , 2.00 , 3.00 ; 4.00 , 5.00 , 6.00 ]_hey shape 1:3->0:2 │+ │[0]: [ 0.00 , 0.00 , 0.00 ; 0.00 , 0.00 , 0.00 ]_hey shape 1:3->0:2 ││┌──────┬──────────────────┐ │││ │axis 1 │ ││├──────┼──────────────────┤ │@@ -131,7 +136,8 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hoo;[%expect{|- [1]: [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]_hoo shape 0:2|1:3 [|+ HERE: test/operations/hello_world_op.ml:131:21+ [1]: [| [ 0.00 ; 0.00 ; 0.00 ] ; [ 0.00 ; 0.00 ; 0.00 ] |]_hoo shape 0:2|1:3 [|[ 1.00 ; 2.00 ; 3.00 ]; [ 4.00 ; 5.00 ; 6.00 ]|]@@ -139,8 +145,9 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hoo;[%expect{|+ HERE: test/operations/hello_world_op.ml:139:21┌─────────────────────────────────────────────────────────────────────────────┐- │[1]: [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]_hoo shape 0:2|1:3 │+ │[1]: [| [ 0.00 ; 0.00 ; 0.00 ] ; [ 0.00 ; 0.00 ; 0.00 ] |]_hoo shape 0:2|1:3 ││┌──────┬──────────────────┐ │││ │axis 1 │ ││├──────┼──────────────────┤ │@@ -161,6 +168,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hey2;[%expect{|+ HERE: test/operations/hello_world_op.ml:161:21[2]: c4x2x3_hey2 shape 1:2,2:3->0:4 [( 1.00 , 2.00 , 3.00 ) , ( 4.00 , 5.00 , 6.00 ); ( 7.00 , 8.00 , 9.00 ) , ( 10.00 , 11.00 , 12.00 )@@ -171,6 +179,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey2;[%expect{|+ HERE: test/operations/hello_world_op.ml:171:21┌────────────────────────────────────────────────────────────────┐│[2]: c4x2x3_hey2 shape 1:2,2:3->0:4 ││┌──────┬───────────────────────────┬───────────────────────────┐│@@ -196,6 +205,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hoo2;[%expect{|+ HERE: test/operations/hello_world_op.ml:196:21[3]: c4x2x3_hoo2 shape 0:4|1:2,2:3 [|[ [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] ]; [ [ 7.00 ; 8.00 ; 9.00 ] ; [ 10.00 ; 11.00 ; 12.00 ] ]@@ -206,6 +216,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hoo2;[%expect{|+ HERE: test/operations/hello_world_op.ml:206:21┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[3]: c4x2x3_hoo2 shape 0:4|1:2,2:3 ││┌──────┬──────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐│@@ -229,6 +240,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo;[%expect{|+ HERE: test/operations/hello_world_op.ml:229:21[4]: c4x2x3_heyhoo shape 0:4,1:2|2:3 [|[| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]; [| [ 7.00 ; 8.00 ; 9.00 ] ; [ 10.00 ; 11.00 ; 12.00 ] |]@@ -239,6 +251,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo;[%expect{|+ HERE: test/operations/hello_world_op.ml:239:21┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[4]: c4x2x3_heyhoo shape 0:4,1:2|2:3 ││┌──────┬──────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐│@@ -262,6 +275,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo2;[%expect{|+ HERE: test/operations/hello_world_op.ml:262:21[5]: c4x2x3x2_heyhoo2 shape 0:4,1:2|2:3,3:2 [|[|[ [ 1.00 ; 31.00 ] ; [ 2.00 ; 32.00 ] ; [ 3.00 ; 33.00 ] ]@@ -284,6 +298,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo2;[%expect{|+ HERE: test/operations/hello_world_op.ml:284:21┌──────────────────────────────────────────────┐│[5]: c4x2x3x2_heyhoo2 shape 0:4,1:2|2:3,3:2 ││┌──────┬──────────────────┬──────────────────┐│@@ -324,6 +339,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo3;[%expect{|+ HERE: test/operations/hello_world_op.ml:324:21[6]: c2x2x2x3x2_heyhoo3 shape 0:2,1:2|2:2,3:3,4:2 [|[|[@@ -350,6 +366,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo3;[%expect{|+ HERE: test/operations/hello_world_op.ml:350:21┌──────────────────────────────────────────────────┐│[6]: c2x2x2x3x2_heyhoo3 shape 0:2,1:2|2:2,3:3,4:2 ││┌──────┬───────────────┬──────────────────┐ │@@ -395,6 +412,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo4;[%expect{|+ HERE: test/operations/hello_world_op.ml:395:21[7]: c2x2x2x3x2_heyhoo4 shape 0:2|4:2->1:2,2:2,3:3 [|[[@@ -421,6 +439,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo4;[%expect{|+ HERE: test/operations/hello_world_op.ml:421:21┌───────────────────────────────────────────────────┐│[7]: c2x2x2x3x2_heyhoo4 shape 0:2|4:2->1:2,2:2,3:3 ││┌──────┬───────────────┬──────────────────┐ │@@ -471,28 +490,30 @@ let%expect_test "Matrix multiplication dims 2x3" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey;[%expect{|- ┌────────────────────────┐- │[0]: hey shape 1:2->0:3 │- │┌──────┬────────────┐ │- ││ │axis 1 │ │- │├──────┼────────────┤ │- ││axis 0│ 7.00 7.00 │ │- ││ │ 7.00 7.00 │ │- ││ │ 7.00 7.00 │ │- │└──────┴────────────┘ │- └────────────────────────┘+ HERE: test/operations/hello_world_op.ml:471:21+ ┌─────────────────────────────┐+ │[0]: hey shape 1:2->0:3 │+ │┌──────┬────────────────────┐│+ ││ │axis 1 ││+ │├──────┼────────────────────┤│+ ││axis 0│ 6.00e+12 6.12e-41 ││+ ││ │ 0.00 0.00 ││+ ││ │ 4.48e-44 0.00 ││+ │└──────┴────────────────────┘│+ └─────────────────────────────┘|}];Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ y;[%expect{|- ┌──────────────────────────────┐- │[6]: +_y shape 0:3 │- │┌┬───────────────────────────┐│- │││axis 0 ││- │├┼───────────────────────────┤│- │││ 3.90e+1 4.00e+1 4.10e+1 ││- │└┴───────────────────────────┘│- └──────────────────────────────┘+ HERE: test/operations/hello_world_op.ml:485:21+ ┌─────────────────────────┐+ │[6]: +_y shape 0:3 │+ │┌┬──────────────────────┐│+ │││axis 0 ││+ │├┼──────────────────────┤│+ │││ 1.20e+13 5.00 6.00 ││+ │└┴──────────────────────┘│+ └─────────────────────────|}]let%expect_test "Big matrix" =@@ -517,30 +538,32 @@ let%expect_test "Big matrix" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default hey;[%expect{|- ┌──────────────────────────────────────────────────┐- │[0]: hey shape 1:21->0:21 │- │┌──────┬─────────────────────────────────────────┐│- ││ │axis 1 ││- │├──────┼─────────────────────────────────────────┤│- ││axis 0│ 5.00e-1 5.00e-1 ... 5.00e-1 5.00e-1 ││- ││ │ 5.00e-1 5.00e-1 ... 5.00e-1 5.00e-1 ││- ││ │ ... ... ... ... ... ││- ││ │ 5.00e-1 5.00e-1 ... 5.00e-1 5.00e-1 ││- ││ │ 5.00e-1 5.00e-1 ... 5.00e-1 5.00e-1 ││- │└──────┴─────────────────────────────────────────┘│- └──────────────────────────────────────────────────┘+ HERE: test/operations/hello_world_op.ml:517:21+ ┌──────────────────────────────────────────────────────────┐+ │[0]: hey shape 1:21->0:21 │+ │┌──────┬─────────────────────────────────────────────────┐│+ ││ │axis 1 ││+ │├──────┼─────────────────────────────────────────────────┤│+ ││axis 0│ -4.30e-22 9.18e-41 ... -1.18e+21 -2.28e-26 ││+ ││ │ -1.36e-38 -1.18e+21 ... -1.18e+21 -2.28e-26 ││+ ││ │ ... ... ... ... ... ││+ ││ │ -2.18e-37 1.62e-19 ... 1.49e-19 1.01e-8 ││+ ││ │ 2.49e-9 1.35e-19 ... 3.72e-8 5.20e+22 ││+ │└──────┴─────────────────────────────────────────────────┘│+ └──────────────────────────────────────────────────────────┘|}];Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default y;[%expect{|- ┌────────────────────────────────────────────┐- │[5]: + shape 0:21 │- │┌┬─────────────────────────────────────────┐│- │││axis 0 ││- │├┼─────────────────────────────────────────┤│- │││ 1.05e+2 1.06e+2 ... 1.24e+2 1.25e+2 ││- │└┴─────────────────────────────────────────┘│- └────────────────────────────────────────────┘+ HERE: test/operations/hello_world_op.ml:533:21+ ┌─────────────────────────────────────────────┐+ │[5]: + shape 0:21 includes neg. inf. │+ │┌┬──────────────────────────────────────────┐│+ │││axis 0 ││+ │├┼──────────────────────────────────────────┤│+ │││ -inf -8.30e+22 ... 3.00e+26 1.02e+24 ││+ │└┴──────────────────────────────────────────┘│+ └─────────────────────────────────────────────┘|}]let%expect_test "Very big tensor" =@@ -566,6 +589,7 @@ let%expect_test "Very big tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default hey;[%expect{|+ HERE: test/operations/hello_world_op.ml:566:21┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[0]: r6x10x11x7x8x9 shape 0:6|3:7,4:8,5:9->1:10,2:11 ││┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬──────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│@@ -703,6 +727,7 @@ let%expect_test "Very big tensor" =(* Disable line wrapping for viewing the output. In VSCode: `View: Toggle Word Wrap`. *)[%expect{|+ HERE: test/operations/hello_world_op.ml:702:21┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[6]: -_hoo shape 0:6|1:10,2:11 ││┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬──────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│File "test/training/moons_demo.expected", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/training/moons_demo.expected _build/default/test/training/moons_demo.exe.outputdiff --git a/_build/default/test/training/moons_demo.expected b/_build/default/test/training/moons_demo.exe.outputindex f88c473..08b083b 100644--- a/_build/default/test/training/moons_demo.expected+++ b/_build/default/test/training/moons_demo.exe.output@@ -1,188 +1,184 @@- Half-moons scatterplot and decision boundary:- ┌────────────────────────────────────────────────────────────────────────────────────────────────────┐- │****************************#***********************************************************************│- │****************************###***###***#***********************************************************│- │***************************#********#***#***********************************************************│- │********************#*********************##*#*#****************************************************│- │******************#***#*****##*#*#*#****#*#*#*##****************************************************│- │**************#*#**###**#*##**##********#**#****###**#**********************************************│- │***********#***##***#**##*****************#*#*##*###**********************************************..│- │***************#**###******************************##*#******************************************...│- │*************#*****#******************************#*#***#*#*************************************....│- │*********#***#******************......************##*###**#************************************.....│- │******#***#*#*#****************........******************#*#*********************************.......│- │*****###****#****************...........****************#***********************************........│- │*******#*###****************.............******************#*#*****************************.........│- │**********##***************.......%%......***************#**##****************************..........│- │*****#***#****************......%..%%......*********************************************..........%.│- │**####*******************......%..%..........****************##*#**********************........%...%│- │****#*******************.......%%..%..........***************#*#**********************.........%....│- │*#****##***************.........%....%.........************##***#********************.......%...%%..│- │****#*#***************.........%..%.%...........*************#**#*******************..........%.%...│- │##*##****************............%...............**************#*##****************.........%.%.%%%.│- │**#####************............%...%%.............*******************************...........%..%.%..│- │******************...............%.%.%%............*********#*#*#*#*************................%%..│- │***##************................%..%..%............************#*#************.............%...%...│- │##**#***********...................%...%.............********#**###***********...........%.%%.......│- │###************..................%.%.%................***********##**********..................%....│- │**##**********.........................................**********#*********.............%%.%..%.....│- │**#**********......................%%...................********##********..............%%.%........│- │************..........................%..................****#**#********...................%.......│- │***********.........................%%.%..................*****##******...............%..%..........│- │**********.............................%%..................***********.................%%.%%........│- │*********..............................%...%................*******.....................%%%.........│- │********...................................%..%....................................%.....%..........│- │*******.................................%%..%.%................................%.%.%.%%.............│- │******.....................................%%.%...%%.%.......................%%%....%.%.%...........│- │*****....................................%.....%.%..%....................%.....%%.%.%...............│- │****........................................%%...%.%%%%..%.......%.........%%.%%....................│- │***...............................................%..%.......%..%%%%...%.%..%.%.....................│- │**.................................................%.%.%............%..%...%........................│- │*.................................................%....%.%......%%...%.%............................│- │..........................................................%..%......%%%.............................│- └────────────────────────────────────────────────────────────────────────────────────────────────────┘-- Loss:- ┌────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐- │ 3.79e+1│- │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │l │ │- │o │ │- │s │ │- │s │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │- │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │- - - │- │ 0.00 │----------------------------------------------------------------------------------------------------│- ├────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤- │ │0.00 3.99e+2│- │ │ step │- └────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘-- Log-loss, for better visibility:- ┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐- │ 3.63 │- │- │ │ │- │ │ │- │ │ │- │ │- │- │ │ │- │ │ │- │ │ │- │ │ │- │ │- │- │ │ - - │- │ │ - - - │- │ │------ - │- │ │ ---- - - --- - - - - - │- │ │ -- - - - --- -- - -- - │- │ │ - -- - - --- - - --- ----- - -- │- │l │ -- - - - - --- - - - │- │o │ - - - -- - -- - - - - - │- │g │ - - - - -- - - - - - - - │- │ │ - - - -- - - - -- - - - │- │l │ - - -- -- - - - - -│- │o │ - - - - - - - - - - - │- │s │ - - - - -- - │- │s │ - - │- │ │ - - - - - - - - - │- │ │ - - - - - │- │ │ - - │- │ │ - - - │- │ │ - - │- │ │ │- │ │ - │- │ │ - │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ - │- │ │ │- │ │ │- │ -1.00e+1│ - - - - ----- -- --------------- ---------------------------------------------------------│- ├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤- │ │0.00 3.99e+2│- │ │ step │- └─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘-- Learning rate:- ┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐- │ -1.00e-1│ -│- │ │ ---│- │ │ ---- │- │ │ --- │- │ │ ---- │- │ │ --- │- │ │ --- │- │ │ --- │- │ │ --- │- │ │ ---- │- │ │ --- │- │ │ ---- │- │ │ --- │- │l │ ---- │- │e │ --- │- │a │ --- │- │r │ --- │- │n │ --- │- │i │ ---- │- │n │ --- │- │g │ ---- │- │ │ --- │- │r │ ---- │- │a │ --- │- │t │ --- │- │e │ --- │- │ │ --- │- │ │ ---- │- │ │ --- │- │ │ ---- │- │ │ --- │- │ │ ---- │- │ │ --- │- │ │ --- │- │ │ --- │- │ │ --- │- │ │ ---- │- │ │ --- │- │ │ ---- │- │ -2.00e-1│--- │- ├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤- │ │0.00 3.99e+2│- │ │ step │- └─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘- mlp_result's name: mlp_point- (mlp moons_input) name: mlp_moons_input-\ No newline at end of file+Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/training/ocannl_config.+Retrieving commandline, environment, or config file variable ocannl_log_level+Found 0, in the config file+Half-moons scatterplot and decision boundary:+┌────────────────────────────────────────────────────────────────────────────────────────────────────┐+│...................................#................................................................│+│..........................##..#..###....##..........................................................│+│.........................#....#.....#...............................................................│+│.......................#.##.#.......#####...#.#.....................................................│+│..................#.#.#...#..#.##....#.#.##..#....#.................................................│+│.............#.#......##.#..#..........###..#....#..................................................│+│.............##..##.....#....................#.##.###...#...........................................│+│.............#.##.#.#.#.......................#...##..#.............................................│+│.........#.#....##..................................##..#...........................................│+│...........#.#....................................#..##...#.#.......................................│+│..........##..........................................#...#.#.......................................│+│.......#...###............................................#.........................................│+│....#....##..........................%..................#....##.....................................│+│.........##................................................#..#..............................%......│+│.....#..#........................%..%......................##.#...................................%.│+│...##.#..................................................#....................................%...%.│+│..###...........................%..%%......................###................................%.%...│+│..#...#.#.......................%%.%%.......................#.##.#............................%.....│+│..#...#.............................%.........................##..............................%...%.│+│..##..#............................%%.........................#..##.........................%%..%.%%│+│#...#..#.........................%.%%%.......................##...#............................%.%..│+│##...#.............................%%.........................#.#..#................................│+│...................................%%%%.......................##.#.#........................%%..%.%.│+│###................................%%..............................#.......................%....%...│+│..##................................%%%.%....................................................%%..%..│+│.#.....................................%.......................#.###......................%.%%.%....│+│.....#................................%...%................................................%...%....│+│...................................%.....%%......................#..................................│+│.....................................%%%..%...........................................%..%%..%......│+│.......................................%%.....%......................................%..%.%.%.......│+│.........................................%%............................................%..%%.%......│+│..........................................%.%.....%...............................%.%.%%..%.........│+│.........................................%%%..%%......................................%.............│+│...........................................%.%..%..............................%%.%.%.%%.%..........│+│..............................................%%%%..%.%.......................%%..%.%.%.............│+│..............................................%..%%%.%%...................%..%%...%.................│+│...............................................%...%.%.%..%...%.%%..%%.%%...%.......................│+│......................................................%%.%%%..%.%..%%.%.%.%%........................│+│.....................................................%...........%%%%......%%.......................│+│.......................................................%.%%%%.%.......%...%.........................│+└────────────────────────────────────────────────────────────────────────────────────────────────────┘Loss:+┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐+│ 6.59e+19│ - │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│l │ │+│o │ │+│s │ │+│s │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ 0.00 │----------------------------------------------------------------------------------------------------│+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤+│ │0.00 3.99e+2│+│ │ step │+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘Log-loss, for better visibility:+┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐+│ 4.56e+1 │ │+│ │ - │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│l │ │+│o │ │+│g │ │+│ │ │+│l │ │+│o │ │+│s │ │+│s │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │- -- -- -- -- -- -- -- -- -- -- -- -- -- --- --- --- --- --- --- │+│ │- - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --- ---│+│ │ - - - - - - - - - - - - - - - - - - - - -│+│ │ - - - - - - │+│ │ - │+│ │ │+│ │ │+│ -1.00e+1│----- --- --- -- -- -- -- -- -- -- -- -- -- - - - - - - │+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤+│ │0.00 3.99e+2│+│ │ step │+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘+Learning rate:+┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐+│ -1.00e-1│ -│+│ │ ---│+│ │ ---- │+│ │ --- │+│ │ ---- │+│ │ --- │+│ │ --- │+│ │ --- │+│ │ --- │+│ │ ---- │+│ │ --- │+│ │ ---- │+│ │ --- │+│l │ ---- │+│e │ --- │+│a │ --- │+│r │ --- │+│n │ --- │+│i │ ---- │+│n │ --- │+│g │ ---- │+│ │ --- │+│r │ ---- │+│a │ --- │+│t │ --- │+│e │ --- │+│ │ --- │+│ │ ---- │+│ │ --- │+│ │ ---- │+│ │ --- │+│ │ ---- │+│ │ --- │+│ │ --- │+│ │ --- │+│ │ --- │+│ │ ---- │+│ │ --- │+│ │ ---- │+│ -2.00e-1│--- │+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤+│ │0.00 3.99e+2│+│ │ step │+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘mlp_result's name: mlp_point+(mlp moons_input) name: mlp_moons_inputFile "test/training/moons_demo_parallel.expected", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/training/moons_demo_parallel.expected _build/default/test/training/moons_demo_parallel.exe.outputdiff --git a/_build/default/test/training/moons_demo_parallel.expected b/_build/default/test/training/moons_demo_parallel.exe.outputindex 3582111..f5db190 100644--- a/_build/default/test/training/moons_demo_parallel.expected+++ b/_build/default/test/training/moons_demo_parallel.exe.output@@ -1 +1,5 @@++Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/training/ocannl_config.+Retrieving commandline, environment, or config file variable ocannl_log_level+Found 0, in the config fileSuccess"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 12025-07-14 11:16.35: Job failed: Failed: Build failed