2025-06-27 12:18.58: New job: test ahrefs/ocannl https://github.com/ahrefs/ocannl.git#refs/heads/master (da61756a4cf56c7301528a91a1621f43519d4cf2) (linux-x86_64:debian-11-5.3_opam-2.3)
Base: ocaml/opam:debian-11-ocaml-5.3@sha256:bb9ff64fc0a30e6efc4bba2533e68fcfe1fdcbcca0b32765c1a0a4dc2592c933
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/ahrefs/ocannl.git" -b "master" && cd "ocannl" && git reset --hard da61756a
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-11-ocaml-5.3@sha256:bb9ff64fc0a30e6efc4bba2533e68fcfe1fdcbcca0b32765c1a0a4dc2592c933
# debian-11-5.3_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
WORKDIR /src
RUN sudo chown opam /src
RUN cd ~/opam-repository && (git cat-file -e 7210227672addfb4db789560e45923f54c0aeab1 || git fetch origin master) && git reset -q --hard 7210227672addfb4db789560e45923f54c0aeab1 && git log --no-decorate -n1 --oneline && opam update -u
COPY --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.8.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.12.0 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 $DEPS
RUN opam install $DEPS
COPY --chown=1000:1000 . /src
RUN opam exec -- dune build @install @check @runtest && rm -rf _build
END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK
2025-06-27 12:18.58: Using cache hint "ahrefs/ocannl-ocaml/opam:debian-11-ocaml-5.3@sha256:bb9ff64fc0a30e6efc4bba2533e68fcfe1fdcbcca0b32765c1a0a4dc2592c933-debian-11-5.3_opam-2.3-82912e70cd030e6e6af979ac4425a6a2"
2025-06-27 12:18.58: Using OBuilder spec:
((from ocaml/opam:debian-11-ocaml-5.3@sha256:bb9ff64fc0a30e6efc4bba2533e68fcfe1fdcbcca0b32765c1a0a4dc2592c933)
(comment debian-11-5.3_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 7210227672addfb4db789560e45923f54c0aeab1 || git fetch origin master) && git reset -q --hard 7210227672addfb4db789560e45923f54c0aeab1 && 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.8.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.12.0 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-06-27 12:18.58: Waiting for resource in pool OCluster
2025-06-27 12:18.58: Waiting for workerβ¦
2025-06-27 12:21.40: Got resource from pool OCluster
Building on laodoke.caelum.ci.dev
All commits already cached
HEAD is now at da61756a Fix insufficient domains: convert terminal -> iterated in get_proj_equations
(from ocaml/opam:debian-11-ocaml-5.3@sha256:bb9ff64fc0a30e6efc4bba2533e68fcfe1fdcbcca0b32765c1a0a4dc2592c933)
2025-06-27 12:22.01 ---> saved as "923794cf071481968755bca5f8fb939ba638f0e5adc3039ce330be9e7e13b9de"
/: (comment debian-11-5.3_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-06-27 12:22.01 ---> saved as "170fade88012c85b9a710b53709a9775bf94c3f978b133e60ac3ef87d3512ca8"
/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] y
[NOTE] The 'jobs' option was reset, its value was 255 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
opam option jobs=255 --global
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-06-27 12:22.39 ---> saved as "18c497649a69a9f9036d0ea729703fbea4d442984320fcdc15815f406a603dd5"
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-141-generic
The OCaml toplevel, version 5.3.0
2.3.0
2025-06-27 12:22.39 ---> saved as "1c30ab73bc45f2af7cdf17a48a03ef0ab954c1c579d4ac3bfe8e374742d81c44"
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-06-27 12:22.39 ---> saved as "484dd34db13045b21bb2fddcf6b271db41d8120a809c65fe2843ea8e4b71d87d"
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 7210227672addfb4db789560e45923f54c0aeab1 || git fetch origin master) && git reset -q --hard 7210227672addfb4db789560e45923f54c0aeab1 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch master -> FETCH_HEAD
bc726805e3..2ca36230be master -> origin/master
7210227672 Merge pull request #28100 from smuenzel/ppx-deriving-6.1.0-ocaml-5.4
<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from git+file:///home/opam/opam-repository
Everything 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-06-27 12:23.21 ---> saved as "b1e776f63ad820afdb4e05719a50e8b286e487b92778309ea5771fc5d4a7ebfa"
/src: (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))
2025-06-27 12:23.22 ---> saved as "fb3ca1d62365eeaa05a14968a69cb99336c56e9e4a9569736f705edc275d661e"
/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-06-27 12:23.25 ---> saved as "d21c6d890419987259f1da228fcaa9ecac8aca3d18862b41999297a5058402a4"
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-06-27 12:23.25 ---> saved as "656fd8a53d2b786a38f3ad81c54fecd23c947934902ed1fbb95f3c2be83b6b0e"
/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.8.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.12.0 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 bullseye InRelease
- Get:2 http://deb.debian.org/debian-security bullseye-security InRelease [27.2 kB]
- Get:3 http://deb.debian.org/debian bullseye-updates InRelease [44.0 kB]
- Get:4 http://deb.debian.org/debian-security bullseye-security/main amd64 Packages [383 kB]
- Fetched 454 kB in 0s (1038 kB/s)
- Reading package lists...
-
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[arrayjit.dev] synchronised (file:///src)
[neural_nets_lib.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
- (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 ... 18367 files and directories currently installed.)
- Preparing to unpack .../00-libcurl3-gnutls_7.74.0-1.3+deb11u15_amd64.deb ...
- Unpacking libcurl3-gnutls:amd64 (7.74.0-1.3+deb11u15) over (7.74.0-1.3+deb11u14) ...
- Selecting previously unselected package libcurl4-gnutls-dev:amd64.
- Preparing to unpack .../01-libcurl4-gnutls-dev_7.74.0-1.3+deb11u15_amd64.deb ...
- Unpacking libcurl4-gnutls-dev:amd64 (7.74.0-1.3+deb11u15) ...
- Selecting previously unselected package libffi-dev:amd64.
- Preparing to unpack .../02-libffi-dev_3.3-6_amd64.deb ...
- Unpacking libffi-dev:amd64 (3.3-6) ...
- Selecting previously unselected package libglib2.0-0:amd64.
- Preparing to unpack .../03-libglib2.0-0_2.66.8-1+deb11u6_amd64.deb ...
- Unpacking libglib2.0-0:amd64 (2.66.8-1+deb11u6) ...
- Selecting previously unselected package libglib2.0-data.
- Preparing to unpack .../04-libglib2.0-data_2.66.8-1+deb11u6_all.deb ...
- Unpacking libglib2.0-data (2.66.8-1+deb11u6) ...
- Selecting previously unselected package libicu67:amd64.
- Preparing to unpack .../05-libicu67_67.1-7+deb11u1_amd64.deb ...
- Unpacking libicu67:amd64 (67.1-7+deb11u1) ...
- Selecting previously unselected package libxml2:amd64.
- Preparing to unpack .../06-libxml2_2.9.10+dfsg-6.7+deb11u7_amd64.deb ...
- Unpacking libxml2:amd64 (2.9.10+dfsg-6.7+deb11u7) ...
- Selecting previously unselected package pkg-config.
- Preparing to unpack .../07-pkg-config_0.29.2-1_amd64.deb ...
- Unpacking pkg-config (0.29.2-1) ...
- Selecting previously unselected package shared-mime-info.
- Preparing to unpack .../08-shared-mime-info_2.0-1_amd64.deb ...
- Unpacking shared-mime-info (2.0-1) ...
- Selecting previously unselected package xdg-user-dirs.
- Preparing to unpack .../09-xdg-user-dirs_0.17-2_amd64.deb ...
- Unpacking xdg-user-dirs (0.17-2) ...
- Selecting previously unselected package zlib1g-dev:amd64.
- Preparing to unpack .../10-zlib1g-dev_1%3a1.2.11.dfsg-2+deb11u2_amd64.deb ...
- Unpacking zlib1g-dev:amd64 (1:1.2.11.dfsg-2+deb11u2) ...
- Setting up libicu67:amd64 (67.1-7+deb11u1) ...
- Setting up xdg-user-dirs (0.17-2) ...
- Setting up libglib2.0-0:amd64 (2.66.8-1+deb11u6) ...
- No schema files found: doing nothing.
- Setting up libcurl3-gnutls:amd64 (7.74.0-1.3+deb11u15) ...
- Setting up libcurl4-gnutls-dev:amd64 (7.74.0-1.3+deb11u15) ...
- Setting up libffi-dev:amd64 (3.3-6) ...
- Setting up libglib2.0-data (2.66.8-1+deb11u6) ...
- Setting up pkg-config (0.29.2-1) ...
- Setting up zlib1g-dev:amd64 (1:1.2.11.dfsg-2+deb11u2) ...
- Setting up libxml2:amd64 (2.9.10+dfsg-6.7+deb11u7) ...
- Setting up shared-mime-info (2.0-1) ...
- Processing triggers for libc-bin (2.31-13+deb11u13) ...
2025-06-27 12:23.45 ---> saved as "cbf64c5f442b77d9422b5d677c24ef9856fd512385007c4893d905eb9d172dba"
/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.8.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.12.0
- 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 astring.0.8.5 (cached)
-> retrieved angstrom.0.16.1 (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 cppo.1.8.0 (cached)
-> retrieved cmdliner.1.3.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.8.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-version.4.0.1 (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved parsexp.v0.17.0 (cached)
-> retrieved pprint.20230830 (cached)
-> retrieved ppx_base.v0.17.0 (cached)
-> retrieved ppx_assert.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_deriving.6.1.0 (cached)
-> retrieved ppx_expect.v0.17.3 (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_sexp_conv.v0.17.1 (cached)
-> retrieved ppx_string.v0.17.0 (cached)
-> retrieved ppx_minidebug.2.3.0 (cached)
-> retrieved ppx_variants_conv.v0.17.1 (cached)
-> retrieved ppxlib_jane.v0.17.4 (cached)
-> retrieved dune.3.19.1, dune-configurator.3.19.1 (cached)
-> retrieved ppxlib.0.36.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 ptime.1.2.0 (cached)
-> retrieved re.1.12.0 (cached)
-> retrieved seq.base (cached)
-> retrieved result.1.5 (cached)
-> retrieved saturn_lockfree.0.5.0 (cached)
-> installed cmdliner.1.3.0
-> installed num.1.6
-> installed seq.base
-> retrieved sexplib.v0.17.0 (cached)
-> retrieved sexplib0.v0.17.0 (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 uutf.1.0.4 (cached)
-> retrieved variantslib.v0.17.0 (cached)
-> retrieved tyxml.4.6.0 (cached)
-> retrieved uucp.16.0.0 (cached)
-> installed ocamlbuild.0.16.1
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed camlzip.1.13
-> installed topkg.1.0.8
-> installed uutf.1.0.4
-> installed fmt.0.10.0
-> installed mtime.2.1.0
-> installed ptime.1.2.0
-> installed astring.0.8.5
-> installed logs.0.8.0
-> installed dune.3.19.1
-> installed jane-street-headers.v0.17.0
-> 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-version.4.0.1
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed pprint.20230830
-> installed ppx_derivers.1.2.1
-> installed printbox.0.12
-> installed result.1.5
-> installed sexplib0.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed thread-local-storage.0.2
-> installed cppo.1.8.0
-> installed ocaml-syntax-shims.1.0.0
-> installed integers.0.7.0
-> installed re.1.12.0
-> installed ocaml-compiler-libs.v0.17.0
-> installed saturn_lockfree.0.5.0
-> installed dune-configurator.3.19.1
-> installed parsexp.v0.17.0
-> installed bigstringaf.0.10.0
-> installed angstrom.0.16.1
-> installed sexplib.v0.17.0
-> installed mdx.2.5.0
-> installed tyxml.4.6.0
-> installed printbox-html.0.12
-> installed uucp.16.0.0
-> installed printbox-text.0.12
-> installed printbox-md.0.12
-> installed ctypes.0.23.0
-> installed printbox-ext-plot.0.12
-> installed ctypes-foreign.0.23.0
-> installed base.v0.17.3
-> installed fieldslib.v0.17.0
-> installed variantslib.v0.17.0
-> installed stdio.v0.17.0
-> installed ppxlib.0.36.0
-> installed ppxlib_jane.v0.17.4
-> installed ppx_optcomp.v0.17.1
-> installed ppx_here.v0.17.0
-> installed ppx_cold.v0.17.0
-> installed ppx_fields_conv.v0.17.0
-> installed ppx_variants_conv.v0.17.1
-> installed ppx_globalize.v0.17.2
-> installed ppx_deriving.6.1.0
-> installed ppx_compare.v0.17.0
-> installed ppx_enumerate.v0.17.0
-> installed ppx_sexp_conv.v0.17.1
-> installed curl.0.10.0
-> 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.3
Done.
# To update the current shell environment, run: eval $(opam env)
2025-06-27 12:28.32 ---> saved as "853859920b82fb3c28290874f9c57e40d7f0ba2570f60f303665e1ab46643fc5"
/src: (copy (src .) (dst /src))
2025-06-27 12:28.34 ---> saved as "d18da82d9ead5d9007c5e0ff22fc09942b87f305201a928d581787976dc292f1"
/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
File "arrayjit/test/dune", line 6, characters 7-15:
6 | (pps 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/config && ../../arrayjit/bin/read_config.exe --read=backend)
Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/config/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
Wrote value of 'backend' to ocannl_backend.txt
File "test/test_print_style.expected", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/test_print_style.expected _build/default/test/test_print_style.exe.output
diff --git a/_build/default/test/test_print_style.expected b/_build/default/test/test_print_style.exe.output
index e51ab37..c55c8ad 100644
--- a/_build/default/test/test_print_style.expected
+++ b/_build/default/test/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/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
Testing print_style functionality:
(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_level
Found 0, in the config file
(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_level
Found 0, in the config file
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.output
diff --git a/_build/default/test/einsum/test_conv_syntax.expected b/_build/default/test/einsum/test_conv_syntax.exe.output
index 4bd5a1c..0580e1e 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_level
Found 0, in the config file
Testing conv syntax parsing...
File "test/einsum/dune", line 13, characters 7-25:
13 | (name einsum_trivia_exec)
^^^^^^^^^^^^^^^^^^
(cd _build/default/test/einsum && ./einsum_trivia_exec.exe) > _build/default/test/einsum/einsum_trivia_exec.exe.output
Fatal error: exception File "arrayjit/lib/low_level.ml", line 623, characters 44-50: Assertion failed
Raised at Ir__Low_level.cleanup_virtual_llc.loop_float.(fun) in file "arrayjit/lib/low_level.ml", line 623, characters 44-70
Called from Base__List0.iter in file "src/list0.ml", line 66, characters 4-7
Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 623, characters 8-71
Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 590, characters 29-62
Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 610, characters 55-88
Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 586, characters 38-71
Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
Called from Base__List.filter_map in file "src/list.ml", line 1133, characters 11-15
Called from Base__List.filter_map in file "src/list.ml", line 1135, characters 22-38
Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 556, characters 19-42
Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 556, characters 19-64
Called from Ir__Low_level.cleanup_virtual_llc in file "arrayjit/lib/low_level.ml", line 633, characters 36-89
Called from Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 857-858, characters 7-67
Re-raised at Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 846-863, characters 30-35
Called from Ir__Low_level.optimize in file "arrayjit/lib/low_level.ml", line 1126, characters 15-47
Called from Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 419, characters 2-75
Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", lines 412-419, characters 22-75
Called from Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 193-194, characters 4-45
Re-raised at Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 185-194, characters 34-47
Called from Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 356, characters 6-61
Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 355-356, characters 4-61
Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 354-362, characters 26-99
Called from Ocannl__Train.forward_and_ctx in file "lib/train.ml", line 494, characters 37-90
Re-raised at Ocannl__Train.forward_and_ctx in file "lib/train.ml", lines 488-497, characters 32-17
Called from Ocannl__Train.forward_and_forget in file "lib/train.ml", line 501, characters 12-75
Called from Dune__exe__Einsum_trivia_exec in file "test/einsum/einsum_trivia_exec.ml", line 29, characters 2-41
(cd _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner 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/6e6a1764751748a50cc6afaf1c944638/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition 'Found 0, in the config file' -source-tree-root .. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition 'Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/b0045b9f55035c2dcec8bca280a77073/default/test/ocannl_config.' -source-tree-root .. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition '' -source-tree-root .. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition einsum_trivia.ml -source-tree-root .. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/dune", lines 30-40, characters 0-281:
30 | (rule
31 | (alias runtest)
32 | (target
33 | (dir log_files))
34 | (action
35 | (run
36 | %{dep:micrograd_demo_logging.exe}
37 | "--ocannl_debug_backend=text"
38 | "--ocannl_log_file_stem=micrograd_demo_logging"
39 | "--ocannl_log_main_domain_to_stdout=false"
40 | "--ocannl_debug_log_to_stream_files=true")))
(cd _build/default/test && ./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/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
Retrieving commandline, environment, or config file variable ocannl_backend
Found multicore_cc, in the config file
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
Retrieving commandline, environment, or config file variable ocannl_cd_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_ll_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_prefer_backend_uniformity
Found true, in the config file
Retrieving commandline, environment, or config file variable ocannl_debug_log_to_stream_files
Found true, commandline --ocannl_debug_log_to_stream_files=true
Retrieving commandline, environment, or config file variable ocannl_cc_backend_optimization_level
Not found, using default 3
Retrieving commandline, environment, or config file variable ocannl_cc_backend_compiler_command
Not found, using default gcc
Retrieving commandline, environment, or config file variable ocannl_never_capture_stdout
Not found, using default false
Fatal error: exception File "src/printbox-text/PrintBox_text.ml", line 212, characters 6-12: Assertion failed
Raised at PrintBox_text.Output.Make_out.to_buf_aux_ in file "src/printbox-text/PrintBox_text.ml", line 212, characters 6-50
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 19-42
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from PrintBox_text.Output.Make_out.render in file "src/printbox-text/PrintBox_text.ml", line 242, characters 14-64
Called from PrintBox_text.output in file "src/printbox-text/PrintBox_text.ml", line 851, characters 2-31
Called from Minidebug_runtime.PrintBox.output_box in file "minidebug_runtime.ml", line 1527, characters 19-59
Called from Minidebug_runtime.PrintBox.close_log_impl.close_tree in file "minidebug_runtime.ml", line 1572, characters 6-38
Called from Backends.Add_buffer_retrieval_and_syncing.sync_routine.post in file "arrayjit/lib/backends.ml", lines 163-170, characters 13-15
Called from Ir__Task.run in file "arrayjit/lib/task.ml", line 17, characters 2-14
Re-raised at Ir__Task.run in file "arrayjit/lib/task.ml", lines 15-17, characters 20-14
Called from Dune__exe__Micrograd_demo_logging.(fun) in file "test/micrograd_demo_logging.ml", line 36, characters 2-16
Called from Utils.capture_stdout_logs in file "arrayjit/lib/utils.ml", line 825, characters 10-16
Re-raised at Utils.capture_stdout_logs in file "arrayjit/lib/utils.ml", line 856, characters 8-87
Called from Dune__exe__Micrograd_demo_logging in file "test/micrograd_demo_logging.ml", lines 35-39, characters 2-58
(cd _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition hello_world_op.ml -source-tree-root .. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition zero2hero_1of7.ml -source-tree-root .. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition primitive_ops.ml -source-tree-root .. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/einsum/moons_demo_variant.expected", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/moons_demo_variant.expected _build/default/test/einsum/moons_demo_variant.exe.output
diff --git a/_build/default/test/einsum/moons_demo_variant.expected b/_build/default/test/einsum/moons_demo_variant.exe.output
index 68171df..a6e5240 100644
--- a/_build/default/test/einsum/moons_demo_variant.expected
+++ b/_build/default/test/einsum/moons_demo_variant.exe.output
@@ -1,57 +1,93 @@
-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_level
Found 0, in the config file
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
+derive_projections
Half-moons scatterplot and decision boundary:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-β****************************#***********************************************************************β
-β****************************###***###***#***********************************************************β
-β***************************#********#***#**********************************************************.β
-β********************#*********************##*#*#************************************************....β
-β******************#***#*****##*#*#*#****#*#*#*##**********************************************......β
-β**************#*#**###**#*##**##********#**#****###**#*************************************.........β
-β***********#***##***#**##*****************#*#*##*###*************************************...........β
-β***************#**###******************************##*#********************************.............β
-β*************#*****#******************************#*#***#*#*************************................β
-β*********#***#************************************##*###**#***********************..................β
-β******#***#*#*#******************************************#*#*******************.....................β
-β*****###****#*******************************************#********************.......................β
-β*******#*###***********************************************#*#************..........................β
-β**********##**********************%%*********************#**##**********............................β
-β*****#***#**********************%**%%********************************.............................%.β
-β**####*************************%**%**************************##*#**............................%...%β
-β****#**************************%%**%*************************#*#*..............................%....β
-β*#****##************************%*...%*********************##*..#...........................%...%%..β
-β****#*#***********************.%..%.%........................#..#.............................%.%...β
-β##*##*********************.......%.............................#.##.........................%.%.%%%.β
-β**#####*****************.......%...%%.......................................................%..%.%..β
-β**********************...........%.%.%%.....................#.#.#.#.............................%%..β
-β***##****************............%..%..%........................#.#.........................%...%...β
-β##**#**************................%...%.....................#..###......................%.%%.......β
-β###***************...............%.%.%...........................##............................%....β
-β**##************.................................................#......................%%.%..%.....β
-β**#************....................%%...........................##......................%%.%........β
-β**************........................%......................#..#...........................%.......β
-β************........................%%.%.......................##.....................%..%..........β
-β***********............................%%..............................................%%.%%........β
-β**********.............................%...%............................................%%%.........β
-β********...................................%..%....................................%.....%..........β
-β*******.................................%%..%.%................................%.%.%.%%.............β
-β******.....................................%%.%...%%.%.......................%%%....%.%.%...........β
-β*****....................................%.....%.%..%....................%.....%%.%.%...............β
-β***.........................................%%...%.%%%%..%.......%.........%%.%%....................β
-β**................................................%..%.......%..%%%%...%.%..%.%.....................β
-β*..................................................%.%.%............%..%...%........................β
-β..................................................%....%.%......%%...%.%............................β
-β..........................................................%..%......%%%.............................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
+β....................................................................................................β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββLoss:
ββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-β 3.79e+1β- β
-β β β
-β β β
-β β β
-β β β
-β β β
+β 2.92e+6β - - β
β β β
β β β
β β β
@@ -61,67 +97,113 @@ Half-moons scatterplot and decision boundary:
β β β
β β β
β β β
+β β - - β
β β β
β β β
+β β - - β
+β β - - - - β
+β β - - β
+β β - - β
β β β
βl β β
-βo β β
-βs β β
-βs β β
-β β β
-β β β
+βo β - - β
+βs β - - β
+βs β - - - - β
+β β - - β
+β β β
+β β - - β
+β β - - - - - - β
+β β - - β
+β β - - - - - - - - β
+β β - - - - β
+β β β
+β β β
+β β β
+β β - - - - β
+β β - - - - - - β
+β β - - β
+β β - - β
+β β- - - - β
+β β - - - - - - - - β
+β β - - - - β
+β 1.99e+5β - - - - β
+ββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
+β β0.00 7.90e+1β
+β β step β
+ββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββLog-loss, for better visibility:
+ββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
+β 1.48e+1β - - β
β β β
β β β
β β β
+β β - - β
+β β - - β
+β β - - - - β
+β β - - - - β
β β β
+β β - - β
+β β - - - - β
+β β - - - - β
β β β
+β β - - β
+β β - - - - - - - - β
+β β - - - - - - - - β
+βl β - - - - β
+βo β β
+βg β β
β β β
-β β - β
+βl β β
+βo β - - - - β
+βs β - - - - β
+βs β - - - - β
β β β
+β β - - β
β β β
β β β
+β β - - β
+β β- - β
+β β - - β
+β β - - - - β
+β β - - β
β β β
+β β - - - - β
β β β
β β β
+β β - - β
β β β
-β β - - - - β
-β 0.00 β - ---- --- --- ---- ---- ---- ---- -- - ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- β
+β 1.22e+1β - - β
ββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β0.00 7.90e+1β
β β step β
-ββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββLog-loss, for better visibility:
+ββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
+Learning rate:
βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-β 3.63 β- β
+β 3.38e+20β β
β β β
β β β
β β β
-β β - β
β β β
β β β
β β β
β β β
-β β - β
-β β - β
-β β - - - β
-β β - - - - β
-β β -- - - - - - - - -- - - - - - -- β
-β β - - - - - - - -- - - -- - - - - β
-β β - - - β
-βl β - - - -- - β
-βo β - - β
-βg β - - - - β
-β β - - - β
-βl β - -- β
-βo β - - - β
-βs β - β
-βs β - β
-β β - β
β β β
β β β
β β β
β β β
β β β
+βl β β
+βe β β
+βa β β
+βr β β
+βn β β
+βi β β
+βn β β
+βg β β
β β β
+βr β β
+βa β β
+βt β β
+βe β β
β β β
β β β
β β β
@@ -130,53 +212,12 @@ Half-moons scatterplot and decision boundary:
β β β
β β β
β β β
-β -1.00e+1β - - - - - - - β
-βββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
-β β0.00 7.90e+1β
-β β step β
-βββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-Learning rate:
-βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-β -1.01e-1β - β
-β β -- β
-β β - - β
-β β -- β
-β β - - β
-β β -- β
-β β - - β
-β β -- β
-β β - - β
-β β -- β
-β β - - β
-β β -- β
-β β - - β
-βl β -- β
-βe β - - β
-βa β -- β
-βr β - - β
-βn β -- β
-βi β - - β
-βn β -- β
-βg β - - β
-β β -- β
-βr β - - β
-βa β -- β
-βt β - - β
-βe β -- β
-β β - - β
-β β -- β
-β β - - β
-β β -- β
-β β - - β
-β β -- β
-β β - - β
-β β -- β
-β β - - β
-β β -- β
-β β - - β
-β β -- β
-β β - - β
-β -2.00e-1β--- β
+β β β
+β β β
+β β β
+β β β
+β β β
+β 3.38e+20β---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- β
βββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β0.00 7.90e+1β
β β step β
(cd _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition micrograd_demo.ml -source-tree-root .. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition moons_demo_parallel.ml -source-tree-root .. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/zero2hero_1of7.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/zero2hero_1of7.ml _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/zero2hero_1of7.ml.corrected
diff --git a/_build/default/test/zero2hero_1of7.ml b/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/zero2hero_1of7.ml.corrected
index 0e9bd26..8ff8fa0 100644
--- a/_build/default/test/zero2hero_1of7.ml
+++ b/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/zero2hero_1of7.ml.corrected
@@ -29,19 +29,29 @@ let%expect_test "Graph drawing recompile" =
Tensor.print_tree ~with_grad:true ~depth:9 f_nd;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
#15 +_f_nd
6.00e+1
#16 grad_+_f_nd Virt/30
<void>
- #13 - Virt/152 β#2 5. Virt/40
+ #13 - Virt/40 β#2 5. Virt/40
<void> β<void>
#14 grad_- Virt/30 β
<void> β
- #11 *. Virt/152 β #4 *. Virt/152 β
+ #11 *. Virt/40 β #4 *. Virt/40 β
<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 β
+ #10 3. Virt/40β#7 **. Virt/40 β#3 4. Virt/40β#0 x β
<void> β<void> β<void> β 5.00 β
β#8 grad_**. Virt/30β β#1 grad_x Local/30β
β<void> β β<void> β
@@ -56,6 +66,19 @@ let%expect_test "Graph drawing recompile" =
Tensor.print_tree ~with_grad:true ~depth:9 f;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
#32 +_f
6.00e+1
#33 grad_+_f
@@ -95,8 +118,28 @@ let%expect_test "Graph drawing recompile" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
ββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β 1.00e+2β# β
+ β 6.00e+1β β
+ β β β
β β β
β β β
β β β
@@ -109,7 +152,6 @@ let%expect_test "Graph drawing recompile" =
β β β
β β β
β β β
- β β # β
β β β
β β β
β β β
@@ -119,23 +161,23 @@ let%expect_test "Graph drawing recompile" =
βx β β
β) β β
β β β
- β β # β
β β β
β β β
- β β #β
β β β
β β β
β β β
β β β
- β β # β
β β β
- β β # β
β β β
β β β
- β β # β
- β β # β
β β β
- β 4.00 β # # β
+ β β β
+ β β β
+ β β β
+ β β β
+ β β β
+ β β β
+ β 6.00e+1β# # # # # # # # # #β
ββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β-5.00 4.00β
β β x β
@@ -157,6 +199,16 @@ let%expect_test "Graph drawing fetch" =
Tensor.print_tree ~with_grad:false ~depth:9 f5;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
#9 +_f_5.
6.00e+1
#8 - β#1 5. Virt/40
@@ -203,6 +255,20 @@ let%expect_test "Graph drawing fetch" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1.00e+2 β# β
β β# β
@@ -272,19 +338,28 @@ let%expect_test "Simple gradients hosted" =
Tensor.print_tree ~spy:true ~with_grad:true ~depth:9 l;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
#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
+ #8 +_d Host&stream/41 β#10 f Host&stream/41
<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 β
+ #4 *._e Host&stream/41 β#6 c Host&stream/41 β
<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 β β
+ #0 a Host&stream/41 β#2 b Host&stream/41 β β
<not-in-yet> β<not-in-yet> β β
#1 grad_a Host&stream/41β#3 grad_b Host&stream/41β β
<not-in-yet> β<not-in-yet> β β
@@ -324,15 +399,15 @@ let%expect_test "Simple gradients hosted" =
#13 grad_*._l
1.00
#8 +_d β#10 f
- 4.00 β -2.40
+ 4.00 β -2.00
#9 grad_+_d β#11 grad_f
-2.00 β 4.00
#4 *._e β#6 c β
- -6.00 β 1.02e+1 β
+ -6.00 β 1.00e+1 β
#5 grad_*._e β#7 grad_cβ
-2.00 β -2.00 β
#0 a β#2 b β β
- 1.40 β -2.60 β β
+ 2.00 β -3.00 β β
#1 grad_aβ#3 grad_bβ β
6.00 β -4.00 β β
|}];
@@ -344,21 +419,21 @@ let%expect_test "Simple gradients hosted" =
[%expect
{|
#12 *._l
- -1.57e+1
+ -8.00
#13 grad_*._l
1.00
#8 +_d β#10 f
- 6.56 β -2.40
+ 4.00 β -2.00
#9 grad_+_d β#11 grad_f
- -2.40 β 6.56
+ -2.00 β 4.00
#4 *._e β#6 c β
- -3.64 β 1.02e+1 β
+ -6.00 β 1.00e+1 β
#5 grad_*._e β#7 grad_cβ
- -2.40 β -2.40 β
+ -2.00 β -2.00 β
#0 a β#2 b β β
- 1.40 β -2.60 β β
+ 2.00 β -3.00 β β
#1 grad_aβ#3 grad_bβ β
- 6.24 β -3.36 β β
+ 6.00 β -4.00 β β
|}]
let%expect_test "Simple gradients virtual" =
@@ -386,15 +461,15 @@ let%expect_test "Simple gradients virtual" =
<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
+ #9 grad_+_d unknown β#11 grad_f Non-virt/26
<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 β
+ #5 grad_*._e unknown β#7 grad_c Non-virt/26 β
<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 β β
+ #1 grad_a Non-virt/26 β#3 grad_b Non-virt/26 β β
<not-in-yet> β<not-in-yet> β β
|}];
let grad_routine = Train.to_routine (module Backend) ctx IDX.empty grad in
@@ -402,22 +477,31 @@ 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> β β
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ #12 *._l Host&stream/41
+ <not-in-yet>
+ #13 grad_*._l Virt/40
+ <not-in-yet>
+ #8 +_d Virt/40 β#10 f Host&stream/41
+ <not-in-yet> β<not-in-yet>
+ #9 grad_+_d Virt/40 β#11 grad_f Local/46
+ <not-in-yet> β<not-in-yet>
+ #4 *._e Virt/40 β#6 c Host&stream/41β
+ <not-in-yet> β<not-in-yet> β
+ #5 grad_*._e Virt/40 β#7 grad_c Local/46 β
+ <not-in-yet> β<not-in-yet> β
+ #0 a Host&stream/41β#2 b Host&stream/41β β
+ <not-in-yet> β<not-in-yet> β β
+ #1 grad_a Local/46 β#3 grad_b Local/46 β β
+ <not-in-yet> β<not-in-yet> β β
|}];
(* Do not update the params: all values and gradients will be at initial points, which are
specified in the tensor in the brackets. *)
@@ -425,22 +509,22 @@ 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
+ -8.00
+ #13 grad_*._l Virt/40
+ <void>
+ #8 +_d Virt/40 β#10 f
+ <void> β -2.00
+ #9 grad_+_d Virt/40 β#11 grad_f Local/46
+ <void> β<void>
+ #4 *._e Virt/40 β#6 c β
+ <void> β 1.00e+1 β
+ #5 grad_*._e Virt/40 β#7 grad_c Local/46β
+ <void> β<void> β
+ #0 a β#2 b β β
+ 2.00 β -3.00 β β
+ #1 grad_a Local/46β#3 grad_b Local/46β β
+ <void> β<void> β β
|}];
(* Only now compile the SGD update. *)
let sgd_routine = Train.to_routine (module Backend) grad_routine.context IDX.empty sgd in
@@ -451,22 +535,22 @@ 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
+ -8.00
+ #13 grad_*._l Virt/40
+ <void>
+ #8 +_d Virt/40 β#10 f
+ <void> β -2.00
+ #9 grad_+_d Virt/40 β#11 grad_f Local/46
+ <void> β<void>
+ #4 *._e Virt/40 β#6 c β
+ <void> β 1.00e+1 β
+ #5 grad_*._e Virt/40 β#7 grad_c Local/46β
+ <void> β<void> β
+ #0 a β#2 b β β
+ 2.00 β -3.00 β β
+ #1 grad_a Local/46β#3 grad_b Local/46β β
+ <void> β<void> β β
|}];
(* Now the params will remain as above, but both param gradients and the values and gradients of
other nodes will change thanks to the forward and backward passes. *)
@@ -474,22 +558,22 @@ 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
+ -8.00
+ #13 grad_*._l Virt/40
+ <void>
+ #8 +_d Virt/40 β#10 f
+ <void> β -2.00
+ #9 grad_+_d Virt/40 β#11 grad_f Local/46
+ <void> β<void>
+ #4 *._e Virt/40 β#6 c β
+ <void> β 1.00e+1 β
+ #5 grad_*._e Virt/40 β#7 grad_c Local/46β
+ <void> β<void> β
+ #0 a β#2 b β β
+ 2.00 β -3.00 β β
+ #1 grad_a Local/46β#3 grad_b Local/46β β
+ <void> β<void> β β
|}]
let%expect_test "tanh plot" =
@@ -511,6 +595,13 @@ let%expect_test "2D neuron hosted" =
Tensor.print_tree ~with_grad:true ~depth:9 v;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
#8 +_v
7.00e-1
#9 grad_+_v
@@ -538,6 +629,13 @@ let%expect_test "2D neuron virtual" =
Tensor.print_tree ~with_grad:true ~depth:9 v;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
#8 +_v
7.00e-1
#9 grad_+_v Virt/40
File "test/primitive_ops.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/primitive_ops.ml _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/primitive_ops.ml.corrected
diff --git a/_build/default/test/primitive_ops.ml b/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/primitive_ops.ml.corrected
index 17afc2d..b38e1ea 100644
--- a/_build/default/test/primitive_ops.ml
+++ b/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/primitive_ops.ml.corrected
@@ -55,6 +55,11 @@ let%expect_test "relu" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
βββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 5.00β #β
β β # β
@@ -108,6 +113,11 @@ let%expect_test "sat01" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
βββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1.00β * *********###################### #### ####### ####β
β β β
@@ -161,6 +171,11 @@ let%expect_test "exp(x)" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
βββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 2.71β *β
β β β
@@ -214,6 +229,11 @@ let%expect_test "log(x)" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
ββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1.00e+1β* β
β β β
@@ -267,6 +287,13 @@ let%expect_test "log2(x)" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
ββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1.44e+1β* β
β β β
@@ -320,6 +347,12 @@ let%expect_test "sin(x)" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 9.99e-1 β # β
β β#### ## *** ** ### ### β
@@ -373,6 +406,14 @@ let%expect_test "cos(x)" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 9.99e-1 β * β
β β *** *** ### ## ** ****β
@@ -426,6 +467,11 @@ let%expect_test "neg(x)" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
ββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 5.00 β# β
β β ## β
@@ -479,6 +525,13 @@ let%expect_test "fma(x, 2, 1)" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
ββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1.10e+1β #β
β β ## β
@@ -532,6 +585,13 @@ let%expect_test "sqrt(x)" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
βββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 2.23β #β
β β ##### β
@@ -585,6 +645,15 @@ let%expect_test "recip(x)" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1.00e+1 β# β
β β β
@@ -638,6 +707,15 @@ let%expect_test "recip_sqrt(x)" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 3.16 β# β
β β β
@@ -691,6 +769,15 @@ let%expect_test "tanh(x)" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 9.99e-1 β #β
β β ** * ############## #### ####### ### β
@@ -744,6 +831,18 @@ let%expect_test "where(x < 0, sin(x), cos(x))" =
PrintBox_text.output Stdio.stdout plot_box;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 9.99e-1 β # * β
β β#### ## *** ## ** ***β
File "test/moons_demo_parallel.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/moons_demo_parallel.ml _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/moons_demo_parallel.ml.corrected
diff --git a/_build/default/test/moons_demo_parallel.ml b/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/moons_demo_parallel.ml.corrected
index ce09725..cc24ef0 100644
--- a/_build/default/test/moons_demo_parallel.ml
+++ b/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/moons_demo_parallel.ml.corrected
@@ -105,4 +105,59 @@ let%expect_test "Half-moons data parallel" =
]
in
PrintBox_text.output Stdio.stdout plot_loss);
- [%expect "Success"]
+ [%expect.unreachable]
+[@@expect.uncaught_exn {|
+ (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+ This is strongly discouraged as backtraces are fragile.
+ Please change this test to not include a backtrace. *)
+ (Option.value_exn arrayjit/lib/backends.ml:289:28)
+ Raised at Base__Error.raise in file "src/error.ml" (inlined), line 9, characters 21-37
+ Called from Base__Option.value_exn in file "src/option.ml", line 119, characters 4-21
+ Called from Backends.Add_device.link_batch in file "arrayjit/lib/backends.ml", line 289, characters 5-44
+ Called from Backends.Raise_backend.link_batch in file "arrayjit/lib/backends.ml", line 467, characters 30-81
+ Called from Ocannl__Train.parallel_update.(fun) in file "lib/train.ml", line 270, characters 26-90
+ Re-raised at Ocannl__Train.parallel_update.(fun) in file "lib/train.ml", line 270, characters 10-91
+ Re-raised at Ocannl__Train.parallel_update.(fun) in file "lib/train.ml", lines 268-271, characters 23-18
+ Called from Base__Array0.mapi in file "src/array0.ml", line 142, characters 24-46
+ Called from Ocannl__Train.parallel_update in file "lib/train.ml", lines 268-271, characters 4-18
+ Re-raised at Ocannl__Train.parallel_update in file "lib/train.ml", lines 265-271, characters 2-18
+ Re-raised at Ocannl__Train.parallel_update in file "lib/train.ml", lines 233-318, characters 32-69
+ Called from Ocannl__Train.example_train_loop in file "lib/train.ml", lines 415-425, characters 4-39
+ Called from Tutorials__Moons_demo_parallel.(fun) in file "test/moons_demo_parallel.ml", lines 58-62, characters 4-8
+ Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+
+ Trailing output
+ ---------------
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ |}]
File "test/micrograd_demo.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/micrograd_demo.ml _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/micrograd_demo.ml.corrected
diff --git a/_build/default/test/micrograd_demo.ml b/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/micrograd_demo.ml.corrected
index 59a566d..266fd35 100644
--- a/_build/default/test/micrograd_demo.ml
+++ b/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/micrograd_demo.ml.corrected
@@ -33,6 +33,58 @@ let%expect_test "Micrograd README basic example" =
Tensor.print ~with_code:false ~with_grad:false `Default g;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
ββββββββββββββββββββββ
β[75]: +_g shape 0:1 β
βββ¬ββββββββββ β
@@ -182,48 +234,89 @@ let%expect_test "Micrograd half-moons example" =
PrintBox_text.output Stdio.stdout plot_moons;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
Half-moons scatterplot and decision boundary:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β****************************#***********************************************************************β
- β****************************###***###***#***********************************************************β
- β***************************#********#***#***********************************************************β
- β********************#*********************##*#*#****************************************************β
- β******************#***#*****##*#*#*#****#*#*#*##****************************************************β
- β**************#*#**###**#*##**##********#**#****###**#**********************************************β
- β***********#***##***#**##*****************#*#*##*###**********************************************..β
- β***************#**###******************************##*#******************************************...β
- β*************#*****#******************************#*#***#*#*************************************....β
- β*********#***#******************......************##*###**#************************************.....β
- β******#***#*#*#****************........******************#*#*********************************.......β
- β*****###****#****************...........****************#***********************************........β
- β*******#*###****************.............******************#*#*****************************.........β
- β**********##***************.......%%......***************#**##****************************..........β
- β*****#***#****************......%..%%......*********************************************..........%.β
- β**####*******************......%..%..........****************##*#**********************........%...%β
- β****#*******************.......%%..%..........***************#*#**********************.........%....β
- β*#****##***************.........%....%.........************##***#********************.......%...%%..β
- β****#*#***************.........%..%.%...........*************#**#*******************..........%.%...β
- β##*##****************............%...............**************#*##****************.........%.%.%%%.β
- β**#####************............%...%%.............*******************************...........%..%.%..β
- β******************...............%.%.%%............*********#*#*#*#*************................%%..β
- β***##************................%..%..%............************#*#************.............%...%...β
- β##**#***********...................%...%.............********#**###***********...........%.%%.......β
- β###************..................%.%.%................***********##**********..................%....β
- β**##**********.........................................**********#*********.............%%.%..%.....β
- β**#**********......................%%...................********##********..............%%.%........β
- β************..........................%..................****#**#********...................%.......β
- β***********.........................%%.%..................*****##******...............%..%..........β
- β**********.............................%%..................***********.................%%.%%........β
- β*********..............................%...%................*******.....................%%%.........β
- β********...................................%..%....................................%.....%..........β
- β*******.................................%%..%.%................................%.%.%.%%.............β
- β******.....................................%%.%...%%.%.......................%%%....%.%.%...........β
- β*****....................................%.....%.%..%....................%.....%%.%.%...............β
- β****........................................%%...%.%%%%..%.......%.........%%.%%....................β
- β***...............................................%..%.......%..%%%%...%.%..%.%.....................β
- β**.................................................%.%.%............%..%...%........................β
- β*.................................................%....%.%......%%...%.%............................β
- β..........................................................%..%......%%%.............................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
+ β....................................................................................................β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|}];
Stdio.printf "Loss:\n%!";
@@ -236,156 +329,156 @@ let%expect_test "Micrograd half-moons example" =
{|
Loss:
ββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β 3.79e+1β- β
+ β 5.79e+6β - - - - - - - - - - β
+ β β - - - - - - - - - - β
β β β
β β β
β β β
β β β
+ β β - - - - - - - - - -β
β β β
+ β β - - - - - - - - - - - - - - - - - - - -β
+ β β - - - - - - - - - - - - - - - - - - - - β
β β β
β β β
β β β
β β β
+ β β - - - - - - - - - - - - - - - - - - - -β
+ β β- - - - - - - - - - β
+ β β - - - - - - - - - - - - - - - - - - - - β
+ β β - - - - - - - - - -β
+ βl β - - - - - - - - - - - - - - - - - - - - β
+ βo β - - - - - - - - - - β
+ βs β - - - - - - - - - - - - - - - - - - - - β
+ βs β - - - - - - - - - - - - - - - - - - - - β
+ β β - - - - - - - - - - - - - - - - - - - - β
β β β
+ β β- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - β
+ β β - - - - - - - - - - β
+ β β- - - - - - - - - - - - - - - - - - - - β
+ β β - - - - - - - - - - - - - - - - - - - - β
+ β β - - - - - - - - - - β
β β β
+ β β - - - - - - - - - - β
+ β β - - - - - - - - - - β
+ β β - - - - - - - - - - β
+ β β - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - β
β β β
+ β β- - - - - - - - - - β
β β β
β β β
β β β
- β β β
- β β β
- βl β β
- βo β β
- βs β β
+ β 1.69e+6β - - - - - - - - - - β
+ ββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
+ β β0.00 3.99e+2β
+ β β step β
+ ββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
+ |}];
+ Stdio.printf "Log-loss, for better visibility:\n%!";
+ let plot_loss =
+ PrintBox_utils.plot ~x_label:"step" ~y_label:"log loss"
+ [ Line_plot { points = Array.of_list_rev !log_losses; content = PrintBox.line "-" } ]
+ in
+ PrintBox_text.output Stdio.stdout plot_loss;
+ [%expect
+ {|
+ Log-loss, for better visibility:
+ ββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
+ β 1.55e+1β - - - - - - - - - - β
+ β β - - - - - - - - - - β
+ β β β
+ β β β
+ β β - - - - - - - - - -β
+ β β - - - - - - - - - - - - - - - - - - - -β
+ β β - - - - - - - - - - - - - - - - - - - - β
+ β β β
+ β β β
+ β β - - - - - - - - - - - - - - - - - - - -β
+ β β- - - - - - - - - - β
+ β β - - - - - - - - - - - - - - - - - - - - β
+ β β - - - - - - - - - - - - - - - - - - - -β
+ β β - - - - - - - - - - β
+ β β - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - β
+ β β - - - - - - - - - - - - - - - - - - - - β
+ βl β - - - - - - - - - - β
+ βo β - - - - - - - - - - β
+ βg β- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - β
+ β β - - - - - - - - - - β
+ βl β- - - - - - - - - - β
+ βo β - - - - - - - - - - β
+ βs β - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - β
βs β β
β β β
+ β β - - - - - - - - - - β
β β β
+ β β - - - - - - - - - - - - - - - - - - - - β
+ β β - - - - - - - - - - β
+ β β - - - - - - - - - - - - - - - - - - - - β
β β β
β β β
+ β β- - - - - - - - - - β
β β β
β β β
β β β
β β β
- β β- β
- β β β
- β β β
β β β
β β β
- β β β
- β β β
- β β β
- β β- - - β
- β 0.00 β----------------------------------------------------------------------------------------------------β
+ β 1.43e+1β - - - - - - - - - - β
ββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β0.00 3.99e+2β
β β step β
ββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|}];
- Stdio.printf "Log-loss, for better visibility:\n%!";
- let plot_loss =
- PrintBox_utils.plot ~x_label:"step" ~y_label:"log loss"
- [ Line_plot { points = Array.of_list_rev !log_losses; content = PrintBox.line "-" } ]
+ Stdio.printf "\nLearning rate:\n%!";
+ let plot_lr =
+ PrintBox_utils.plot ~x_label:"step" ~y_label:"learning rate"
+ [ Line_plot { points = Array.of_list_rev !learning_rates; content = PrintBox.line "-" } ]
in
- PrintBox_text.output Stdio.stdout plot_loss;
+ PrintBox_text.output Stdio.stdout plot_lr;
[%expect
{|
- Log-loss, for better visibility:
+ Learning rate:
βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β 3.63 β- β
+ β 2.14e-19β β
β β β
β β β
β β β
- β β- β
β β β
β β β
β β β
β β β
- β β- β
- β β - - β
- β β - - - β
- β β------ - β
- β β ---- - - --- - - - - - β
- β β -- - - - --- -- - -- - β
- β β - -- - - --- - - --- ----- - -- β
- βl β -- - - - - --- - - - β
- βo β - - - -- - -- - - - - - β
- βg β - - - - -- - - - - - - - β
- β β - - - -- - - - -- - - - β
- βl β - - -- -- - - - - -β
- βo β - - - - - - - - - - - β
- βs β - - - - -- - β
- βs β - - β
- β β - - - - - - - - - β
- β β - - - - - β
- β β - - β
- β β - - - β
- β β - - β
β β β
- β β - β
- β β - β
β β β
β β β
β β β
β β β
- β β - β
+ βl β β
+ βe β β
+ βa β β
+ βr β β
+ βn β β
+ βi β β
+ βn β β
+ βg β β
β β β
+ βr β β
+ βa β β
+ βt β β
+ βe β β
β β β
- β -1.00e+1β - - - - ----- -- --------------- ---------------------------------------------------------β
- βββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
- β β0.00 3.99e+2β
- β β step β
- βββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
- Stdio.printf "\nLearning rate:\n%!";
- let plot_lr =
- PrintBox_utils.plot ~x_label:"step" ~y_label:"learning rate"
- [ Line_plot { points = Array.of_list_rev !learning_rates; content = PrintBox.line "-" } ]
- in
- PrintBox_text.output Stdio.stdout plot_lr;
- [%expect
- {|
- Learning rate:
- βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β -1.00e-1β -β
- β β ---β
- β β ---- β
- β β --- β
- β β ---- β
- β β --- β
- β β --- β
- β β --- β
- β β --- β
- β β ---- β
- β β --- β
- β β ---- β
- β β --- β
- βl β ---- β
- βe β --- β
- βa β --- β
- βr β --- β
- βn β --- β
- βi β ---- β
- βn β --- β
- βg β ---- β
- β β --- β
- βr β ---- β
- βa β --- β
- βt β --- β
- βe β --- β
- β β --- β
- β β ---- β
- β β --- β
- β β ---- β
- β β --- β
- β β ---- β
- β β --- β
- β β --- β
- β β --- β
- β β --- β
- β β ---- β
- β β --- β
- β β ---- β
- β -2.00e-1β--- β
+ β β β
+ β β β
+ β β β
+ β β β
+ β β β
+ β β β
+ β β β
+ β β β
+ β β β
+ β β β
+ β β β
+ β β β
+ β 2.14e-19β----------------------------------------------------------------------------------------------------β
βββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β0.00 3.99e+2β
β β step β
File "test/hello_world_op.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/hello_world_op.ml _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/hello_world_op.ml.corrected
diff --git a/_build/default/test/hello_world_op.ml b/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/hello_world_op.ml.corrected
index 0cea005..8b2f6ee 100644
--- a/_build/default/test/hello_world_op.ml
+++ b/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/hello_world_op.ml.corrected
@@ -33,6 +33,9 @@ let%expect_test "Pointwise multiplication dims 1" =
Tensor.print ~with_code:false ~with_grad:false `Default @@ y;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
ββββββββββββββββββββββ
β[3]: *._y shape 0:1 β
βββ¬ββββββββββ β
@@ -63,6 +66,11 @@ let%expect_test "Matrix multiplication dims 1x1" =
Tensor.print ~with_code:false ~with_grad:false `Default @@ hey;
[%expect
{|
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
ββββββββββββββββββββββββββ
β[0]: hey shape 1:1->0:1 β
βββββββββ¬βββββββ β
@@ -102,49 +110,15 @@ let%expect_test "Print constant tensor" =
let%op hey = [ (1, 2, 3); (4, 5, 6) ] in
Train.forward_and_forget backend ctx hey;
Tensor.print ~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 [
- 1.00 , 2.00 , 3.00
- ; 4.00 , 5.00 , 6.00
- ]
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ hey;
- [%expect
- {|
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[0]: [ 1.00 , 2.00 , 3.00 ; 4.00 , 5.00 , 6.00 ]_hey shape 1:3->0:2 β
- βββββββββ¬βββββββββββββββββββ β
- ββ βaxis 1 β β
- βββββββββΌβββββββββββββββββββ€ β
- ββaxis 0β 1.00 2.00 3.00 β β
- ββ β 4.00 5.00 6.00 β β
- βββββββββ΄βββββββββββββββββββ β
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
let%op hoo = [| [ 1; 2; 3 ]; [ 4; 5; 6 ] |] in
Train.forward_and_forget backend ctx hoo;
Tensor.print ~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 [|
- [ 1.00 ; 2.00 ; 3.00 ]
- ; [ 4.00 ; 5.00 ; 6.00 ]
- |]
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ hoo;
- [%expect
- {|
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[1]: [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]_hoo shape 0:2|1:3 β
- βββββββββ¬βββββββββββββββββββ β
- ββ βaxis 1 β β
- βββββββββΌβββββββββββββββββββ€ β
- ββaxis 0β 1.00 2.00 3.00 β β
- ββ β 4.00 5.00 6.00 β β
- βββββββββ΄βββββββββββββββββββ β
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
let%op hey2 =
[
((1, 2, 3), (4, 5, 6));
@@ -155,31 +129,9 @@ let%expect_test "Print constant tensor" =
in
Train.forward_and_forget backend ctx hey2;
Tensor.print ~with_code:false ~with_grad:false `Inline @@ hey2;
- [%expect
- {|
- [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 )
- ; ( 13.00 , 14.00 , 15.00 ) , ( 16.00 , 17.00 , 18.00 )
- ; ( 19.00 , 20.00 , 21.00 ) , ( 22.00 , 23.00 , 24.00 )
- ]
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ hey2;
- [%expect
- {|
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[2]: c4x2x3_hey2 shape 1:2,2:3->0:4 β
- βββββββββ¬ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
- ββ β0 @ 1 β1 @ 1 ββ
- ββ βaxis 2 βaxis 2 ββ
- βββββββββΌββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β
- ββaxis 0β 1.00 2.00 3.00 β 4.00 5.00 6.00 ββ
- ββ β 7.00 8.00 9.00 β 1.00e+1 1.10e+1 1.20e+1 ββ
- ββ β 1.30e+1 1.40e+1 1.50e+1 β 1.60e+1 1.70e+1 1.80e+1 ββ
- ββ β 1.90e+1 2.00e+1 2.10e+1 β 2.20e+1 2.30e+1 2.40e+1 ββ
- βββββββββ΄ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
let%op hoo2 =
[|
[ [ 1; 2; 3 ]; [ 4; 5; 6 ] ];
@@ -190,29 +142,9 @@ let%expect_test "Print constant tensor" =
in
Train.forward_and_forget backend ctx hoo2;
Tensor.print ~with_code:false ~with_grad:false `Inline @@ hoo2;
- [%expect
- {|
- [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 ] ]
- ; [ [ 13.00 ; 14.00 ; 15.00 ] ; [ 16.00 ; 17.00 ; 18.00 ] ]
- ; [ [ 19.00 ; 20.00 ; 21.00 ] ; [ 22.00 ; 23.00 ; 24.00 ] ]
- |]
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ hoo2;
- [%expect
- {|
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[3]: c4x2x3_hoo2 shape 0:4|1:2,2:3 β
- βββββββββ¬βββββββββββββββββββ¬ββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
- ββ β0 @ 0 β1 @ 0 β2 @ 0 β3 @ 0 ββ
- ββ βaxis 2 βaxis 2 βaxis 2 βaxis 2 ββ
- βββββββββΌβββββββββββββββββββΌββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β
- ββaxis 1β 1.00 2.00 3.00 β 7.00 8.00 9.00 β 1.30e+1 1.40e+1 1.50e+1 β 1.90e+1 2.00e+1 2.10e+1 ββ
- ββ β 4.00 5.00 6.00 β 1.00e+1 1.10e+1 1.20e+1 β 1.60e+1 1.70e+1 1.80e+1 β 2.20e+1 2.30e+1 2.40e+1 ββ
- βββββββββ΄βββββββββββββββββββ΄ββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
let%op heyhoo =
[|
[| [ 1; 2; 3 ]; [ 4; 5; 6 ] |];
@@ -223,29 +155,9 @@ let%expect_test "Print constant tensor" =
in
Train.forward_and_forget backend ctx heyhoo;
Tensor.print ~with_code:false ~with_grad:false `Inline @@ heyhoo;
- [%expect
- {|
- [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 ] |]
- ; [| [ 13.00 ; 14.00 ; 15.00 ] ; [ 16.00 ; 17.00 ; 18.00 ] |]
- ; [| [ 19.00 ; 20.00 ; 21.00 ] ; [ 22.00 ; 23.00 ; 24.00 ] |]
- |]
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ heyhoo;
- [%expect
- {|
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[4]: c4x2x3_heyhoo shape 0:4,1:2|2:3 β
- βββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
- ββ β0 @ 0 β1 @ 0 β2 @ 0 β3 @ 0 ββ
- ββ βaxis 2 βaxis 2 βaxis 2 βaxis 2 ββ
- βββββββββΌβββββββββββββββββββΌββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β
- ββaxis 1β 1.00 2.00 3.00 β 7.00 8.00 9.00 β 1.30e+1 1.40e+1 1.50e+1 β 1.90e+1 2.00e+1 2.10e+1 ββ
- ββ β 4.00 5.00 6.00 β 1.00e+1 1.10e+1 1.20e+1 β 1.60e+1 1.70e+1 1.80e+1 β 2.20e+1 2.30e+1 2.40e+1 ββ
- βββββββββ΄βββββββββββββββββββ΄ββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
let%op heyhoo2 =
[|
[| [ [ 1; 31 ]; [ 2; 32 ]; [ 3; 33 ] ]; [ [ 4; 34 ]; [ 5; 35 ]; [ 6; 36 ] ] |];
@@ -256,54 +168,9 @@ let%expect_test "Print constant tensor" =
in
Train.forward_and_forget backend ctx heyhoo2;
Tensor.print ~with_code:false ~with_grad:false `Inline @@ heyhoo2;
- [%expect
- {|
- [5]: c4x2x3x2_heyhoo2 shape 0:4,1:2|2:3,3:2 [|
- [|
- [ [ 1.00 ; 31.00 ] ; [ 2.00 ; 32.00 ] ; [ 3.00 ; 33.00 ] ]
- ; [ [ 4.00 ; 34.00 ] ; [ 5.00 ; 35.00 ] ; [ 6.00 ; 36.00 ] ]
- |]
- ; [|
- [ [ 7.00 ; 37.00 ] ; [ 8.00 ; 38.00 ] ; [ 9.00 ; 39.00 ] ]
- ; [ [ 10.00 ; 40.00 ] ; [ 11.00 ; 41.00 ] ; [ 12.00 ; 42.00 ] ]
- |]
- ; [|
- [ [ 13.00 ; 43.00 ] ; [ 14.00 ; 44.00 ] ; [ 15.00 ; 45.00 ] ]
- ; [ [ 16.00 ; 46.00 ] ; [ 17.00 ; 47.00 ] ; [ 18.00 ; 48.00 ] ]
- |]
- ; [|
- [ [ 19.00 ; 49.00 ] ; [ 20.00 ; 50.00 ] ; [ 21.00 ; 51.00 ] ]
- ; [ [ 22.00 ; 52.00 ] ; [ 23.00 ; 53.00 ] ; [ 24.00 ; 54.00 ] ]
- |]
- |]
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ heyhoo2;
- [%expect
- {|
- ββββββββββββββββββββββββββββββββββββββββββββββββ
- β[5]: c4x2x3x2_heyhoo2 shape 0:4,1:2|2:3,3:2 β
- βββββββββ¬βββββββββββββββββββ¬ββββββββββββββββββββ
- ββ β0 @ 1 β1 @ 1 ββ
- ββ βaxis 3 βaxis 3 ββ
- βββββββββΌβββββββββββββββββββΌβββββββββββββββββββ€β
- ββ0 @ 0 β 1.00 3.10e+1 β 4.00 3.40e+1 ββ
- ββaxis 2β 2.00 3.20e+1 β 5.00 3.50e+1 ββ
- ββ β 3.00 3.30e+1 β 6.00 3.60e+1 ββ
- βββββββββΌβββββββββββββββββββΌβββββββββββββββββββ€β
- ββ1 @ 0 β 7.00 3.70e+1 β 1.00e+1 4.00e+1 ββ
- ββaxis 2β 8.00 3.80e+1 β 1.10e+1 4.10e+1 ββ
- ββ β 9.00 3.90e+1 β 1.20e+1 4.20e+1 ββ
- βββββββββΌβββββββββββββββββββΌβββββββββββββββββββ€β
- ββ2 @ 0 β 1.30e+1 4.30e+1 β 1.60e+1 4.60e+1 ββ
- ββaxis 2β 1.40e+1 4.40e+1 β 1.70e+1 4.70e+1 ββ
- ββ β 1.50e+1 4.50e+1 β 1.80e+1 4.80e+1 ββ
- βββββββββΌβββββββββββββββββββΌβββββββββββββββββββ€β
- ββ3 @ 0 β 1.90e+1 4.90e+1 β 2.20e+1 5.20e+1 ββ
- ββaxis 2β 2.00e+1 5.00e+1 β 2.30e+1 5.30e+1 ββ
- ββ β 2.10e+1 5.10e+1 β 2.40e+1 5.40e+1 ββ
- βββββββββ΄βββββββββββββββββββ΄ββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
let%op heyhoo3 =
[|
[|
@@ -318,63 +185,9 @@ let%expect_test "Print constant tensor" =
in
Train.forward_and_forget backend ctx heyhoo3;
Tensor.print ~with_code:false ~with_grad:false `Inline @@ heyhoo3;
- [%expect
- {|
- [6]: c2x2x2x3x2_heyhoo3 shape 0:2,1:2|2:2,3:3,4:2 [|
- [|
- [
- [ [ 1.00 ; 31.00 ] ; [ 2.00 ; 32.00 ] ; [ 3.00 ; 33.00 ] ]
- ; [ [ 4.00 ; 34.00 ] ; [ 5.00 ; 35.00 ] ; [ 6.00 ; 36.00 ] ]
- ]
- ; [
- [ [ 7.00 ; 37.00 ] ; [ 8.00 ; 38.00 ] ; [ 9.00 ; 39.00 ] ]
- ; [ [ 10.00 ; 40.00 ] ; [ 11.00 ; 41.00 ] ; [ 12.00 ; 42.00 ] ]
- ]
- |]
- ; [|
- [
- [ [ 13.00 ; 43.00 ] ; [ 14.00 ; 44.00 ] ; [ 15.00 ; 45.00 ] ]
- ; [ [ 16.00 ; 46.00 ] ; [ 17.00 ; 47.00 ] ; [ 18.00 ; 48.00 ] ]
- ]
- ; [
- [ [ 19.00 ; 49.00 ] ; [ 20.00 ; 50.00 ] ; [ 21.00 ; 51.00 ] ]
- ; [ [ 22.00 ; 52.00 ] ; [ 23.00 ; 53.00 ] ; [ 24.00 ; 54.00 ] ]
- ]
- |]
- |]
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ heyhoo3;
- [%expect
- {|
- ββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[6]: c2x2x2x3x2_heyhoo3 shape 0:2,1:2|2:2,3:3,4:2 β
- βββββββββ¬ββββββββββββββββ¬βββββββββββββββββββ β
- ββ0 @ 0 β0 @ 2 β1 @ 2 β β
- ββ βaxis 4 βaxis 4 β β
- βββββββββΌββββββββββββββββΌβββββββββββββββββββ€ β
- ββ0 @ 1 β 1.00 3.10e+1 β 4.00 3.40e+1 β β
- ββaxis 3β 2.00 3.20e+1 β 5.00 3.50e+1 β β
- ββ β 3.00 3.30e+1 β 6.00 3.60e+1 β β
- βββββββββΌββββββββββββββββΌβββββββββββββββββββ€ β
- ββ1 @ 1 β 7.00 3.70e+1 β 1.00e+1 4.00e+1 β β
- ββaxis 3β 8.00 3.80e+1 β 1.10e+1 4.10e+1 β β
- ββ β 9.00 3.90e+1 β 1.20e+1 4.20e+1 β β
- βββββββββ΄ββββββββββββββββ΄βββββββββββββββββββ β
- ββββββββββββββββββββββββββββββββββββββββββββββββββββ€
- βββββββββ¬βββββββββββββββββββ¬βββββββββββββββββββ β
- ββ1 @ 0 β0 @ 2 β1 @ 2 β β
- ββ βaxis 4 βaxis 4 β β
- βββββββββΌβββββββββββββββββββΌβββββββββββββββββββ€ β
- ββ0 @ 1 β 1.30e+1 4.30e+1 β 1.60e+1 4.60e+1 β β
- ββaxis 3β 1.40e+1 4.40e+1 β 1.70e+1 4.70e+1 β β
- ββ β 1.50e+1 4.50e+1 β 1.80e+1 4.80e+1 β β
- βββββββββΌβββββββββββββββββββΌβββββββββββββββββββ€ β
- ββ1 @ 1 β 1.90e+1 4.90e+1 β 2.20e+1 5.20e+1 β β
- ββaxis 3β 2.00e+1 5.00e+1 β 2.30e+1 5.30e+1 β β
- ββ β 2.10e+1 5.10e+1 β 2.40e+1 5.40e+1 β β
- βββββββββ΄βββββββββββββββββββ΄βββββββββββββββββββ β
- ββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
let%op heyhoo4 =
[|
[
@@ -389,63 +202,26 @@ let%expect_test "Print constant tensor" =
in
Train.forward_and_forget backend ctx heyhoo4;
Tensor.print ~with_code:false ~with_grad:false `Inline @@ heyhoo4;
- [%expect
- {|
- [7]: c2x2x2x3x2_heyhoo4 shape 0:2|4:2->1:2,2:2,3:3 [|
- [
- [
- [ 1.00 , 31.00 ; 2.00 , 32.00 ; 3.00 , 33.00 ]
- ; [ 4.00 , 34.00 ; 5.00 , 35.00 ; 6.00 , 36.00 ]
- ]
- ; [
- [ 7.00 , 37.00 ; 8.00 , 38.00 ; 9.00 , 39.00 ]
- ; [ 10.00 , 40.00 ; 11.00 , 41.00 ; 12.00 , 42.00 ]
- ]
- ]
- ; [
- [
- [ 13.00 , 43.00 ; 14.00 , 44.00 ; 15.00 , 45.00 ]
- ; [ 16.00 , 46.00 ; 17.00 , 47.00 ; 18.00 , 48.00 ]
- ]
- ; [
- [ 19.00 , 49.00 ; 20.00 , 50.00 ; 21.00 , 51.00 ]
- ; [ 22.00 , 52.00 ; 23.00 , 53.00 ; 24.00 , 54.00 ]
- ]
- ]
- |]
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ heyhoo4;
- [%expect
- {|
- βββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[7]: c2x2x2x3x2_heyhoo4 shape 0:2|4:2->1:2,2:2,3:3 β
- βββββββββ¬ββββββββββββββββ¬βββββββββββββββββββ β
- ββ0 @ 0 β0 @ 2 β1 @ 2 β β
- ββ βaxis 4 βaxis 4 β β
- βββββββββΌββββββββββββββββΌβββββββββββββββββββ€ β
- ββ0 @ 1 β 1.00 3.10e+1 β 4.00 3.40e+1 β β
- ββaxis 3β 2.00 3.20e+1 β 5.00 3.50e+1 β β
- ββ β 3.00 3.30e+1 β 6.00 3.60e+1 β β
- βββββββββΌββββββββββββββββΌβββββββββββββββββββ€ β
- ββ1 @ 1 β 7.00 3.70e+1 β 1.00e+1 4.00e+1 β β
- ββaxis 3β 8.00 3.80e+1 β 1.10e+1 4.10e+1 β β
- ββ β 9.00 3.90e+1 β 1.20e+1 4.20e+1 β β
- βββββββββ΄ββββββββββββββββ΄βββββββββββββββββββ β
- βββββββββββββββββββββββββββββββββββββββββββββββββββββ€
- βββββββββ¬βββββββββββββββββββ¬βββββββββββββββββββ β
- ββ1 @ 0 β0 @ 2 β1 @ 2 β β
- ββ βaxis 4 βaxis 4 β β
- βββββββββΌβββββββββββββββββββΌβββββββββββββββββββ€ β
- ββ0 @ 1 β 1.30e+1 4.30e+1 β 1.60e+1 4.60e+1 β β
- ββaxis 3β 1.40e+1 4.40e+1 β 1.70e+1 4.70e+1 β β
- ββ β 1.50e+1 4.50e+1 β 1.80e+1 4.80e+1 β β
- βββββββββΌβββββββββββββββββββΌβββββββββββββββββββ€ β
- ββ1 @ 1 β 1.90e+1 4.90e+1 β 2.20e+1 5.20e+1 β β
- ββaxis 3β 2.00e+1 5.00e+1 β 2.30e+1 5.30e+1 β β
- ββ β 2.10e+1 5.10e+1 β 2.40e+1 5.40e+1 β β
- βββββββββ΄βββββββββββββββββββ΄βββββββββββββββββββ β
- βββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}]
+ [%expect.unreachable]
+[@@expect.uncaught_exn {|
+ (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+ This is strongly discouraged as backtraces are fragile.
+ Please change this test to not include a backtrace. *)
+ "Assert_failure arrayjit/lib/backends.ml:76:12"
+ Raised at Backends.Add_buffer_retrieval_and_syncing.update_writer_event.(fun) in file "arrayjit/lib/backends.ml", line 76, characters 12-35
+ Called from Base__Option.iter in file "src/option.ml" (inlined), line 83, characters 14-17
+ Called from Ir__Tnode.do_read in file "arrayjit/lib/tnode.ml", lines 597-601, characters 2-19
+ Called from Ocannl__Tensor.to_doc in file "lib/tensor.ml", line 664, characters 10-28
+ Called from Ocannl__Tensor.print in file "lib/tensor.ml", line 755, characters 4-63
+ Called from Tutorials__Hello_world_op.(fun) in file "test/hello_world_op.ml", line 104, characters 2-63
+ Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+
+ Trailing output
+ ---------------
+ derive_projections
+ |}]
let%expect_test "Matrix multiplication dims 2x3" =
Tensor.unsafe_reinitialize ();
@@ -464,31 +240,43 @@ let%expect_test "Matrix multiplication dims 2x3" =
let%op y = ("hey" 7.0 * [ 2; 3 ]) + [ 4; 5; 6 ] in
Train.forward_and_forget backend ctx y;
Tensor.print ~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 β β
- βββββββββ΄βββββββββββββ β
- ββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
Tensor.print ~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 ββ
- βββ΄βββββββββββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββ
- |}]
+ [%expect.unreachable]
+[@@expect.uncaught_exn {|
+ (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+ This is strongly discouraged as backtraces are fragile.
+ Please change this test to not include a backtrace. *)
+ (Invalid_argument "index out of bounds")
+ Raised by primitive operation at Ir__Assignments.to_low_level.loop.(fun) in file "arrayjit/lib/assignments.ml", line 249, characters 39-54
+ Called from Ir__Low_level.unroll_dims.generate_all_combinations in file "arrayjit/lib/low_level.ml", lines 1168-1170, characters 12-40
+ Called from Ir__Low_level.unroll_dims.generate_all_combinations in file "arrayjit/lib/low_level.ml", lines 1168-1170, characters 12-40
+ Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 227, characters 17-24
+ Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 227, characters 17-24
+ Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 228, characters 17-24
+ Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 227, characters 17-24
+ Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 225, characters 66-72
+ Called from Ir__Assignments.to_low_level in file "arrayjit/lib/assignments.ml", line 251, characters 2-11
+ Re-raised at Ir__Assignments.to_low_level in file "arrayjit/lib/assignments.ml", lines 130-251, characters 29-11
+ Called from Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 414, characters 26-43
+ Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 414, characters 2-43
+ Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", lines 412-419, characters 22-75
+ Called from Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 193-194, characters 4-45
+ Re-raised at Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 185-194, characters 34-47
+ Called from Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 356, characters 6-61
+ Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 355-356, characters 4-61
+ Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 354-362, characters 26-99
+ Called from Ocannl__Train.forward_and_ctx in file "lib/train.ml", line 494, characters 37-90
+ Re-raised at Ocannl__Train.forward_and_ctx in file "lib/train.ml", lines 488-497, characters 32-17
+ Called from Ocannl__Train.forward_and_forget in file "lib/train.ml", line 501, characters 12-75
+ Called from Tutorials__Hello_world_op.(fun) in file "test/hello_world_op.ml", line 465, characters 2-40
+ Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+
+ Trailing output
+ ---------------
+ derive_projections
+ derive_projections
+ |}]
let%expect_test "Big matrix" =
Tensor.unsafe_reinitialize ();
@@ -509,72 +297,45 @@ let%expect_test "Big matrix" =
let y = TDSL.O.((hey * zero_to_twenty) + zero_to_twenty) in
Train.forward_and_forget backend ctx y;
Tensor.print ~with_code:false ~with_grad:false `Inline zero_to_twenty;
- [%expect
- {|
- [2]: 0...20 shape 0:21 [
- 0.00
- ; 1.00
- ; 2.00
- ; 3.00
- ; 4.00
- ; 5.00
- ; 6.00
- ; 7.00
- ; 8.00
- ; 9.00
- ; 10.00
- ; 11.00
- ; 12.00
- ; 13.00
- ; 14.00
- ; 15.00
- ; 16.00
- ; 17.00
- ; 18.00
- ; 19.00
- ; 20.00
- ]
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default zero_to_twenty;
- [%expect
- {|
- ββββββββββββββββββββββββββββββββββββββββ
- β[2]: 0...20 shape 0:21 β
- βββ¬βββββββββββββββββββββββββββββββββββββ
- βββaxis 0 ββ
- βββΌββββββββββββββββββββββββββββββββββββ€β
- βββ 0.00 1.00 ... 1.90e+1 2.00e+1 ββ
- βββ΄βββββββββββββββββββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
Tensor.print ~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 ββ
- βββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
Tensor.print ~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 ββ
- βββ΄βββββββββββββββββββββββββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββββββββββββββββ
- |}]
+ [%expect.unreachable]
+[@@expect.uncaught_exn {|
+ (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+ This is strongly discouraged as backtraces are fragile.
+ Please change this test to not include a backtrace. *)
+ (Invalid_argument "index out of bounds")
+ Raised by primitive operation at Ir__Assignments.to_low_level.loop.(fun) in file "arrayjit/lib/assignments.ml", line 249, characters 39-54
+ Called from Ir__Low_level.unroll_dims.generate_all_combinations in file "arrayjit/lib/low_level.ml", lines 1168-1170, characters 12-40
+ Called from Ir__Low_level.unroll_dims.generate_all_combinations in file "arrayjit/lib/low_level.ml", lines 1168-1170, characters 12-40
+ Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 227, characters 17-24
+ Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 227, characters 17-24
+ Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 227, characters 17-24
+ Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 225, characters 66-72
+ Called from Ir__Assignments.to_low_level in file "arrayjit/lib/assignments.ml", line 251, characters 2-11
+ Re-raised at Ir__Assignments.to_low_level in file "arrayjit/lib/assignments.ml", lines 130-251, characters 29-11
+ Called from Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 414, characters 26-43
+ Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 414, characters 2-43
+ Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", lines 412-419, characters 22-75
+ Called from Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 193-194, characters 4-45
+ Re-raised at Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 185-194, characters 34-47
+ Called from Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 356, characters 6-61
+ Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 355-356, characters 4-61
+ Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 354-362, characters 26-99
+ Called from Ocannl__Train.forward_and_ctx in file "lib/train.ml", line 494, characters 37-90
+ Re-raised at Ocannl__Train.forward_and_ctx in file "lib/train.ml", lines 488-497, characters 32-17
+ Called from Ocannl__Train.forward_and_forget in file "lib/train.ml", line 501, characters 12-75
+ Called from Tutorials__Hello_world_op.(fun) in file "test/hello_world_op.ml", line 510, characters 2-40
+ Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+
+ Trailing output
+ ---------------
+ derive_projections
+ |}]
let%expect_test "Very big tensor" =
Tensor.unsafe_reinitialize ();
@@ -595,156 +356,59 @@ let%expect_test "Very big tensor" =
let%op hoo = (hey * (1 + 1)) - 10 in
Train.forward_and_forget backend ctx hoo;
Tensor.print ~with_code:false ~with_grad:false `Default hey;
- [%expect
- {|
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[0]: r6x10x11x7x8x9 shape 0:6|3:7,4:8,5:9->1:10,2:11 β
- βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ
- ββ0 @ 0 β0 @ 4 β1 @ 4 β~~~~~ β6 @ 4 β7 @ 4 ββ
- ββ βaxis 5 βaxis 5 βaxis 5βaxis 5 βaxis 5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ0 @ 1 β 0.00 1.00 ... 7.00 8.00 β 9.00 1.00e+1 ... 1.60e+1 1.70e+1 β ... β 5.40e+1 5.50e+1 ... 6.10e+1 6.20e+1 β 6.30e+1 6.40e+1 ... 7.00e+1 7.10e+1 ββ
- ββaxis 2β 5.04e+2 5.05e+2 ... 5.11e+2 5.12e+2 β 5.13e+2 5.14e+2 ... 5.20e+2 5.21e+2 β β 5.58e+2 5.59e+2 ... 5.65e+2 5.66e+2 β 5.67e+2 5.68e+2 ... 5.74e+2 5.75e+2 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 4.53e+3 4.53e+3 ... 4.54e+3 4.54e+3 β 4.54e+3 4.54e+3 ... 4.55e+3 4.55e+3 β β 4.59e+3 4.59e+3 ... 4.59e+3 4.59e+3 β 4.59e+3 4.60e+3 ... 4.60e+3 4.60e+3 ββ
- ββ β 5.04e+3 5.04e+3 ... 5.04e+3 5.04e+3 β 5.04e+3 5.05e+3 ... 5.05e+3 5.05e+3 β β 5.09e+3 5.09e+3 ... 5.10e+3 5.10e+3 β 5.10e+3 5.10e+3 ... 5.11e+3 5.11e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ1 @ 1 β 5.54e+3 5.54e+3 ... 5.55e+3 5.55e+3 β 5.55e+3 5.55e+3 ... 5.56e+3 5.56e+3 β ... β 5.59e+3 5.59e+3 ... 5.60e+3 5.60e+3 β 5.60e+3 5.60e+3 ... 5.61e+3 5.61e+3 ββ
- ββaxis 2β 6.04e+3 6.04e+3 ... 6.05e+3 6.05e+3 β 6.05e+3 6.05e+3 ... 6.06e+3 6.06e+3 β β 6.10e+3 6.10e+3 ... 6.10e+3 6.11e+3 β 6.11e+3 6.11e+3 ... 6.11e+3 6.11e+3 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 1.00e+4 1.00e+4 ... 1.00e+4 1.00e+4 β 1.00e+4 1.00e+4 ... 1.00e+4 1.00e+4 β β 1.01e+4 1.01e+4 ... 1.01e+4 1.01e+4 β 1.01e+4 1.01e+4 ... 1.01e+4 1.01e+4 ββ
- ββ β 1.05e+4 1.05e+4 ... 1.05e+4 1.05e+4 β 1.05e+4 1.05e+4 ... 1.06e+4 1.06e+4 β β 1.06e+4 1.06e+4 ... 1.06e+4 1.06e+4 β 1.06e+4 1.06e+4 ... 1.06e+4 1.06e+4 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ~~~~~ β ... β ... β ... β ... β ... ββ
- ββaxis 2β β β β β ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ8 @ 1 β 4.43e+4 4.43e+4 ... 4.43e+4 4.43e+4 β 4.43e+4 4.43e+4 ... 4.43e+4 4.43e+4 β ... β 4.44e+4 4.44e+4 ... 4.44e+4 4.44e+4 β 4.44e+4 4.44e+4 ... 4.44e+4 4.44e+4 ββ
- ββaxis 2β 4.48e+4 4.48e+4 ... 4.48e+4 4.48e+4 β 4.48e+4 4.48e+4 ... 4.48e+4 4.48e+4 β β 4.49e+4 4.49e+4 ... 4.49e+4 4.49e+4 β 4.49e+4 4.49e+4 ... 4.49e+4 4.49e+4 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 4.88e+4 4.88e+4 ... 4.88e+4 4.88e+4 β 4.88e+4 4.88e+4 ... 4.89e+4 4.89e+4 β β 4.89e+4 4.89e+4 ... 4.89e+4 4.89e+4 β 4.89e+4 4.89e+4 ... 4.89e+4 4.89e+4 ββ
- ββ β 4.93e+4 4.93e+4 ... 4.93e+4 4.94e+4 β 4.94e+4 4.94e+4 ... 4.94e+4 4.94e+4 β β 4.94e+4 4.94e+4 ... 4.94e+4 4.94e+4 β 4.94e+4 4.94e+4 ... 4.94e+4 4.94e+4 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ9 @ 1 β 4.98e+4 4.98e+4 ... 4.99e+4 4.99e+4 β 4.99e+4 4.99e+4 ... 4.99e+4 4.99e+4 β ... β 4.99e+4 4.99e+4 ... 4.99e+4 4.99e+4 β 4.99e+4 4.99e+4 ... 4.99e+4 4.99e+4 ββ
- ββaxis 2β 5.04e+4 5.04e+4 ... 5.04e+4 5.04e+4 β 5.04e+4 5.04e+4 ... 5.04e+4 5.04e+4 β β 5.04e+4 5.04e+4 ... 5.04e+4 5.04e+4 β 5.04e+4 5.04e+4 ... 5.04e+4 5.04e+4 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 5.44e+4 5.44e+4 ... 5.44e+4 5.44e+4 β 5.44e+4 5.44e+4 ... 5.44e+4 5.44e+4 β β 5.44e+4 5.44e+4 ... 5.44e+4 5.44e+4 β 5.44e+4 5.44e+4 ... 5.45e+4 5.45e+4 ββ
- ββ β 5.49e+4 5.49e+4 ... 5.49e+4 5.49e+4 β 5.49e+4 5.49e+4 ... 5.49e+4 5.49e+4 β β 5.49e+4 5.49e+4 ... 5.49e+4 5.49e+4 β 5.49e+4 5.50e+4 ... 5.50e+4 5.50e+4 ββ
- βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
- βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ
- ββ1 @ 0 β0 @ 4 β1 @ 4 β~~~~~ β6 @ 4 β7 @ 4 ββ
- ββ βaxis 5 βaxis 5 βaxis 5βaxis 5 βaxis 5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ0 @ 1 β 5.54e+4 5.54e+4 ... 5.54e+4 5.54e+4 β 5.54e+4 5.54e+4 ... 5.54e+4 5.54e+4 β ... β 5.54e+4 5.54e+4 ... 5.55e+4 5.55e+4 β 5.55e+4 5.55e+4 ... 5.55e+4 5.55e+4 ββ
- ββaxis 2β 5.59e+4 5.59e+4 ... 5.59e+4 5.59e+4 β 5.59e+4 5.59e+4 ... 5.59e+4 5.59e+4 β β 5.59e+4 5.59e+4 ... 5.60e+4 5.60e+4 β 5.60e+4 5.60e+4 ... 5.60e+4 5.60e+4 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 5.99e+4 5.99e+4 ... 5.99e+4 5.99e+4 β 5.99e+4 5.99e+4 ... 5.99e+4 5.99e+4 β β 6.00e+4 6.00e+4 ... 6.00e+4 6.00e+4 β 6.00e+4 6.00e+4 ... 6.00e+4 6.00e+4 ββ
- ββ β 6.04e+4 6.04e+4 ... 6.04e+4 6.04e+4 β 6.04e+4 6.04e+4 ... 6.04e+4 6.04e+4 β β 6.05e+4 6.05e+4 ... 6.05e+4 6.05e+4 β 6.05e+4 6.05e+4 ... 6.05e+4 6.05e+4 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ1 @ 1 β 6.09e+4 6.09e+4 ... 6.09e+4 6.09e+4 β 6.09e+4 6.09e+4 ... 6.10e+4 6.10e+4 β ... β 6.10e+4 6.10e+4 ... 6.10e+4 6.10e+4 β 6.10e+4 6.10e+4 ... 6.10e+4 6.10e+4 ββ
- ββaxis 2β 6.14e+4 6.14e+4 ... 6.14e+4 6.14e+4 β 6.14e+4 6.14e+4 ... 6.15e+4 6.15e+4 β β 6.15e+4 6.15e+4 ... 6.15e+4 6.15e+4 β 6.15e+4 6.15e+4 ... 6.15e+4 6.15e+4 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 6.55e+4 6.55e+4 ... 6.55e+4 6.55e+4 β 6.55e+4 6.55e+4 ... 6.55e+4 6.55e+4 β β 6.55e+4 6.55e+4 ... 6.55e+4 6.55e+4 β 6.55e+4 6.55e+4 ... 6.55e+4 6.55e+4 ββ
- ββ β 6.60e+4 6.60e+4 ... 6.60e+4 6.60e+4 β 6.60e+4 6.60e+4 ... 6.60e+4 6.60e+4 β β 6.60e+4 6.60e+4 ... 6.60e+4 6.60e+4 β 6.60e+4 6.60e+4 ... 6.60e+4 6.60e+4 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ~~~~~ β ... β ... β ... β ... β ... ββ
- ββaxis 2β β β β β ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ8 @ 1 β 9.97e+4 9.97e+4 ... 9.97e+4 9.98e+4 β 9.98e+4 9.98e+4 ... 9.98e+4 9.98e+4 β ... β 9.98e+4 9.98e+4 ... 9.98e+4 9.98e+4 β 9.98e+4 9.98e+4 ... 9.98e+4 9.98e+4 ββ
- ββaxis 2β 1.00e+5 1.00e+5 ... 1.00e+5 1.00e+5 β 1.00e+5 1.00e+5 ... 1.00e+5 1.00e+5 β β 1.00e+5 1.00e+5 ... 1.00e+5 1.00e+5 β 1.00e+5 1.00e+5 ... 1.00e+5 1.00e+5 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 ββ
- ββ β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ9 @ 1 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β ... β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 ββ
- ββaxis 2β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 1.09e+5 1.09e+5 ... 1.09e+5 1.09e+5 β 1.09e+5 1.09e+5 ... 1.09e+5 1.09e+5 β β 1.09e+5 1.09e+5 ... 1.09e+5 1.09e+5 β 1.09e+5 1.09e+5 ... 1.09e+5 1.09e+5 ββ
- ββ β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 β β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 ββ
- βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
- β ... β
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
- βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ
- ββ4 @ 0 β0 @ 4 β1 @ 4 β~~~~~ β6 @ 4 β7 @ 4 ββ
- ββ βaxis 5 βaxis 5 βaxis 5βaxis 5 βaxis 5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ0 @ 1 β 2.21e+5 2.21e+5 ... 2.21e+5 2.21e+5 β 2.21e+5 2.21e+5 ... 2.21e+5 2.21e+5 β ... β 2.21e+5 2.21e+5 ... 2.21e+5 2.21e+5 β 2.21e+5 2.21e+5 ... 2.21e+5 2.21e+5 ββ
- ββaxis 2β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 β β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 ββ
- ββ β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ1 @ 1 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β ... β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 ββ
- ββaxis 2β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 2.31e+5 2.31e+5 ... 2.31e+5 2.31e+5 β 2.31e+5 2.31e+5 ... 2.31e+5 2.31e+5 β β 2.31e+5 2.31e+5 ... 2.31e+5 2.31e+5 β 2.31e+5 2.31e+5 ... 2.31e+5 2.31e+5 ββ
- ββ β 2.32e+5 2.32e+5 ... 2.32e+5 2.32e+5 β 2.32e+5 2.32e+5 ... 2.32e+5 2.32e+5 β β 2.32e+5 2.32e+5 ... 2.32e+5 2.32e+5 β 2.32e+5 2.32e+5 ... 2.32e+5 2.32e+5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ~~~~~ β ... β ... β ... β ... β ... ββ
- ββaxis 2β β β β β ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ8 @ 1 β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β ... β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 ββ
- ββaxis 2β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 β β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 ββ
- ββ β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ9 @ 1 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β ... β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 ββ
- ββaxis 2β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 β β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 ββ
- ββ β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 ββ
- βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
- βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ
- ββ5 @ 0 β0 @ 4 β1 @ 4 β~~~~~ β6 @ 4 β7 @ 4 ββ
- ββ βaxis 5 βaxis 5 βaxis 5βaxis 5 βaxis 5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ0 @ 1 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β ... β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 ββ
- ββaxis 2β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 2.81e+5 2.81e+5 ... 2.81e+5 2.81e+5 β 2.81e+5 2.81e+5 ... 2.81e+5 2.81e+5 β β 2.81e+5 2.81e+5 ... 2.81e+5 2.81e+5 β 2.81e+5 2.81e+5 ... 2.81e+5 2.81e+5 ββ
- ββ β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ1 @ 1 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β ... β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 ββ
- ββaxis 2β 2.83e+5 2.83e+5 ... 2.83e+5 2.83e+5 β 2.83e+5 2.83e+5 ... 2.83e+5 2.83e+5 β β 2.83e+5 2.83e+5 ... 2.83e+5 2.83e+5 β 2.83e+5 2.83e+5 ... 2.83e+5 2.83e+5 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 ββ
- ββ β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ~~~~~ β ... β ... β ... β ... β ... ββ
- ββaxis 2β β β β β ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ8 @ 1 β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 β ... β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 ββ
- ββaxis 2β 3.22e+5 3.22e+5 ... 3.22e+5 3.22e+5 β 3.22e+5 3.22e+5 ... 3.22e+5 3.22e+5 β β 3.22e+5 3.22e+5 ... 3.22e+5 3.22e+5 β 3.22e+5 3.22e+5 ... 3.22e+5 3.22e+5 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 ββ
- ββ β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ9 @ 1 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β ... β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 ββ
- ββaxis 2β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 β β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 ββ
- ββ β 3.32e+5 3.32e+5 ... 3.32e+5 3.32e+5 β 3.32e+5 3.32e+5 ... 3.32e+5 3.32e+5 β β 3.32e+5 3.32e+5 ... 3.32e+5 3.32e+5 β 3.32e+5 3.32e+5 ... 3.32e+5 3.32e+5 ββ
- βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default hoo;
(* Disable line wrapping for viewing the output. In VSCode: `View: Toggle Word Wrap`. *)
- [%expect
- {|
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[6]: -_hoo shape 0:6|1:10,2:11 β
- βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ
- ββ β0 @ 0 β1 @ 0 β~~~~~ β4 @ 0 β5 @ 0 ββ
- ββ βaxis 2 βaxis 2 βaxis 2βaxis 2 βaxis 2 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββaxis 1β 2.53e+5 7.61e+5 ... 4.82e+6 5.33e+6 β 5.61e+7 5.66e+7 ... 6.07e+7 6.12e+7 β ... β 2.23e+8 2.24e+8 ... 2.28e+8 2.28e+8 β 2.79e+8 2.80e+8 ... 2.84e+8 2.84e+8 ββ
- ββ β 5.84e+6 6.34e+6 ... 1.04e+7 1.09e+7 β 6.17e+7 6.22e+7 ... 6.62e+7 6.68e+7 β β 2.29e+8 2.29e+8 ... 2.33e+8 2.34e+8 β 2.85e+8 2.85e+8 ... 2.89e+8 2.90e+8 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 4.49e+7 4.54e+7 ... 4.95e+7 5.00e+7 β 1.00e+8 1.01e+8 ... 1.05e+8 1.05e+8 β β 2.68e+8 2.69e+8 ... 2.73e+8 2.73e+8 β 3.24e+8 3.24e+8 ... 3.28e+8 3.29e+8 ββ
- ββ β 5.05e+7 5.10e+7 ... 5.51e+7 5.56e+7 β 1.06e+8 1.06e+8 ... 1.11e+8 1.11e+8 β β 2.74e+8 2.74e+8 ... 2.78e+8 2.79e+8 β 3.29e+8 3.30e+8 ... 3.34e+8 3.35e+8 ββ
- βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}]
+ [%expect.unreachable]
+[@@expect.uncaught_exn {|
+ (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+ This is strongly discouraged as backtraces are fragile.
+ Please change this test to not include a backtrace. *)
+ "Assert_failure arrayjit/lib/low_level.ml:623:44"
+ Raised at Ir__Low_level.cleanup_virtual_llc.loop_float.(fun) in file "arrayjit/lib/low_level.ml", line 623, characters 44-70
+ Called from Base__List0.iter in file "src/list0.ml", line 66, characters 4-7
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 623, characters 8-71
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 590, characters 29-62
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 610, characters 55-88
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml" (inlined), line 594, characters 15-44
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 626, characters 43-52
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml" (inlined), line 594, characters 15-44
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 626, characters 54-63
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 586, characters 38-71
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 571, characters 15-48
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 571, characters 15-48
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 571, characters 15-48
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
+ Called from Base__List.filter_map in file "src/list.ml", line 1133, characters 11-15
+ Called from Base__List.filter_map in file "src/list.ml", line 1135, characters 22-38
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 556, characters 19-42
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 556, characters 19-64
+ Called from Ir__Low_level.cleanup_virtual_llc in file "arrayjit/lib/low_level.ml", line 633, characters 36-89
+ Called from Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 857-858, characters 7-67
+ Re-raised at Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 846-863, characters 30-35
+ Called from Ir__Low_level.optimize in file "arrayjit/lib/low_level.ml", line 1126, characters 15-47
+ Called from Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 419, characters 2-75
+ Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", lines 412-419, characters 22-75
+ Called from Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 193-194, characters 4-45
+ Re-raised at Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 185-194, characters 34-47
+ Called from Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 356, characters 6-61
+ Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 355-356, characters 4-61
+ Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 354-362, characters 26-99
+ Called from Ocannl__Train.forward_and_ctx in file "lib/train.ml", line 494, characters 37-90
+ Re-raised at Ocannl__Train.forward_and_ctx in file "lib/train.ml", lines 488-497, characters 32-17
+ Called from Ocannl__Train.forward_and_forget in file "lib/train.ml", line 501, characters 12-75
+ Called from Tutorials__Hello_world_op.(fun) in file "test/hello_world_op.ml", line 596, characters 2-42
+ Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+
+ Trailing output
+ ---------------
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ |}]
File "test/einsum_trivia.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum_trivia.ml _build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/einsum_trivia.ml.corrected
diff --git a/_build/default/test/einsum_trivia.ml b/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/einsum_trivia.ml.corrected
index 162aa57..385dd3d 100644
--- a/_build/default/test/einsum_trivia.ml
+++ b/_build/.sandbox/6e6a1764751748a50cc6afaf1c944638/default/test/einsum_trivia.ml.corrected
@@ -26,251 +26,58 @@ let%expect_test "einsum1 permute axes" =
let%op ho = hey ++ "b|i->o => o|b->i" in
Train.forward_and_forget backend ctx ho;
Tensor.print ~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 ββ
- βββββββββ΄βββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ ho;
- [%expect
- {|
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[1]: =>_ho shape 0:4|2:2->1:3 β
- βββββββββ¬ββββββββββββββββ¬ββββββββββββββββ¬ββββββββββββββββ¬ββββββββββββββββββββ
- ββ β0 @ 0 β1 @ 0 β2 @ 0 β3 @ 0 ββ
- ββ βaxis 2 βaxis 2 βaxis 2 βaxis 2 ββ
- βββββββββΌββββββββββββββββΌββββββββββββββββΌββββββββββββββββΌβββββββββββββββββββ€β
- ββaxis 1β 0.00 1.20e+1 β 3.00 1.50e+1 β 6.00 1.80e+1 β 9.00 2.10e+1 ββ
- ββ β 1.00 1.30e+1 β 4.00 1.60e+1 β 7.00 1.90e+1 β 1.00e+1 2.20e+1 ββ
- ββ β 2.00 1.40e+1 β 5.00 1.70e+1 β 8.00 2.00e+1 β 1.10e+1 2.30e+1 ββ
- βββββββββ΄ββββββββββββββββ΄ββββββββββββββββ΄ββββββββββββββββ΄ββββββββββββββββββββ
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
let hey2 =
TDSL.range_of_shape ~batch_dims:[ 2; 3 ] ~input_dims:[ 4; 5 ] ~output_dims:[ 6; 7 ] ()
in
let%op ho2 = hey2 ++ "ab|cd->ef => cf|ae->db" in
Train.forward_and_forget backend ctx ho2;
Tensor.print ~with_code:false ~with_grad:false `Default @@ hey2;
- [%expect
- {|
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[2]: r2x3x6x7x4x5 shape 0:2,1:3|4:4,5:5->2:6,3:7 β
- βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββ
- ββ0 @ 1 β0 @ 4 β1 @ 4 β2 @ 4 β3 @ 4 ββ
- ββ βaxis 5 βaxis 5 βaxis 5 βaxis 5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ0 @ 2 β 0.00 1.00 2.00 3.00 4.00 β 5.00 6.00 7.00 8.00 9.00 β 1.00e+1 1.10e+1 1.20e+1 1.30e+1 1.40e+1 β 1.50e+1 1.60e+1 1.70e+1 1.80e+1 1.90e+1 ββ
- ββaxis 3β 2.00e+1 2.10e+1 2.20e+1 2.30e+1 2.40e+1 β 2.50e+1 2.60e+1 2.70e+1 2.80e+1 2.90e+1 β 3.00e+1 3.10e+1 3.20e+1 3.30e+1 3.40e+1 β 3.50e+1 3.60e+1 3.70e+1 3.80e+1 3.90e+1 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 1.00e+2 1.01e+2 1.02e+2 1.03e+2 1.04e+2 β 1.05e+2 1.06e+2 1.07e+2 1.08e+2 1.09e+2 β 1.10e+2 1.11e+2 1.12e+2 1.13e+2 1.14e+2 β 1.15e+2 1.16e+2 1.17e+2 1.18e+2 1.19e+2 ββ
- ββ β 1.20e+2 1.21e+2 1.22e+2 1.23e+2 1.24e+2 β 1.25e+2 1.26e+2 1.27e+2 1.28e+2 1.29e+2 β 1.30e+2 1.31e+2 1.32e+2 1.33e+2 1.34e+2 β 1.35e+2 1.36e+2 1.37e+2 1.38e+2 1.39e+2 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ1 @ 2 β 1.40e+2 1.41e+2 1.42e+2 1.43e+2 1.44e+2 β 1.45e+2 1.46e+2 1.47e+2 1.48e+2 1.49e+2 β 1.50e+2 1.51e+2 1.52e+2 1.53e+2 1.54e+2 β 1.55e+2 1.56e+2 1.57e+2 1.58e+2 1.59e+2 ββ
- ββaxis 3β 1.60e+2 1.61e+2 1.62e+2 1.63e+2 1.64e+2 β 1.65e+2 1.66e+2 1.67e+2 1.68e+2 1.69e+2 β 1.70e+2 1.71e+2 1.72e+2 1.73e+2 1.74e+2 β 1.75e+2 1.76e+2 1.77e+2 1.78e+2 1.79e+2 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 2.40e+2 2.41e+2 2.42e+2 2.43e+2 2.44e+2 β 2.45e+2 2.46e+2 2.47e+2 2.48e+2 2.49e+2 β 2.50e+2 2.51e+2 2.52e+2 2.53e+2 2.54e+2 β 2.55e+2 2.56e+2 2.57e+2 2.58e+2 2.59e+2 ββ
- ββ β 2.60e+2 2.61e+2 2.62e+2 2.63e+2 2.64e+2 β 2.65e+2 2.66e+2 2.67e+2 2.68e+2 2.69e+2 β 2.70e+2 2.71e+2 2.72e+2 2.73e+2 2.74e+2 β 2.75e+2 2.76e+2 2.77e+2 2.78e+2 2.79e+2 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ~~~~~ β ... β ... β ... β ... ββ
- ββaxis 3β β β β ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ4 @ 2 β 5.60e+2 5.61e+2 5.62e+2 5.63e+2 5.64e+2 β 5.65e+2 5.66e+2 5.67e+2 5.68e+2 5.69e+2 β 5.70e+2 5.71e+2 5.72e+2 5.73e+2 5.74e+2 β 5.75e+2 5.76e+2 5.77e+2 5.78e+2 5.79e+2 ββ
- ββaxis 3β 5.80e+2 5.81e+2 5.82e+2 5.83e+2 5.84e+2 β 5.85e+2 5.86e+2 5.87e+2 5.88e+2 5.89e+2 β 5.90e+2 5.91e+2 5.92e+2 5.93e+2 5.94e+2 β 5.95e+2 5.96e+2 5.97e+2 5.98e+2 5.99e+2 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 6.60e+2 6.61e+2 6.62e+2 6.63e+2 6.64e+2 β 6.65e+2 6.66e+2 6.67e+2 6.68e+2 6.69e+2 β 6.70e+2 6.71e+2 6.72e+2 6.73e+2 6.74e+2 β 6.75e+2 6.76e+2 6.77e+2 6.78e+2 6.79e+2 ββ
- ββ β 6.80e+2 6.81e+2 6.82e+2 6.83e+2 6.84e+2 β 6.85e+2 6.86e+2 6.87e+2 6.88e+2 6.89e+2 β 6.90e+2 6.91e+2 6.92e+2 6.93e+2 6.94e+2 β 6.95e+2 6.96e+2 6.97e+2 6.98e+2 6.99e+2 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ5 @ 2 β 7.00e+2 7.01e+2 7.02e+2 7.03e+2 7.04e+2 β 7.05e+2 7.06e+2 7.07e+2 7.08e+2 7.09e+2 β 7.10e+2 7.11e+2 7.12e+2 7.13e+2 7.14e+2 β 7.15e+2 7.16e+2 7.17e+2 7.18e+2 7.19e+2 ββ
- ββaxis 3β 7.20e+2 7.21e+2 7.22e+2 7.23e+2 7.24e+2 β 7.25e+2 7.26e+2 7.27e+2 7.28e+2 7.29e+2 β 7.30e+2 7.31e+2 7.32e+2 7.33e+2 7.34e+2 β 7.35e+2 7.36e+2 7.37e+2 7.38e+2 7.39e+2 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 8.00e+2 8.01e+2 8.02e+2 8.03e+2 8.04e+2 β 8.05e+2 8.06e+2 8.07e+2 8.08e+2 8.09e+2 β 8.10e+2 8.11e+2 8.12e+2 8.13e+2 8.14e+2 β 8.15e+2 8.16e+2 8.17e+2 8.18e+2 8.19e+2 ββ
- ββ β 8.20e+2 8.21e+2 8.22e+2 8.23e+2 8.24e+2 β 8.25e+2 8.26e+2 8.27e+2 8.28e+2 8.29e+2 β 8.30e+2 8.31e+2 8.32e+2 8.33e+2 8.34e+2 β 8.35e+2 8.36e+2 8.37e+2 8.38e+2 8.39e+2 ββ
- βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
- βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββ
- ββ1 @ 1 β0 @ 4 β1 @ 4 β2 @ 4 β3 @ 4 ββ
- ββ βaxis 5 βaxis 5 βaxis 5 βaxis 5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ0 @ 2 β 8.40e+2 8.41e+2 8.42e+2 8.43e+2 8.44e+2 β 8.45e+2 8.46e+2 8.47e+2 8.48e+2 8.49e+2 β 8.50e+2 8.51e+2 8.52e+2 8.53e+2 8.54e+2 β 8.55e+2 8.56e+2 8.57e+2 8.58e+2 8.59e+2 ββ
- ββaxis 3β 8.60e+2 8.61e+2 8.62e+2 8.63e+2 8.64e+2 β 8.65e+2 8.66e+2 8.67e+2 8.68e+2 8.69e+2 β 8.70e+2 8.71e+2 8.72e+2 8.73e+2 8.74e+2 β 8.75e+2 8.76e+2 8.77e+2 8.78e+2 8.79e+2 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 9.40e+2 9.41e+2 9.42e+2 9.43e+2 9.44e+2 β 9.45e+2 9.46e+2 9.47e+2 9.48e+2 9.49e+2 β 9.50e+2 9.51e+2 9.52e+2 9.53e+2 9.54e+2 β 9.55e+2 9.56e+2 9.57e+2 9.58e+2 9.59e+2 ββ
- ββ β 9.60e+2 9.61e+2 9.62e+2 9.63e+2 9.64e+2 β 9.65e+2 9.66e+2 9.67e+2 9.68e+2 9.69e+2 β 9.70e+2 9.71e+2 9.72e+2 9.73e+2 9.74e+2 β 9.75e+2 9.76e+2 9.77e+2 9.78e+2 9.79e+2 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ1 @ 2 β 9.80e+2 9.81e+2 9.82e+2 9.83e+2 9.84e+2 β 9.85e+2 9.86e+2 9.87e+2 9.88e+2 9.89e+2 β 9.90e+2 9.91e+2 9.92e+2 9.93e+2 9.94e+2 β 9.95e+2 9.96e+2 9.97e+2 9.98e+2 9.99e+2 ββ
- ββaxis 3β 1.00e+3 1.00e+3 1.00e+3 1.00e+3 1.00e+3 β 1.00e+3 1.00e+3 1.00e+3 1.00e+3 1.00e+3 β 1.01e+3 1.01e+3 1.01e+3 1.01e+3 1.01e+3 β 1.01e+3 1.01e+3 1.01e+3 1.01e+3 1.01e+3 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 1.08e+3 1.08e+3 1.08e+3 1.08e+3 1.08e+3 β 1.08e+3 1.08e+3 1.08e+3 1.08e+3 1.08e+3 β 1.09e+3 1.09e+3 1.09e+3 1.09e+3 1.09e+3 β 1.09e+3 1.09e+3 1.09e+3 1.09e+3 1.09e+3 ββ
- ββ β 1.10e+3 1.10e+3 1.10e+3 1.10e+3 1.10e+3 β 1.10e+3 1.10e+3 1.10e+3 1.10e+3 1.10e+3 β 1.11e+3 1.11e+3 1.11e+3 1.11e+3 1.11e+3 β 1.11e+3 1.11e+3 1.11e+3 1.11e+3 1.11e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ~~~~~ β ... β ... β ... β ... ββ
- ββaxis 3β β β β ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ4 @ 2 β 1.40e+3 1.40e+3 1.40e+3 1.40e+3 1.40e+3 β 1.40e+3 1.40e+3 1.40e+3 1.40e+3 1.40e+3 β 1.41e+3 1.41e+3 1.41e+3 1.41e+3 1.41e+3 β 1.41e+3 1.41e+3 1.41e+3 1.41e+3 1.41e+3 ββ
- ββaxis 3β 1.42e+3 1.42e+3 1.42e+3 1.42e+3 1.42e+3 β 1.42e+3 1.42e+3 1.42e+3 1.42e+3 1.42e+3 β 1.43e+3 1.43e+3 1.43e+3 1.43e+3 1.43e+3 β 1.43e+3 1.43e+3 1.43e+3 1.43e+3 1.43e+3 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 1.50e+3 1.50e+3 1.50e+3 1.50e+3 1.50e+3 β 1.50e+3 1.50e+3 1.50e+3 1.50e+3 1.50e+3 β 1.51e+3 1.51e+3 1.51e+3 1.51e+3 1.51e+3 β 1.51e+3 1.51e+3 1.51e+3 1.51e+3 1.51e+3 ββ
- ββ β 1.52e+3 1.52e+3 1.52e+3 1.52e+3 1.52e+3 β 1.52e+3 1.52e+3 1.52e+3 1.52e+3 1.52e+3 β 1.53e+3 1.53e+3 1.53e+3 1.53e+3 1.53e+3 β 1.53e+3 1.53e+3 1.53e+3 1.53e+3 1.53e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ5 @ 2 β 1.54e+3 1.54e+3 1.54e+3 1.54e+3 1.54e+3 β 1.54e+3 1.54e+3 1.54e+3 1.54e+3 1.54e+3 β 1.55e+3 1.55e+3 1.55e+3 1.55e+3 1.55e+3 β 1.55e+3 1.55e+3 1.55e+3 1.55e+3 1.55e+3 ββ
- ββaxis 3β 1.56e+3 1.56e+3 1.56e+3 1.56e+3 1.56e+3 β 1.56e+3 1.56e+3 1.56e+3 1.56e+3 1.56e+3 β 1.57e+3 1.57e+3 1.57e+3 1.57e+3 1.57e+3 β 1.57e+3 1.57e+3 1.57e+3 1.57e+3 1.57e+3 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 1.64e+3 1.64e+3 1.64e+3 1.64e+3 1.64e+3 β 1.64e+3 1.64e+3 1.64e+3 1.64e+3 1.64e+3 β 1.65e+3 1.65e+3 1.65e+3 1.65e+3 1.65e+3 β 1.65e+3 1.65e+3 1.65e+3 1.65e+3 1.65e+3 ββ
- ββ β 1.66e+3 1.66e+3 1.66e+3 1.66e+3 1.66e+3 β 1.66e+3 1.66e+3 1.66e+3 1.66e+3 1.66e+3 β 1.67e+3 1.67e+3 1.67e+3 1.67e+3 1.67e+3 β 1.67e+3 1.67e+3 1.67e+3 1.67e+3 1.67e+3 ββ
- βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
- βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββ
- ββ2 @ 1 β0 @ 4 β1 @ 4 β2 @ 4 β3 @ 4 ββ
- ββ βaxis 5 βaxis 5 βaxis 5 βaxis 5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ0 @ 2 β 1.68e+3 1.68e+3 1.68e+3 1.68e+3 1.68e+3 β 1.68e+3 1.68e+3 1.68e+3 1.68e+3 1.68e+3 β 1.69e+3 1.69e+3 1.69e+3 1.69e+3 1.69e+3 β 1.69e+3 1.69e+3 1.69e+3 1.69e+3 1.69e+3 ββ
- ββaxis 3β 1.70e+3 1.70e+3 1.70e+3 1.70e+3 1.70e+3 β 1.70e+3 1.70e+3 1.70e+3 1.70e+3 1.70e+3 β 1.71e+3 1.71e+3 1.71e+3 1.71e+3 1.71e+3 β 1.71e+3 1.71e+3 1.71e+3 1.71e+3 1.71e+3 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 1.78e+3 1.78e+3 1.78e+3 1.78e+3 1.78e+3 β 1.78e+3 1.78e+3 1.78e+3 1.78e+3 1.78e+3 β 1.79e+3 1.79e+3 1.79e+3 1.79e+3 1.79e+3 β 1.79e+3 1.79e+3 1.79e+3 1.79e+3 1.79e+3 ββ
- ββ β 1.80e+3 1.80e+3 1.80e+3 1.80e+3 1.80e+3 β 1.80e+3 1.80e+3 1.80e+3 1.80e+3 1.80e+3 β 1.81e+3 1.81e+3 1.81e+3 1.81e+3 1.81e+3 β 1.81e+3 1.81e+3 1.81e+3 1.81e+3 1.81e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ1 @ 2 β 1.82e+3 1.82e+3 1.82e+3 1.82e+3 1.82e+3 β 1.82e+3 1.82e+3 1.82e+3 1.82e+3 1.82e+3 β 1.83e+3 1.83e+3 1.83e+3 1.83e+3 1.83e+3 β 1.83e+3 1.83e+3 1.83e+3 1.83e+3 1.83e+3 ββ
- ββaxis 3β 1.84e+3 1.84e+3 1.84e+3 1.84e+3 1.84e+3 β 1.84e+3 1.84e+3 1.84e+3 1.84e+3 1.84e+3 β 1.85e+3 1.85e+3 1.85e+3 1.85e+3 1.85e+3 β 1.85e+3 1.85e+3 1.85e+3 1.85e+3 1.85e+3 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 1.92e+3 1.92e+3 1.92e+3 1.92e+3 1.92e+3 β 1.92e+3 1.92e+3 1.92e+3 1.92e+3 1.92e+3 β 1.93e+3 1.93e+3 1.93e+3 1.93e+3 1.93e+3 β 1.93e+3 1.93e+3 1.93e+3 1.93e+3 1.93e+3 ββ
- ββ β 1.94e+3 1.94e+3 1.94e+3 1.94e+3 1.94e+3 β 1.94e+3 1.94e+3 1.94e+3 1.94e+3 1.94e+3 β 1.95e+3 1.95e+3 1.95e+3 1.95e+3 1.95e+3 β 1.95e+3 1.95e+3 1.95e+3 1.95e+3 1.95e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ~~~~~ β ... β ... β ... β ... ββ
- ββaxis 3β β β β ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ4 @ 2 β 2.24e+3 2.24e+3 2.24e+3 2.24e+3 2.24e+3 β 2.24e+3 2.24e+3 2.24e+3 2.24e+3 2.24e+3 β 2.25e+3 2.25e+3 2.25e+3 2.25e+3 2.25e+3 β 2.25e+3 2.25e+3 2.25e+3 2.25e+3 2.25e+3 ββ
- ββaxis 3β 2.26e+3 2.26e+3 2.26e+3 2.26e+3 2.26e+3 β 2.26e+3 2.26e+3 2.26e+3 2.26e+3 2.26e+3 β 2.27e+3 2.27e+3 2.27e+3 2.27e+3 2.27e+3 β 2.27e+3 2.27e+3 2.27e+3 2.27e+3 2.27e+3 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 2.34e+3 2.34e+3 2.34e+3 2.34e+3 2.34e+3 β 2.34e+3 2.34e+3 2.34e+3 2.34e+3 2.34e+3 β 2.35e+3 2.35e+3 2.35e+3 2.35e+3 2.35e+3 β 2.35e+3 2.35e+3 2.35e+3 2.35e+3 2.35e+3 ββ
- ββ β 2.36e+3 2.36e+3 2.36e+3 2.36e+3 2.36e+3 β 2.36e+3 2.36e+3 2.36e+3 2.36e+3 2.36e+3 β 2.37e+3 2.37e+3 2.37e+3 2.37e+3 2.37e+3 β 2.37e+3 2.37e+3 2.37e+3 2.37e+3 2.37e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β
- ββ5 @ 2 β 2.38e+3 2.38e+3 2.38e+3 2.38e+3 2.38e+3 β 2.38e+3 2.38e+3 2.38e+3 2.38e+3 2.38e+3 β 2.39e+3 2.39e+3 2.39e+3 2.39e+3 2.39e+3 β 2.39e+3 2.39e+3 2.39e+3 2.39e+3 2.39e+3 ββ
- ββaxis 3β 2.40e+3 2.40e+3 2.40e+3 2.40e+3 2.40e+3 β 2.40e+3 2.40e+3 2.40e+3 2.40e+3 2.40e+3 β 2.41e+3 2.41e+3 2.41e+3 2.41e+3 2.41e+3 β 2.41e+3 2.41e+3 2.41e+3 2.41e+3 2.41e+3 ββ
- ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ
- ββ β 2.48e+3 2.48e+3 2.48e+3 2.48e+3 2.48e+3 β 2.48e+3 2.48e+3 2.48e+3 2.48e+3 2.48e+3 β 2.49e+3 2.49e+3 2.49e+3 2.49e+3 2.49e+3 β 2.49e+3 2.49e+3 2.49e+3 2.49e+3 2.49e+3 ββ
- ββ β 2.50e+3 2.50e+3 2.50e+3 2.50e+3 2.50e+3 β 2.50e+3 2.50e+3 2.50e+3 2.50e+3 2.50e+3 β 2.51e+3 2.51e+3 2.51e+3 2.51e+3 2.51e+3 β 2.51e+3 2.51e+3 2.51e+3 2.51e+3 2.51e+3 ββ
- βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ ho2;
- [%expect
- {|
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[3]: =>_ho2 shape 0:4,1:7|4:2,5:6->2:5,3:3 β
- βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ
- ββ0 @ 1 β0 @ 4 β1 @ 4 ββ
- ββ βaxis 5 βaxis 5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ0 @ 2 β 0.00 1.40e+2 ... 5.60e+2 7.00e+2 β 2.52e+3 2.66e+3 ... 3.08e+3 3.22e+3 ββ
- ββaxis 3β 8.40e+2 9.80e+2 ... 1.40e+3 1.54e+3 β 3.36e+3 3.50e+3 ... 3.92e+3 4.06e+3 ββ
- ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.20e+3 4.34e+3 ... 4.76e+3 4.90e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ1 @ 2 β 1.00 1.41e+2 ... 5.61e+2 7.01e+2 β 2.52e+3 2.66e+3 ... 3.08e+3 3.22e+3 ββ
- ββaxis 3β 8.41e+2 9.81e+2 ... 1.40e+3 1.54e+3 β 3.36e+3 3.50e+3 ... 3.92e+3 4.06e+3 ββ
- ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.20e+3 4.34e+3 ... 4.76e+3 4.90e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ2 @ 2 β 2.00 1.42e+2 ... 5.62e+2 7.02e+2 β 2.52e+3 2.66e+3 ... 3.08e+3 3.22e+3 ββ
- ββaxis 3β 8.42e+2 9.82e+2 ... 1.40e+3 1.54e+3 β 3.36e+3 3.50e+3 ... 3.92e+3 4.06e+3 ββ
- ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.20e+3 4.34e+3 ... 4.76e+3 4.90e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ3 @ 2 β 3.00 1.43e+2 ... 5.63e+2 7.03e+2 β 2.52e+3 2.66e+3 ... 3.08e+3 3.22e+3 ββ
- ββaxis 3β 8.43e+2 9.83e+2 ... 1.40e+3 1.54e+3 β 3.36e+3 3.50e+3 ... 3.92e+3 4.06e+3 ββ
- ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.20e+3 4.34e+3 ... 4.76e+3 4.90e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ4 @ 2 β 4.00 1.44e+2 ... 5.64e+2 7.04e+2 β 2.52e+3 2.66e+3 ... 3.08e+3 3.22e+3 ββ
- ββaxis 3β 8.44e+2 9.84e+2 ... 1.40e+3 1.54e+3 β 3.36e+3 3.50e+3 ... 3.92e+3 4.06e+3 ββ
- ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.20e+3 4.34e+3 ... 4.76e+3 4.90e+3 ββ
- βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
- βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ
- ββ1 @ 1 β0 @ 4 β1 @ 4 ββ
- ββ βaxis 5 βaxis 5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ0 @ 2 β 2.00e+1 1.60e+2 ... 5.80e+2 7.20e+2 β 2.54e+3 2.68e+3 ... 3.10e+3 3.24e+3 ββ
- ββaxis 3β 8.60e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.38e+3 3.52e+3 ... 3.94e+3 4.08e+3 ββ
- ββ β 1.70e+3 1.84e+3 ... 2.26e+3 2.40e+3 β 4.22e+3 4.36e+3 ... 4.78e+3 4.92e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ1 @ 2 β 2.10e+1 1.61e+2 ... 5.81e+2 7.21e+2 β 2.54e+3 2.68e+3 ... 3.10e+3 3.24e+3 ββ
- ββaxis 3β 8.61e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.38e+3 3.52e+3 ... 3.94e+3 4.08e+3 ββ
- ββ β 1.70e+3 1.84e+3 ... 2.26e+3 2.40e+3 β 4.22e+3 4.36e+3 ... 4.78e+3 4.92e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ2 @ 2 β 2.20e+1 1.62e+2 ... 5.82e+2 7.22e+2 β 2.54e+3 2.68e+3 ... 3.10e+3 3.24e+3 ββ
- ββaxis 3β 8.62e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.38e+3 3.52e+3 ... 3.94e+3 4.08e+3 ββ
- ββ β 1.70e+3 1.84e+3 ... 2.26e+3 2.40e+3 β 4.22e+3 4.36e+3 ... 4.78e+3 4.92e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ3 @ 2 β 2.30e+1 1.63e+2 ... 5.83e+2 7.23e+2 β 2.54e+3 2.68e+3 ... 3.10e+3 3.24e+3 ββ
- ββaxis 3β 8.63e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.38e+3 3.52e+3 ... 3.94e+3 4.08e+3 ββ
- ββ β 1.70e+3 1.84e+3 ... 2.26e+3 2.40e+3 β 4.22e+3 4.36e+3 ... 4.78e+3 4.92e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ4 @ 2 β 2.40e+1 1.64e+2 ... 5.84e+2 7.24e+2 β 2.54e+3 2.68e+3 ... 3.10e+3 3.24e+3 ββ
- ββaxis 3β 8.64e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.38e+3 3.52e+3 ... 3.94e+3 4.08e+3 ββ
- ββ β 1.70e+3 1.84e+3 ... 2.26e+3 2.40e+3 β 4.22e+3 4.36e+3 ... 4.78e+3 4.92e+3 ββ
- βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
- β ... β
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
- βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ
- ββ5 @ 1 β0 @ 4 β1 @ 4 ββ
- ββ βaxis 5 βaxis 5 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ0 @ 2 β 1.00e+2 2.40e+2 ... 6.60e+2 8.00e+2 β 2.62e+3 2.76e+3 ... 3.18e+3 3.32e+3 ββ
- ββaxis 3β 9.40e+2 1.08e+3 ... 1.50e+3 1.64e+3 β 3.46e+3 3.60e+3 ... 4.02e+3 4.16e+3 ββ
- ββ β 1.78e+3 1.92e+3 ... 2.34e+3 2.48e+3 β 4.30e+3 4.44e+3 ... 4.86e+3 5.00e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ1 @ 2 β 1.01e+2 2.41e+2 ... 6.61e+2 8.01e+2 β 2.62e+3 2.76e+3 ... 3.18e+3 3.32e+3 ββ
- ββaxis 3β 9.41e+2 1.08e+3 ... 1.50e+3 1.64e+3 β 3.46e+3 3.60e+3 ... 4.02e+3 4.16e+3 ββ
- ββ β 1.78e+3 1.92e+3 ... 2.34e+3 2.48e+3 β 4.30e+3 4.44e+3 ... 4.86e+3 5.00e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ2 @ 2 β 1.02e+2 2.42e+2 ... 6.62e+2 8.02e+2 β 2.62e+3 2.76e+3 ... 3.18e+3 3.32e+3 ββ
- ββaxis 3β 9.42e+2 1.08e+3 ... 1.50e+3 1.64e+3 β 3.46e+3 3.60e+3 ... 4.02e+3 4.16e+3 ββ
- ββ β 1.78e+3 1.92e+3 ... 2.34e+3 2.48e+3 β 4.30e+3 4.44e+3 ... 4.86e+3 5.00e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ3 @ 2 β 1.03e+2 2.43e+2 ... 6.63e+2 8.03e+2 β 2.62e+3 2.76e+3 ... 3.18e+3 3.32e+3 ββ
- ββaxis 3β 9.43e+2 1.08e+3 ... 1.50e+3 1.64e+3 β 3.46e+3 3.60e+3 ... 4.02e+3 4.16e+3 ββ
- ββ β 1.78e+3 1.92e+3 ... 2.34e+3 2.48e+3 β 4.30e+3 4.44e+3 ... 4.86e+3 5.00e+3 ββ
- βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β
- ββ4 @ 2 β 1.04e+2 2.44e+2 ... 6.64e+2 8.04e+2 β 2.62e+3 2.76e+3 ... 3.18e+3 3.32e+3 ββ
- ββaxis 3β 9.44e+2 1.08e+3 ... 1.50e+3 1.64e+3 β 3.46e+3 3.60e+3 ... 4.02e+3 4.16e+3 ββ
- ββ β 1.78e+3 1.92e+3 ... 2.34e+3 2.48e+3 β 4.30e+3 4.44e+3 ... 4.86e+3 5.00e+3 ββ
- βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
...TRUNCATED BY DUNE...
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ b;
- [%expect
- {|
- ββββββββββββββββββββββββββββββββββ
- β[1]: r3x4x1 shape 0:3|2:1->1:4 β
- βββββββββ¬βββββββ¬βββββββ¬βββββββββββ
- ββ β0 @ 0 β1 @ 0 β2 @ 0 ββ
- ββ βaxis 2βaxis 2βaxis 2 ββ
- βββββββββΌβββββββΌβββββββΌββββββββββ€β
- ββaxis 1β 0.00 β 4.00 β 8.00 ββ
- ββ β 1.00 β 5.00 β 9.00 ββ
- ββ β 2.00 β 6.00 β 1.00e+1 ββ
- ββ β 3.00 β 7.00 β 1.10e+1 ββ
- βββββββββ΄βββββββ΄βββββββ΄βββββββββββ
- ββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ c;
- [%expect
- {|
- βββββββββββββββββββββββββββββββββββββββββββββββ
- β[2]: ;=>_c shape 0:3|1:4 β
- βββββββββ¬ββββββββββββββββββββββββββββββββββββββ
- ββ βaxis 1 ββ
- βββββββββΌβββββββββββββββββββββββββββββββββββββ€β
- ββaxis 0β 0.00 5.00 1.20e+1 2.10e+1 ββ
- ββ β 4.80e+1 6.50e+1 8.40e+1 1.05e+2 ββ
- ββ β 1.60e+2 1.89e+2 2.20e+2 2.53e+2 ββ
- βββββββββ΄ββββββββββββββββββββββββββββββββββββββ
- βββββββββββββββββββββββββββββββββββββββββββββββ
- |}]
+ [%expect.unreachable]
+[@@expect.uncaught_exn {|
+ (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+ This is strongly discouraged as backtraces are fragile.
+ Please change this test to not include a backtrace. *)
+ "Assert_failure arrayjit/lib/low_level.ml:623:44"
+ Raised at Ir__Low_level.cleanup_virtual_llc.loop_float.(fun) in file "arrayjit/lib/low_level.ml", line 623, characters 44-70
+ Called from Base__List0.iter in file "src/list0.ml", line 66, characters 4-7
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 623, characters 8-71
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 590, characters 29-62
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 610, characters 55-88
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml" (inlined), line 594, characters 15-44
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 626, characters 54-63
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 586, characters 38-71
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
+ Called from Base__List.filter_map in file "src/list.ml", line 1133, characters 11-15
+ Called from Base__List.filter_map in file "src/list.ml", line 1135, characters 22-38
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 556, characters 19-42
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 556, characters 19-64
+ Called from Ir__Low_level.cleanup_virtual_llc in file "arrayjit/lib/low_level.ml", line 633, characters 36-89
+ Called from Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 857-858, characters 7-67
+ Re-raised at Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 846-863, characters 30-35
+ Called from Ir__Low_level.optimize in file "arrayjit/lib/low_level.ml", line 1126, characters 15-47
+ Called from Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 419, characters 2-75
+ Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", lines 412-419, characters 22-75
+ Called from Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 193-194, characters 4-45
+ Re-raised at Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 185-194, characters 34-47
+ Called from Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 356, characters 6-61
+ Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 355-356, characters 4-61
+ Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 354-362, characters 26-99
+ Called from Ocannl__Train.forward_and_ctx in file "lib/train.ml", line 494, characters 37-90
+ Re-raised at Ocannl__Train.forward_and_ctx in file "lib/train.ml", lines 488-497, characters 32-17
+ Called from Ocannl__Train.forward_and_forget in file "lib/train.ml", line 501, characters 12-75
+ Called from Tutorials__Einsum_trivia.(fun) in file "test/einsum_trivia.ml", line 1371, characters 2-40
+ Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+
+ Trailing output
+ ---------------
+ derive_projections
+ derive_projections
+ derive_projections
+ |}]
let%expect_test "outer_sum simulating axis concatenation" =
Tensor.unsafe_reinitialize ();
@@ -1439,178 +643,55 @@ let%expect_test "outer_sum simulating axis concatenation" =
Train.set_hosted tk.value;
Train.forward_and_forget backend ctx positions;
Tensor.print ~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 β β
- βββββββββ΄βββββββββββββββββββ β
- ββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
Tensor.print ~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 ββ
- βββββββββ΄ββββββββββββββββββββ
- βββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
Tensor.print ~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 ββ
- βββββββββ΄ββββββββββββββββββββ
- βββββββββββββββββββββββββββββ
- |}]
+ [%expect.unreachable]
+[@@expect.uncaught_exn {|
+ (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+ This is strongly discouraged as backtraces are fragile.
+ Please change this test to not include a backtrace. *)
+ "Assert_failure arrayjit/lib/low_level.ml:623:44"
+ Raised at Ir__Low_level.cleanup_virtual_llc.loop_float.(fun) in file "arrayjit/lib/low_level.ml", line 623, characters 44-70
+ Called from Base__List0.iter in file "src/list0.ml", line 66, characters 4-7
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 623, characters 8-71
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 590, characters 29-62
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 610, characters 55-88
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 586, characters 38-71
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
+ Called from Base__List.filter_map in file "src/list.ml", line 1133, characters 11-15
+ Called from Base__List.filter_map in file "src/list.ml", line 1135, characters 22-38
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 556, characters 19-42
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 556, characters 19-64
+ Called from Ir__Low_level.cleanup_virtual_llc in file "arrayjit/lib/low_level.ml", line 633, characters 36-89
+ Called from Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 857-858, characters 7-67
+ Re-raised at Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 846-863, characters 30-35
+ Called from Ir__Low_level.optimize in file "arrayjit/lib/low_level.ml", line 1126, characters 15-47
+ Called from Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 419, characters 2-75
+ Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", lines 412-419, characters 22-75
+ Called from Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 193-194, characters 4-45
+ Re-raised at Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 185-194, characters 34-47
+ Called from Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 356, characters 6-61
+ Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 355-356, characters 4-61
+ Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 354-362, characters 26-99
+ Called from Ocannl__Train.forward_and_ctx in file "lib/train.ml", line 494, characters 37-90
+ Re-raised at Ocannl__Train.forward_and_ctx in file "lib/train.ml", lines 488-497, characters 32-17
+ Called from Ocannl__Train.forward_and_forget in file "lib/train.ml", line 501, characters 12-75
+ Called from Tutorials__Einsum_trivia.(fun) in file "test/einsum_trivia.ml", line 1440, characters 2-48
+ Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+
+ Trailing output
+ ---------------
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ derive_projections
+ |}]
let%expect_test "einsum with a leftmost input axis preserved as output axis" =
Tensor.unsafe_reinitialize ();
@@ -1633,71 +714,57 @@ let%expect_test "einsum with a leftmost input axis preserved as output axis" =
let%op c = a *+ "...|i->1; ...|j...->i => ...|ij" b in
Train.forward_and_forget backend ctx c;
Tensor.print ~with_code:false ~with_grad:false `Default @@ a;
- [%expect
- {|
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[0]: r3x2x4_a shape 0:3|2:4->1:2 β
- βββββββββ¬βββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
- ββ β0 @ 0 β1 @ 0 β2 @ 0 ββ
- ββ βaxis 2 βaxis 2 βaxis 2 ββ
- βββββββββΌβββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ€β
- ββaxis 1β 0.00 1.00 2.00 3.00 β 8.00 9.00 1.00e+1 1.10e+1 β 1.60e+1 1.70e+1 1.80e+1 1.90e+1 ββ
- ββ β 4.00 5.00 6.00 7.00 β 1.20e+1 1.30e+1 1.40e+1 1.50e+1 β 2.00e+1 2.10e+1 2.20e+1 2.30e+1 ββ
- βββββββββ΄βββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββ
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ b;
- [%expect
- {|
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[1]: r3x4x2x3_b shape 0:3|2:2,3:3->1:4 β
- βββββββββ¬ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
- ββ0 @ 0 β0 @ 2 β1 @ 2 ββ
- ββ βaxis 3 βaxis 3 ββ
- βββββββββΌββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β
- ββaxis 1β 0.00 1.00 2.00 β 3.00 4.00 5.00 ββ
- ββ β 6.00 7.00 8.00 β 9.00 1.00e+1 1.10e+1 ββ
- ββ β 1.20e+1 1.30e+1 1.40e+1 β 1.50e+1 1.60e+1 1.70e+1 ββ
- ββ β 1.80e+1 1.90e+1 2.00e+1 β 2.10e+1 2.20e+1 2.30e+1 ββ
- βββββββββ΄ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
- βββββββββ¬ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
- ββ1 @ 0 β0 @ 2 β1 @ 2 ββ
- ββ βaxis 3 βaxis 3 ββ
- βββββββββΌββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β
- ββaxis 1β 2.40e+1 2.50e+1 2.60e+1 β 2.70e+1 2.80e+1 2.90e+1 ββ
- ββ β 3.00e+1 3.10e+1 3.20e+1 β 3.30e+1 3.40e+1 3.50e+1 ββ
- ββ β 3.60e+1 3.70e+1 3.80e+1 β 3.90e+1 4.00e+1 4.10e+1 ββ
- ββ β 4.20e+1 4.30e+1 4.40e+1 β 4.50e+1 4.60e+1 4.70e+1 ββ
- βββββββββ΄ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
- βββββββββ¬ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
- ββ2 @ 0 β0 @ 2 β1 @ 2 ββ
- ββ βaxis 3 βaxis 3 ββ
- βββββββββΌββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β
- ββaxis 1β 4.80e+1 4.90e+1 5.00e+1 β 5.10e+1 5.20e+1 5.30e+1 ββ
- ββ β 5.40e+1 5.50e+1 5.60e+1 β 5.70e+1 5.80e+1 5.90e+1 ββ
- ββ β 6.00e+1 6.10e+1 6.20e+1 β 6.30e+1 6.40e+1 6.50e+1 ββ
- ββ β 6.60e+1 6.70e+1 6.80e+1 β 6.90e+1 7.00e+1 7.10e+1 ββ
- βββββββββ΄ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ
- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ c;
- [%expect
- {|
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[2]: ;=>_c shape 0:3|1:4,2:2 β
- βββββββββ¬βββββββββββββββββββ¬βββββββββββββββββββ¬ββββββββββββββββββββ
- ββ β0 @ 0 β1 @ 0 β2 @ 0 ββ
- ββ βaxis 2 βaxis 2 βaxis 2 ββ
- βββββββββΌβββββββββββββββββββΌβββββββββββββββββββΌβββββββββββββββββββ€β
- ββaxis 1β 1.20e+1 4.80e+1 β 9.00e+2 1.00e+3 β 2.94e+3 3.12e+3 ββ
- ββ β 1.05e+2 1.50e+2 β 1.20e+3 1.32e+3 β 3.46e+3 3.65e+3 ββ
- ββ β 2.34e+2 2.88e+2 β 1.55e+3 1.68e+3 β 4.02e+3 4.22e+3 ββ
- ββ β 3.99e+2 4.62e+2 β 1.93e+3 2.07e+3 β 4.62e+3 4.83e+3 ββ
- βββββββββ΄βββββββββββββββββββ΄βββββββββββββββββββ΄ββββββββββββββββββββ
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}]
+ [%expect.unreachable]
+[@@expect.uncaught_exn {|
+ (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+ This is strongly discouraged as backtraces are fragile.
+ Please change this test to not include a backtrace. *)
+ "Assert_failure arrayjit/lib/low_level.ml:623:44"
+ Raised at Ir__Low_level.cleanup_virtual_llc.loop_float.(fun) in file "arrayjit/lib/low_level.ml", line 623, characters 44-70
+ Called from Base__List0.iter in file "src/list0.ml", line 66, characters 4-7
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 623, characters 8-71
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 590, characters 29-62
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 610, characters 55-88
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml" (inlined), line 594, characters 15-44
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 626, characters 54-63
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml" (inlined), line 594, characters 15-44
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 626, characters 54-63
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 586, characters 38-71
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 571, characters 15-48
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
+ Called from Base__List.filter_map in file "src/list.ml", line 1133, characters 11-15
+ Called from Base__List.filter_map in file "src/list.ml", line 1135, characters 22-38
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 556, characters 19-42
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 556, characters 19-64
+ Called from Ir__Low_level.cleanup_virtual_llc in file "arrayjit/lib/low_level.ml", line 633, characters 36-89
+ Called from Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 857-858, characters 7-67
+ Re-raised at Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 846-863, characters 30-35
+ Called from Ir__Low_level.optimize in file "arrayjit/lib/low_level.ml", line 1126, characters 15-47
+ Called from Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 419, characters 2-75
+ Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", lines 412-419, characters 22-75
+ Called from Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 193-194, characters 4-45
+ Re-raised at Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 185-194, characters 34-47
+ Called from Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 356, characters 6-61
+ Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 355-356, characters 4-61
+ Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 354-362, characters 26-99
+ Called from Ocannl__Train.forward_and_ctx in file "lib/train.ml", line 494, characters 37-90
+ Re-raised at Ocannl__Train.forward_and_ctx in file "lib/train.ml", lines 488-497, characters 32-17
+ Called from Ocannl__Train.forward_and_forget in file "lib/train.ml", line 501, characters 12-75
+ Called from Tutorials__Einsum_trivia.(fun) in file "test/einsum_trivia.ml", line 1634, characters 2-40
+ Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+
+ Trailing output
+ ---------------
+ derive_projections
+ derive_projections
+ derive_projections
+ |}]
let%expect_test "einsum permuting two leftmost input axes as output axes" =
Tensor.unsafe_reinitialize ();
@@ -1716,46 +783,51 @@ let%expect_test "einsum permuting two leftmost input axes as output axes" =
let%op c = a *+ "i->1; ij...->0 => ...->ji" b in
Train.forward_and_forget backend ctx c;
Tensor.print ~with_code:false ~with_grad:false `Default @@ a;
- [%expect
- {|
- βββββββββββββββββββββββββββββ
- β[0]: r2x2_a shape 1:2->0:2 β
- βββββββββ¬βββββββββββββ β
- ββ βaxis 1 β β
- βββββββββΌβββββββββββββ€ β
- ββaxis 0β 0.00 1.00 β β
- ββ β 2.00 3.00 β β
- βββββββββ΄βββββββββββββ β
- βββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ b;
- [%expect
- {|
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[1]: r2x2x3x4_b shape 1:2,2:3,3:4->0:2 β
- βββββββββ¬βββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
- ββ β0 @ 2 β1 @ 2 β2 @ 2 ββ
- ββ βaxis 3 βaxis 3 βaxis 3 ββ
- βββββββββΌβββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ€β
- ββ0 @ 1 β 0.00 1.00 2.00 3.00 β 4.00 5.00 6.00 7.00 β 8.00 9.00 1.00e+1 1.10e+1 ββ
- ββaxis 0β 2.40e+1 2.50e+1 2.60e+1 2.70e+1 β 2.80e+1 2.90e+1 3.00e+1 3.10e+1 β 3.20e+1 3.30e+1 3.40e+1 3.50e+1 ββ
- βββββββββΌβββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ€β
- ββ1 @ 1 β 1.20e+1 1.30e+1 1.40e+1 1.50e+1 β 1.60e+1 1.70e+1 1.80e+1 1.90e+1 β 2.00e+1 2.10e+1 2.20e+1 2.30e+1 ββ
- ββaxis 0β 3.60e+1 3.70e+1 3.80e+1 3.90e+1 β 4.00e+1 4.10e+1 4.20e+1 4.30e+1 β 4.40e+1 4.50e+1 4.60e+1 4.70e+1 ββ
- βββββββββ΄βββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββ
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}];
+ [%expect.unreachable];
Tensor.print ~with_code:false ~with_grad:false `Default @@ c;
- [%expect
- {|
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- β[2]: ;=>_c shape 2:4->0:3,1:2 β
- βββββββββ¬βββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
- ββ β0 @ 0 β1 @ 0 β2 @ 0 ββ
- ββ βaxis 2 βaxis 2 βaxis 2 ββ
- βββββββββΌβββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ€β
- ββaxis 1β 0.00 2.00 4.00 6.00 β 8.00 1.00e+1 1.20e+1 1.40e+1 β 1.60e+1 1.80e+1 2.00e+1 2.20e+1 ββ
- ββ β 3.60e+1 3.90e+1 4.20e+1 4.50e+1 β 4.80e+1 5.10e+1 5.40e+1 5.70e+1 β 6.00e+1 6.30e+1 6.60e+1 6.90e+1 ββ
- βββββββββ΄βββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββ
- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- |}]
+ [%expect.unreachable]
+[@@expect.uncaught_exn {|
+ (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+ This is strongly discouraged as backtraces are fragile.
+ Please change this test to not include a backtrace. *)
+ "Assert_failure arrayjit/lib/low_level.ml:623:44"
+ Raised at Ir__Low_level.cleanup_virtual_llc.loop_float.(fun) in file "arrayjit/lib/low_level.ml", line 623, characters 44-70
+ Called from Base__List0.iter in file "src/list0.ml", line 66, characters 4-7
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 623, characters 8-71
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 590, characters 29-62
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 610, characters 55-88
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml" (inlined), line 594, characters 15-44
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_float in file "arrayjit/lib/low_level.ml", line 626, characters 54-63
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 586, characters 38-71
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 568, characters 17-50
+ Called from Base__List.filter_map in file "src/list.ml", line 1133, characters 11-15
+ Called from Base__List.filter_map in file "src/list.ml", line 1135, characters 22-38
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 556, characters 19-42
+ Called from Ir__Low_level.cleanup_virtual_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 556, characters 19-64
+ Called from Ir__Low_level.cleanup_virtual_llc in file "arrayjit/lib/low_level.ml", line 633, characters 36-89
+ Called from Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 857-858, characters 7-67
+ Re-raised at Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 846-863, characters 30-35
+ Called from Ir__Low_level.optimize in file "arrayjit/lib/low_level.ml", line 1126, characters 15-47
+ Called from Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 419, characters 2-75
+ Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", lines 412-419, characters 22-75
+ Called from Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 193-194, characters 4-45
+ Re-raised at Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 185-194, characters 34-47
+ Called from Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 356, characters 6-61
+ Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 355-356, characters 4-61
+ Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 354-362, characters 26-99
+ Called from Ocannl__Train.forward_and_ctx in file "lib/train.ml", line 494, characters 37-90
+ Re-raised at Ocannl__Train.forward_and_ctx in file "lib/train.ml", lines 488-497, characters 32-17
+ Called from Ocannl__Train.forward_and_forget in file "lib/train.ml", line 501, characters 12-75
+ Called from Tutorials__Einsum_trivia.(fun) in file "test/einsum_trivia.ml", line 1717, characters 2-40
+ Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+
+ Trailing output
+ ---------------
+ derive_projections
+ derive_projections
+ derive_projections
+ |}]
File "test/dune", line 4, characters 7-30:
4 | (name moons_demo_parallel_run)
^^^^^^^^^^^^^^^^^^^^^^^
(cd _build/default/test && ./moons_demo_parallel_run.exe)
Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
("Set log_level to" 1)
ββ{orphaned from #24}
Retrieving commandline, environment, or config file variable ocannl_backend
Found multicore_cc, in the config file
Properties of devices:
(multicore_devices
(device ((device_name CPU) (device_ordinal 0) (num_domains 72))))
@!derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
derive_projections
Retrieving commandline, environment, or config file variable ocannl_prefer_backend_uniformity
Found true, in the config file
Retrieving commandline, environment, or config file variable ocannl_debug_log_to_stream_files
Not found, using default false
Retrieving commandline, environment, or config file variable ocannl_ll_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_cc_backend_optimization_level
Not found, using default 3
Retrieving commandline, environment, or config file variable ocannl_cc_backend_compiler_command
Not found, using default gcc
Fatal error: exception (Option.value_exn arrayjit/lib/backends.ml:289:28)
Raised at Base__Error.raise in file "src/error.ml" (inlined), line 9, characters 21-37
Called from Base__Option.value_exn in file "src/option.ml", line 119, characters 4-21
Called from Backends.Add_device.link_batch in file "arrayjit/lib/backends.ml", line 289, characters 5-44
Called from Backends.Raise_backend.link_batch in file "arrayjit/lib/backends.ml", line 467, characters 30-81
Called from Ocannl__Train.parallel_update.(fun) in file "lib/train.ml", line 270, characters 26-90
Re-raised at Ocannl__Train.parallel_update.(fun) in file "lib/train.ml", line 270, characters 10-91
Re-raised at Ocannl__Train.parallel_update.(fun) in file "lib/train.ml", lines 268-271, characters 23-18
Called from Base__Array0.mapi in file "src/array0.ml", line 142, characters 24-46
Called from Ocannl__Train.parallel_update in file "lib/train.ml", lines 268-271, characters 4-18
Re-raised at Ocannl__Train.parallel_update in file "lib/train.ml", lines 265-271, characters 2-18
Re-raised at Ocannl__Train.parallel_update in file "lib/train.ml", lines 233-318, characters 32-69
Called from Ocannl__Train.example_train_loop in file "lib/train.ml", lines 415-425, characters 4-39
Called from Dune__exe__Moons_demo_parallel_run.main in file "test/moons_demo_parallel_run.ml", lines 65-69, characters 4-8
Called from Base__Exn.protectx in file "src/exn.ml", line 79, characters 8-11
Re-raised at Base__Exn.raise_with_original_backtrace in file "src/exn.ml" (inlined), line 59, characters 2-50
Called from Base__Exn.protectx in file "src/exn.ml", line 86, characters 13-49
Called from Base__Exn.protect in file "src/exn.ml" (inlined), line 92, characters 26-49
Called from Dune__exe__Moons_demo_parallel_run in file "test/moons_demo_parallel_run.ml", line 90, characters 2-53
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2025-06-27 12:30.51: Job failed: Failed: Build failed