sci-ml/fastflowlm
NPU-first LLM runtime for AMD Ryzen AI (XDNA2) processors
ChangeLog
commit acdbd5a123371d5fee9c0ca0eb8996ce4e281fe3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 10:46:10 2026 +0200
sci-ml/fastflowlm: trim 1.0.4 comments
commit cbd87aeecdf2d1be57ec49069b2acd682d0fb0c6
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 10:46:10 2026 +0200
sci-ml/fastflowlm: trim 1.0.3 comments
commit 87c41471af93ec15db1a75a13d28fc83924ce64c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 10:46:10 2026 +0200
sci-ml/fastflowlm: trim 0.9.46 comments
commit 4505b0f35af9e174519e8b5a2d34b36994111adb
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 00:50:28 2026 +0200
sci-ml/fastflowlm: trim 1.0.5 comments
commit f84736a04767a1fa90d0b8172879e0fb4b493906
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 05:41:59 2026 +0200
sci-ml/fastflowlm: trim live comment prose
commit 9ba721f5bc65202d439c54d482f680b9783eeed1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:59:37 2026 +0200
sci-ml/fastflowlm: fix libdir in live ebuild
The previous ebuild behavior no longer matches the supported upstream
build or runtime interface.
commit 2bbd352b1f7bb32373ac5bfed6d1d1fea189d990
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:59:20 2026 +0200
sci-ml/fastflowlm: backport libdir fix to 0.9.46
Retained releases must locate the installed backend through Gentoo
multilib paths instead of assuming usr/lib.
commit 78f2f44fd82636de6bac3fc4ef436a6ea337eacc
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:58:59 2026 +0200
sci-ml/fastflowlm: backport libdir fix to 1.0.3
Retained releases must locate the installed backend through Gentoo
multilib paths instead of assuming usr/lib.
commit 053b0cd35ecb9c540dc25ff3f7c86078f0593133
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:58:35 2026 +0200
sci-ml/fastflowlm: backport libdir fixes to 1.0.4
Retained releases must locate the installed backend through Gentoo
multilib paths instead of assuming usr/lib.
commit ff9d7318fb0828a9f8a9f7cebd33c94b539e7f68
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:11:34 2026 +0200
sci-ml/fastflowlm: add 1.0.5
commit b104e83c659a81589af157648e691d833324205e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:02:55 2026 +0200
sci-ml/fastflowlm: restrict mirroring 1.0.4
The upstream artifact is not suitable for redistribution through
Gentoo mirrors, so retained releases need the same restriction as
the current ebuild.
commit fdaa5867c2e52f397c9f9179dff25a1772e1a37c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:01:54 2026 +0200
sci-ml/fastflowlm: restrict mirroring 1.0.3
The upstream artifact is not suitable for redistribution through
Gentoo mirrors, so retained releases need the same restriction as
the current ebuild.
commit cb3fdbb2b762a0c2969f5b9277d159b42bd20907
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:01:44 2026 +0200
sci-ml/fastflowlm: restrict mirroring 0.9.46
The upstream artifact is not suitable for redistribution through
Gentoo mirrors, so retained releases need the same restriction as
the current ebuild.
commit cb37d4764605f915afc3853e32be004edbac85f1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:00:40 2026 +0200
sci-ml/fastflowlm: fix live property in 1.0.4
Versioned releases must remain ordinary fetchable packages; only the
live ebuild may carry live-package semantics.
commit ebd5e4e719c512680532db9f3b6640dfa98c1fe2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:00:30 2026 +0200
sci-ml/fastflowlm: fix live property in 1.0.3
Versioned releases must remain ordinary fetchable packages; only the
live ebuild may carry live-package semantics.
commit ab971c0bfebbf62cad71feb08e7b1c268ad73f9a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:00:23 2026 +0200
sci-ml/fastflowlm: fix live property in 0.9.46
Versioned releases must remain ordinary fetchable packages; only the
live ebuild may carry live-package semantics.
commit 4c3fcc8e966729edd139862fa42cd234da69f5de
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 2 09:25:39 2026 +0200
sci-ml/fastflowlm: drop 1.0.1, 1.0.2
Retention: 0.9.46 stays as the last of the 0.x line, 1.0.3 and 1.0.4
are the newest two. Both dropped ebuilds differ from what remains only
in dated verification comments and in predating the 1.0.3
requantisation ewarn -- no unique build or runtime capability goes with
them.
commit abacde61ded00c155e7543cf8aa4de61a5aedf4c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 2 09:25:38 2026 +0200
sci-ml/fastflowlm: add 1.0.4
Deps unchanged. Re-checked the two things this ebuild's own convention
says to re-check on every bump, rather than carrying them forward
blind:
The tokenizers-cpp gitlink is still acbdc5a at v1.0.4, identical to
v1.0.3, so TOKENIZERS_CPP_COMMIT stands and the nested sentencepiece
and msgpack pins inside it are unmoved as well.
The CMake build interface is unchanged apart from one added target:
src/CMakeLists.txt gains gemma4_12b_npu and nothing else, with the
option() and find_package() surfaces byte-identical to 1.0.3. So no
dependency moves.
Build-verified on haarmek, and checked the delta actually landed rather
than just that the build was green: libgemma4_12b_npu.so is present in
the image alongside the other 22 model libraries, and bin/flm installs.
The 1.0.3 Qwen3.5/Qwen3.6-MoE requantisation ewarn carries forward
unchanged. verified 2026-09-02
commit 0607ece91488c8857fcbc7e9975bc98cfa66ae37
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 27 09:31:40 2026 +0200
sci-ml/fastflowlm: add 1.0.3
commit cd953202ae773c82c8ca4d561c6489c3bd5d8505
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 20 10:20:46 2026 +0200
sci-ml/fastflowlm: drop 1.0.0
commit df9b762d1efdde03614b2c5b3698a72e506d19b1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 20 10:20:40 2026 +0200
sci-ml/fastflowlm: add 1.0.2
commit aee606d3a536b9d1be5692df5e52a9115fdbcfff
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 16 16:08:01 2026 +0200
sci-ml/fastflowlm: add ncurses dependency
The non-portable Linux build requires the ncursesw pkg-config module and links it
into the runtime. Declare ncurses explicitly rather than relying on an incidental
installation.
commit b12547123095b3931491eb572ee8cddf14a99c1c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Aug 14 21:12:09 2026 +0200
sci-ml/fastflowlm: follow ROCm repository move
The upstream repository moved to the ROCm organization. Update package metadata and
all user-facing issue references to the canonical location.
commit 3a6762b582a565d4b956f98937736bf406df7058
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Aug 14 09:41:47 2026 +0200
sci-ml/fastflowlm: normalize copyright header
Use the overlay-wide required copyright range consistently across retained and live
ebuilds.
commit 1c3576145edb355c281bcd3f41a6a9e4dcbe923c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Aug 12 09:19:44 2026 +0200
sci-ml/fastflowlm: add 1.0.1
commit 63dc95edace90a9c75eb23f818608bb1e80015e0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Aug 11 23:50:50 2026 +0200
sci-ml/fastflowlm: drop 0.9.45
commit 5895ed7da8ef2d0ec1edc42406face6d4db95117
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Aug 11 23:50:50 2026 +0200
sci-ml/fastflowlm: add 1.0.0
commit 27299d71b68bc415d0fff013d4013791f4df8628
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 29 10:40:19 2026 +0200
sci-ml/fastflowlm: drop 0.9.44
commit 856b624dd7247ad35e194233d6680c4474d9dae8
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 29 10:40:18 2026 +0200
sci-ml/fastflowlm: add 0.9.46
commit 30692f441f189400c4c7f45b1d200d4ea5c4fffc
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 29 10:37:43 2026 +0200
sci-ml/fastflowlm: switch upstream to the ROCm org
AMD adopted FastFlowLM into the ROCm organisation, and ROCm/FastFlowLM is
now the canonical home where newer releases land. The vX.Y.Z tags mirror
the original repo commit-for-commit, so the release tarballs are
byte-identical and the Manifest is unchanged.
Retarget SRC_URI and HOMEPAGE on the release ebuild and EGIT_REPO_URI on
the live ebuild. The #545 issue references stay on FastFlowLM/FastFlowLM,
which is still live and carries the issue history.
ROCm/FastFlowLM keeps FastFlowLM's own vX.Y.Z tags rather than the
org-wide rocm-X.Y.Z convention, so nvchecker's blanket ROCm-org filter
would match zero tags and silently drop tracking; a per-package override
pins the v-scheme, and the regenerated config tracks the new repo.
commit 669c42f25c1c649a406d2d2d951a64c5cf844341
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jul 27 21:02:36 2026 +0200
sci-ml/fastflowlm: restore the copyright header to line 1
A stray blank line preceded the header in the live ebuild, so the file
did not open with the copyright notice the header format requires.
The header checks are commit-scoped: they compare a file against the
commit that touches it, and never re-examine it afterwards. Once the
blank line had landed, no amount of full-tree scanning could surface
it again.
commit 263ac9de0f868422f19a12f154679b17914ef7f0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 11 09:13:36 2026 +0200
sci-ml/fastflowlm: drop 0.9.43-r1
commit c551e454e9dfa837e74384b741f053acb09bb7de
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 11 09:13:35 2026 +0200
sci-ml/fastflowlm: add 0.9.45
commit 695e6cf6714b7059991443fc2d3f94e9982667cf
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jul 6 01:30:09 2026 +0200
sci-ml/fastflowlm: drop 0.9.42-r1
Retain the last two releases (0.9.43-r1, 0.9.44).
commit 0822fb1a08951be44589366b91189b0ac5178165
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jul 6 01:30:09 2026 +0200
sci-ml/fastflowlm: add 0.9.44
New upstream release. The tokenizers-cpp/sentencepiece/msgpack submodule
pins are unchanged from 0.9.43, and the CMakeLists install rules the
ebuild depends on are intact (re-verified against v0.9.44). #545 (Whisper
config crash) is not fixed upstream, so the workaround helper stays.
commit ec166869bde79f5db3c7f274f906572a56b28324
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jun 6 20:55:49 2026 +0200
sci-ml/fastflowlm: drop 0.9.40-r1, 0.9.41-r1
commit 7c384c8cac70105c06770e0ccb7af0fc295f2471
Author: Raukaan Cogbrother <cogbrother@raukaan.local>
Date: Sun May 31 03:29:35 2026 +0200
metadata: normalize tab → 2-space indent in 42 imported files
42 metadata.xml files inherited tab indentation from their origin
overlays (mostly the ROCm cluster, plus a handful of dev-python and
AMD-tooling imports). The overlay convention is 2-space; this brings
them in line with the other 498 files. Maintainer attributions
preserved verbatim.
commit dc43643ab26b51b7d29843f8879f257ff10b76e3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 27 18:20:35 2026 +0200
sci-ml/fastflowlm: set CMAKE_XCLBIN_PREFIX so the runtime finds xclbins
Upstream's linux-default cmake preset sets it to match the install
rule's share/flm DESTINATION; src_configure doesn't drive the build
via the preset, so without an explicit -D the macro was baked as ""
and the runtime fell back to dirname(/proc/self/exe), looking under
bin/xclbins/ instead of share/flm/xclbins/. #269.
commit 97b222aeced2669a0c84267c1de0b8a6574292e2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 27 13:14:09 2026 +0200
sci-misc/llama-swap, sci-ml/fastflowlm: add openrc + systemd services
Both get supervise-daemon-driven openrc init.d/conf.d and a systemd
per-instance template (pkg@<user>.service). Runners are USE-gated
and default off; the existing manual-start flow stays the unchanged
baseline.
llama-swap openrc refuses to start until LLAMA_SWAP_USER is set;
auto-derives LLAMA_SWAP_CONFIG from that user's $HOME via getent if
unset. Listener defaults to 127.0.0.1:8080 so a fresh install doesn't
expose the LLM API to the LAN. systemd unit has no default
LLAMA_SWAP_CONFIG -- systemd's %h resolves to /root for system-
manager units and /home/%i would bake in a passwd layout we can't
promise -- so EnvironmentFile=/etc/default/llama-swap@%i is required.
fastflowlm openrc refuses to start until FLM_USER is set; rc_ulimit
'-l unlimited' (and LimitMEMLOCK=infinity in systemd) is needed
because flm mlocks NPU buffers. systemd ExecStart goes through
/bin/sh -c with $$ escapes so ${FLM_PORT:+--port "$FLM_PORT"}
parameter expansion runs in the shell -- systemd's variable parser
has no :+ semantics.
Hardening:
- llama-swap: ProtectSystem=full rather than =strict so backends
spawned by it (llama.cpp et al.) can still write to ~/.cache/.
- fastflowlm: deliberately omits ProtectKernelTunables (NPU power-
mode may touch /sys/) and MemoryDenyWriteExecute (XDNA path may
use JIT); revisit once empirically verified safe.
Service files live at files/<pkg>.service (no @) because pkgcheck
BannedCharacter rejects @ in files/* filenames; systemd_newunit's
target arg adds the @ at install.
commit 73ec11612adb4a09558b153fa200ad19050f992b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 27 11:57:40 2026 +0200
sci-ml/fastflowlm: add 0.9.43
Only ebuild-level change: TOKENIZERS_CPP_COMMIT reverted from 0.9.42's
34885cf back to acbdc5a (the 0.9.41-and-earlier pin). nested
sentencepiece + msgpack pins at acbdc5a still match the existing
values, so MSGPACK_COMMIT and SENTENCEPIECE_COMMIT stay put.
src/CMakeLists.txt is byte-identical to 0.9.42, so the sed pattern
stripping the symlink-into-/usr/local/bin block and the
NPU_VERSION/FLM_VERSION cmake args still apply unchanged. Verification
stamp re-dated accordingly.
Upstream substance is mostly in the model code: a new
common/whisper/ subsystem (which links a libwhisper_npu .so into the
binary) and a Whisper_Config : LM_Config subclass land in 0.9.43.
src/include/utils/json_check.hpp -- the validator that triggered
the #545 Whisper crash -- was deleted, which may mean the workaround
in flm-patch-whisper / the ewarn is no longer necessary. Conservative
call: keep both for one release cycle; if no user reports needing
the patch we can drop the ewarn at the next bump.
Build-checked locally: 91/91 ninja targets clean against
=fastflowlm-0.9.43 (default USE; no IUSE flags).
commit b17a9c755ac32614184a0cf85eb1eb0f8c6a13d3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon May 25 16:07:27 2026 +0200
sci-ml/fastflowlm: ship flm-patch-whisper helper (upstream #545)
flm crashes at startup on any invocation that loads whisper-v3:turbo
because LM_Config::from_pretrained asserts on decoder-only LM-shape
fields (hidden_size, intermediate_size, num_attention_heads,
num_hidden_layers, num_key_value_heads) that HuggingFace's Whisper
config.json doesn't carry — Whisper uses the encoder-decoder
equivalents (d_model, encoder_ffn_dim, encoder_attention_heads,
encoder_layers) instead.
Ship a small Python helper at /usr/bin/flm-patch-whisper that walks
~/.config/flm/models/* (honoring $FLM_MODEL_PATH), finds Whisper
configs missing the decoder-only fields, and adds them with values
mapped from the encoder-* keys; idempotent on repeat runs. A
pkg_postinst ewarn points users at it as the required follow-up
after `flm pull whisper-v3:turbo`. Drop both once upstream merges
a real fix for issue #545.
commit d7891d49aca438b2da5ea2a5aceaf7f7dcfe40fd
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu May 14 11:49:41 2026 +0200
sci-ml/fastflowlm: add 0.9.42
commit c79366016e1891d1f4f488e0357c8b134de7b160
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 13 14:15:10 2026 +0200
sci-ml/fastflowlm: drop 0.9.38, 0.9.39
commit 27ae6103d77b7d627bf17bd5517801eada91dcd7
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon May 11 21:11:45 2026 +0200
sci-ml/fastflowlm: add 0.9.38
Older release retained alongside the newer ones. Third-party submodule
pins (tokenizers-cpp, sentencepiece, msgpack) are identical to 0.9.39's,
so the corresponding distfile entries already exist in the Manifest;
only fastflowlm-0.9.38.tar.gz is newly tracked.
commit e2f3b66d00008de38b637d8d7da84335eb1061db
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon May 11 17:34:26 2026 +0200
sci-ml/fastflowlm: add missing direct RDEPENDs
The flm binary links directly against libav{format,codec,util},
libsw{resample,scale}, libcurl, libboost_program_options, libfftw3f,
and libreadline (per readelf -d on /opt/fastflowlm/bin/flm), none of
which were declared. Build and merge succeed on systems where these
libraries are commonly installed; a minimal box could break after
depclean with no dependency trail.
Adds ffmpeg, curl, boost, fftw:3.0, and readline (subslot operators
for ABI tracking) to all four ebuild versions. Matches the Arch
official package's depends list and the build-deps documented in
upstream docs/linux-getting-started.md. Metadata-only — same binary
contents, same versions, just honest dependency declaration.
commit 95cd21b4cb4c970cd0bd2f8361bcf4f55aef2c51
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun May 10 00:29:00 2026 +0200
sci-ml/fastflowlm: drop www. prefix from HOMEPAGE
fastflowlm.com 308-redirects www.fastflowlm.com to the bare apex. Strip
the www. prefix across all four ebuilds (0.9.39/40/41 + 9999) so
pkgcheck stops reporting RedirectedUrl.
commit 262574fdcdf7dc7ee8c0257a476a8003bdd42e27
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 6 19:28:35 2026 +0200
sci-ml/fastflowlm: fix BDEPEND, sync -9999 with tagged ebuilds
- Replace nonexistent virtual/rust with || ( dev-lang/rust
dev-lang/rust-bin ) on 0.9.39, 0.9.40, 0.9.41.
- Add the same rust BDEPEND to -9999 (cargo via tokenizers-cpp/rust
is fetched and built on the live ebuild too).
- Add PROPERTIES=live + RESTRICT=network-sandbox to -9999 — same
cargo-fetch-online behavior that motivates them on the tagged
ebuilds; without RESTRICT, the build fails under sandbox.
- Carry the memlock/limits.d hint into -9999's pkg_postinst so the
NPU stack guidance is consistent across release and live.
commit 78b5135ded7e76a3cb7cf92b257b3334dc618063
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 6 19:15:28 2026 +0200
sci-ml/fastflowlm: add 0.9.40
Same submodule pin set as 0.9.39 (tokenizers-cpp acbdc5a, plus
unchanged sentencepiece + msgpack); ebuild byte-identical except
for filename.
commit d518de1486ae9354e400597aba4f888bf9c8ef6b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 6 19:13:36 2026 +0200
sci-ml/fastflowlm: new package, add 9999 + 0.9.39 + 0.9.41
NPU-first LLM runtime for AMD Ryzen AI XDNA2 processors.
Three ebuilds: live -9999 tracks upstream main (EGIT_SUBMODULES='*'),
0.9.39 + 0.9.41 are tagged releases with submodule commit pins
(tokenizers-cpp + nested sentencepiece + msgpack-c) baked into SRC_URI.
0.9.41 bumps tokenizers-cpp from acbdc5a to 34885cf; the nested pins
are unchanged.
Build keeps PROPERTIES=live + RESTRICT=network-sandbox because cargo
inside tokenizers-cpp/rust fetches crates online. src_prepare strips
upstream's symlink-into-/usr/local/bin block; we wrap flm via newbin
and env.d to set LD_LIBRARY_PATH for XRT + FLM_CONFIG_PATH defaults.
LICENSE='MIT FastFlowLM-Binary': orchestration MIT (LICENSE_RUNTIME),
NPU compute kernels proprietary (LICENSE_BINARY, free for commercial
use under USD 10M annual revenue).
RDEPEND on dev-util/xrt + dev-libs/{xdna-driver,xrt-xdna} not yet
present in this overlay or ::gentoo; ride along ::guru's xrt-2.21.75
stack for now (cascade in a follow-up commit).
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 10:46:10 2026 +0200
sci-ml/fastflowlm: trim 1.0.4 comments
commit cbd87aeecdf2d1be57ec49069b2acd682d0fb0c6
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 10:46:10 2026 +0200
sci-ml/fastflowlm: trim 1.0.3 comments
commit 87c41471af93ec15db1a75a13d28fc83924ce64c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 10:46:10 2026 +0200
sci-ml/fastflowlm: trim 0.9.46 comments
commit 4505b0f35af9e174519e8b5a2d34b36994111adb
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 00:50:28 2026 +0200
sci-ml/fastflowlm: trim 1.0.5 comments
commit f84736a04767a1fa90d0b8172879e0fb4b493906
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 05:41:59 2026 +0200
sci-ml/fastflowlm: trim live comment prose
commit 9ba721f5bc65202d439c54d482f680b9783eeed1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:59:37 2026 +0200
sci-ml/fastflowlm: fix libdir in live ebuild
The previous ebuild behavior no longer matches the supported upstream
build or runtime interface.
commit 2bbd352b1f7bb32373ac5bfed6d1d1fea189d990
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:59:20 2026 +0200
sci-ml/fastflowlm: backport libdir fix to 0.9.46
Retained releases must locate the installed backend through Gentoo
multilib paths instead of assuming usr/lib.
commit 78f2f44fd82636de6bac3fc4ef436a6ea337eacc
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:58:59 2026 +0200
sci-ml/fastflowlm: backport libdir fix to 1.0.3
Retained releases must locate the installed backend through Gentoo
multilib paths instead of assuming usr/lib.
commit 053b0cd35ecb9c540dc25ff3f7c86078f0593133
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:58:35 2026 +0200
sci-ml/fastflowlm: backport libdir fixes to 1.0.4
Retained releases must locate the installed backend through Gentoo
multilib paths instead of assuming usr/lib.
commit ff9d7318fb0828a9f8a9f7cebd33c94b539e7f68
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:11:34 2026 +0200
sci-ml/fastflowlm: add 1.0.5
commit b104e83c659a81589af157648e691d833324205e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:02:55 2026 +0200
sci-ml/fastflowlm: restrict mirroring 1.0.4
The upstream artifact is not suitable for redistribution through
Gentoo mirrors, so retained releases need the same restriction as
the current ebuild.
commit fdaa5867c2e52f397c9f9179dff25a1772e1a37c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:01:54 2026 +0200
sci-ml/fastflowlm: restrict mirroring 1.0.3
The upstream artifact is not suitable for redistribution through
Gentoo mirrors, so retained releases need the same restriction as
the current ebuild.
commit cb3fdbb2b762a0c2969f5b9277d159b42bd20907
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:01:44 2026 +0200
sci-ml/fastflowlm: restrict mirroring 0.9.46
The upstream artifact is not suitable for redistribution through
Gentoo mirrors, so retained releases need the same restriction as
the current ebuild.
commit cb37d4764605f915afc3853e32be004edbac85f1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:00:40 2026 +0200
sci-ml/fastflowlm: fix live property in 1.0.4
Versioned releases must remain ordinary fetchable packages; only the
live ebuild may carry live-package semantics.
commit ebd5e4e719c512680532db9f3b6640dfa98c1fe2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:00:30 2026 +0200
sci-ml/fastflowlm: fix live property in 1.0.3
Versioned releases must remain ordinary fetchable packages; only the
live ebuild may carry live-package semantics.
commit ab971c0bfebbf62cad71feb08e7b1c268ad73f9a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 23:00:23 2026 +0200
sci-ml/fastflowlm: fix live property in 0.9.46
Versioned releases must remain ordinary fetchable packages; only the
live ebuild may carry live-package semantics.
commit 4c3fcc8e966729edd139862fa42cd234da69f5de
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 2 09:25:39 2026 +0200
sci-ml/fastflowlm: drop 1.0.1, 1.0.2
Retention: 0.9.46 stays as the last of the 0.x line, 1.0.3 and 1.0.4
are the newest two. Both dropped ebuilds differ from what remains only
in dated verification comments and in predating the 1.0.3
requantisation ewarn -- no unique build or runtime capability goes with
them.
commit abacde61ded00c155e7543cf8aa4de61a5aedf4c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 2 09:25:38 2026 +0200
sci-ml/fastflowlm: add 1.0.4
Deps unchanged. Re-checked the two things this ebuild's own convention
says to re-check on every bump, rather than carrying them forward
blind:
The tokenizers-cpp gitlink is still acbdc5a at v1.0.4, identical to
v1.0.3, so TOKENIZERS_CPP_COMMIT stands and the nested sentencepiece
and msgpack pins inside it are unmoved as well.
The CMake build interface is unchanged apart from one added target:
src/CMakeLists.txt gains gemma4_12b_npu and nothing else, with the
option() and find_package() surfaces byte-identical to 1.0.3. So no
dependency moves.
Build-verified on haarmek, and checked the delta actually landed rather
than just that the build was green: libgemma4_12b_npu.so is present in
the image alongside the other 22 model libraries, and bin/flm installs.
The 1.0.3 Qwen3.5/Qwen3.6-MoE requantisation ewarn carries forward
unchanged. verified 2026-09-02
commit 0607ece91488c8857fcbc7e9975bc98cfa66ae37
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 27 09:31:40 2026 +0200
sci-ml/fastflowlm: add 1.0.3
commit cd953202ae773c82c8ca4d561c6489c3bd5d8505
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 20 10:20:46 2026 +0200
sci-ml/fastflowlm: drop 1.0.0
commit df9b762d1efdde03614b2c5b3698a72e506d19b1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 20 10:20:40 2026 +0200
sci-ml/fastflowlm: add 1.0.2
commit aee606d3a536b9d1be5692df5e52a9115fdbcfff
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 16 16:08:01 2026 +0200
sci-ml/fastflowlm: add ncurses dependency
The non-portable Linux build requires the ncursesw pkg-config module and links it
into the runtime. Declare ncurses explicitly rather than relying on an incidental
installation.
commit b12547123095b3931491eb572ee8cddf14a99c1c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Aug 14 21:12:09 2026 +0200
sci-ml/fastflowlm: follow ROCm repository move
The upstream repository moved to the ROCm organization. Update package metadata and
all user-facing issue references to the canonical location.
commit 3a6762b582a565d4b956f98937736bf406df7058
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Aug 14 09:41:47 2026 +0200
sci-ml/fastflowlm: normalize copyright header
Use the overlay-wide required copyright range consistently across retained and live
ebuilds.
commit 1c3576145edb355c281bcd3f41a6a9e4dcbe923c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Aug 12 09:19:44 2026 +0200
sci-ml/fastflowlm: add 1.0.1
commit 63dc95edace90a9c75eb23f818608bb1e80015e0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Aug 11 23:50:50 2026 +0200
sci-ml/fastflowlm: drop 0.9.45
commit 5895ed7da8ef2d0ec1edc42406face6d4db95117
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Aug 11 23:50:50 2026 +0200
sci-ml/fastflowlm: add 1.0.0
commit 27299d71b68bc415d0fff013d4013791f4df8628
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 29 10:40:19 2026 +0200
sci-ml/fastflowlm: drop 0.9.44
commit 856b624dd7247ad35e194233d6680c4474d9dae8
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 29 10:40:18 2026 +0200
sci-ml/fastflowlm: add 0.9.46
commit 30692f441f189400c4c7f45b1d200d4ea5c4fffc
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 29 10:37:43 2026 +0200
sci-ml/fastflowlm: switch upstream to the ROCm org
AMD adopted FastFlowLM into the ROCm organisation, and ROCm/FastFlowLM is
now the canonical home where newer releases land. The vX.Y.Z tags mirror
the original repo commit-for-commit, so the release tarballs are
byte-identical and the Manifest is unchanged.
Retarget SRC_URI and HOMEPAGE on the release ebuild and EGIT_REPO_URI on
the live ebuild. The #545 issue references stay on FastFlowLM/FastFlowLM,
which is still live and carries the issue history.
ROCm/FastFlowLM keeps FastFlowLM's own vX.Y.Z tags rather than the
org-wide rocm-X.Y.Z convention, so nvchecker's blanket ROCm-org filter
would match zero tags and silently drop tracking; a per-package override
pins the v-scheme, and the regenerated config tracks the new repo.
commit 669c42f25c1c649a406d2d2d951a64c5cf844341
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jul 27 21:02:36 2026 +0200
sci-ml/fastflowlm: restore the copyright header to line 1
A stray blank line preceded the header in the live ebuild, so the file
did not open with the copyright notice the header format requires.
The header checks are commit-scoped: they compare a file against the
commit that touches it, and never re-examine it afterwards. Once the
blank line had landed, no amount of full-tree scanning could surface
it again.
commit 263ac9de0f868422f19a12f154679b17914ef7f0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 11 09:13:36 2026 +0200
sci-ml/fastflowlm: drop 0.9.43-r1
commit c551e454e9dfa837e74384b741f053acb09bb7de
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 11 09:13:35 2026 +0200
sci-ml/fastflowlm: add 0.9.45
commit 695e6cf6714b7059991443fc2d3f94e9982667cf
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jul 6 01:30:09 2026 +0200
sci-ml/fastflowlm: drop 0.9.42-r1
Retain the last two releases (0.9.43-r1, 0.9.44).
commit 0822fb1a08951be44589366b91189b0ac5178165
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jul 6 01:30:09 2026 +0200
sci-ml/fastflowlm: add 0.9.44
New upstream release. The tokenizers-cpp/sentencepiece/msgpack submodule
pins are unchanged from 0.9.43, and the CMakeLists install rules the
ebuild depends on are intact (re-verified against v0.9.44). #545 (Whisper
config crash) is not fixed upstream, so the workaround helper stays.
commit ec166869bde79f5db3c7f274f906572a56b28324
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jun 6 20:55:49 2026 +0200
sci-ml/fastflowlm: drop 0.9.40-r1, 0.9.41-r1
commit 7c384c8cac70105c06770e0ccb7af0fc295f2471
Author: Raukaan Cogbrother <cogbrother@raukaan.local>
Date: Sun May 31 03:29:35 2026 +0200
metadata: normalize tab → 2-space indent in 42 imported files
42 metadata.xml files inherited tab indentation from their origin
overlays (mostly the ROCm cluster, plus a handful of dev-python and
AMD-tooling imports). The overlay convention is 2-space; this brings
them in line with the other 498 files. Maintainer attributions
preserved verbatim.
commit dc43643ab26b51b7d29843f8879f257ff10b76e3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 27 18:20:35 2026 +0200
sci-ml/fastflowlm: set CMAKE_XCLBIN_PREFIX so the runtime finds xclbins
Upstream's linux-default cmake preset sets it to match the install
rule's share/flm DESTINATION; src_configure doesn't drive the build
via the preset, so without an explicit -D the macro was baked as ""
and the runtime fell back to dirname(/proc/self/exe), looking under
bin/xclbins/ instead of share/flm/xclbins/. #269.
commit 97b222aeced2669a0c84267c1de0b8a6574292e2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 27 13:14:09 2026 +0200
sci-misc/llama-swap, sci-ml/fastflowlm: add openrc + systemd services
Both get supervise-daemon-driven openrc init.d/conf.d and a systemd
per-instance template (pkg@<user>.service). Runners are USE-gated
and default off; the existing manual-start flow stays the unchanged
baseline.
llama-swap openrc refuses to start until LLAMA_SWAP_USER is set;
auto-derives LLAMA_SWAP_CONFIG from that user's $HOME via getent if
unset. Listener defaults to 127.0.0.1:8080 so a fresh install doesn't
expose the LLM API to the LAN. systemd unit has no default
LLAMA_SWAP_CONFIG -- systemd's %h resolves to /root for system-
manager units and /home/%i would bake in a passwd layout we can't
promise -- so EnvironmentFile=/etc/default/llama-swap@%i is required.
fastflowlm openrc refuses to start until FLM_USER is set; rc_ulimit
'-l unlimited' (and LimitMEMLOCK=infinity in systemd) is needed
because flm mlocks NPU buffers. systemd ExecStart goes through
/bin/sh -c with $$ escapes so ${FLM_PORT:+--port "$FLM_PORT"}
parameter expansion runs in the shell -- systemd's variable parser
has no :+ semantics.
Hardening:
- llama-swap: ProtectSystem=full rather than =strict so backends
spawned by it (llama.cpp et al.) can still write to ~/.cache/.
- fastflowlm: deliberately omits ProtectKernelTunables (NPU power-
mode may touch /sys/) and MemoryDenyWriteExecute (XDNA path may
use JIT); revisit once empirically verified safe.
Service files live at files/<pkg>.service (no @) because pkgcheck
BannedCharacter rejects @ in files/* filenames; systemd_newunit's
target arg adds the @ at install.
commit 73ec11612adb4a09558b153fa200ad19050f992b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 27 11:57:40 2026 +0200
sci-ml/fastflowlm: add 0.9.43
Only ebuild-level change: TOKENIZERS_CPP_COMMIT reverted from 0.9.42's
34885cf back to acbdc5a (the 0.9.41-and-earlier pin). nested
sentencepiece + msgpack pins at acbdc5a still match the existing
values, so MSGPACK_COMMIT and SENTENCEPIECE_COMMIT stay put.
src/CMakeLists.txt is byte-identical to 0.9.42, so the sed pattern
stripping the symlink-into-/usr/local/bin block and the
NPU_VERSION/FLM_VERSION cmake args still apply unchanged. Verification
stamp re-dated accordingly.
Upstream substance is mostly in the model code: a new
common/whisper/ subsystem (which links a libwhisper_npu .so into the
binary) and a Whisper_Config : LM_Config subclass land in 0.9.43.
src/include/utils/json_check.hpp -- the validator that triggered
the #545 Whisper crash -- was deleted, which may mean the workaround
in flm-patch-whisper / the ewarn is no longer necessary. Conservative
call: keep both for one release cycle; if no user reports needing
the patch we can drop the ewarn at the next bump.
Build-checked locally: 91/91 ninja targets clean against
=fastflowlm-0.9.43 (default USE; no IUSE flags).
commit b17a9c755ac32614184a0cf85eb1eb0f8c6a13d3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon May 25 16:07:27 2026 +0200
sci-ml/fastflowlm: ship flm-patch-whisper helper (upstream #545)
flm crashes at startup on any invocation that loads whisper-v3:turbo
because LM_Config::from_pretrained asserts on decoder-only LM-shape
fields (hidden_size, intermediate_size, num_attention_heads,
num_hidden_layers, num_key_value_heads) that HuggingFace's Whisper
config.json doesn't carry — Whisper uses the encoder-decoder
equivalents (d_model, encoder_ffn_dim, encoder_attention_heads,
encoder_layers) instead.
Ship a small Python helper at /usr/bin/flm-patch-whisper that walks
~/.config/flm/models/* (honoring $FLM_MODEL_PATH), finds Whisper
configs missing the decoder-only fields, and adds them with values
mapped from the encoder-* keys; idempotent on repeat runs. A
pkg_postinst ewarn points users at it as the required follow-up
after `flm pull whisper-v3:turbo`. Drop both once upstream merges
a real fix for issue #545.
commit d7891d49aca438b2da5ea2a5aceaf7f7dcfe40fd
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu May 14 11:49:41 2026 +0200
sci-ml/fastflowlm: add 0.9.42
commit c79366016e1891d1f4f488e0357c8b134de7b160
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 13 14:15:10 2026 +0200
sci-ml/fastflowlm: drop 0.9.38, 0.9.39
commit 27ae6103d77b7d627bf17bd5517801eada91dcd7
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon May 11 21:11:45 2026 +0200
sci-ml/fastflowlm: add 0.9.38
Older release retained alongside the newer ones. Third-party submodule
pins (tokenizers-cpp, sentencepiece, msgpack) are identical to 0.9.39's,
so the corresponding distfile entries already exist in the Manifest;
only fastflowlm-0.9.38.tar.gz is newly tracked.
commit e2f3b66d00008de38b637d8d7da84335eb1061db
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon May 11 17:34:26 2026 +0200
sci-ml/fastflowlm: add missing direct RDEPENDs
The flm binary links directly against libav{format,codec,util},
libsw{resample,scale}, libcurl, libboost_program_options, libfftw3f,
and libreadline (per readelf -d on /opt/fastflowlm/bin/flm), none of
which were declared. Build and merge succeed on systems where these
libraries are commonly installed; a minimal box could break after
depclean with no dependency trail.
Adds ffmpeg, curl, boost, fftw:3.0, and readline (subslot operators
for ABI tracking) to all four ebuild versions. Matches the Arch
official package's depends list and the build-deps documented in
upstream docs/linux-getting-started.md. Metadata-only — same binary
contents, same versions, just honest dependency declaration.
commit 95cd21b4cb4c970cd0bd2f8361bcf4f55aef2c51
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun May 10 00:29:00 2026 +0200
sci-ml/fastflowlm: drop www. prefix from HOMEPAGE
fastflowlm.com 308-redirects www.fastflowlm.com to the bare apex. Strip
the www. prefix across all four ebuilds (0.9.39/40/41 + 9999) so
pkgcheck stops reporting RedirectedUrl.
commit 262574fdcdf7dc7ee8c0257a476a8003bdd42e27
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 6 19:28:35 2026 +0200
sci-ml/fastflowlm: fix BDEPEND, sync -9999 with tagged ebuilds
- Replace nonexistent virtual/rust with || ( dev-lang/rust
dev-lang/rust-bin ) on 0.9.39, 0.9.40, 0.9.41.
- Add the same rust BDEPEND to -9999 (cargo via tokenizers-cpp/rust
is fetched and built on the live ebuild too).
- Add PROPERTIES=live + RESTRICT=network-sandbox to -9999 — same
cargo-fetch-online behavior that motivates them on the tagged
ebuilds; without RESTRICT, the build fails under sandbox.
- Carry the memlock/limits.d hint into -9999's pkg_postinst so the
NPU stack guidance is consistent across release and live.
commit 78b5135ded7e76a3cb7cf92b257b3334dc618063
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 6 19:15:28 2026 +0200
sci-ml/fastflowlm: add 0.9.40
Same submodule pin set as 0.9.39 (tokenizers-cpp acbdc5a, plus
unchanged sentencepiece + msgpack); ebuild byte-identical except
for filename.
commit d518de1486ae9354e400597aba4f888bf9c8ef6b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 6 19:13:36 2026 +0200
sci-ml/fastflowlm: new package, add 9999 + 0.9.39 + 0.9.41
NPU-first LLM runtime for AMD Ryzen AI XDNA2 processors.
Three ebuilds: live -9999 tracks upstream main (EGIT_SUBMODULES='*'),
0.9.39 + 0.9.41 are tagged releases with submodule commit pins
(tokenizers-cpp + nested sentencepiece + msgpack-c) baked into SRC_URI.
0.9.41 bumps tokenizers-cpp from acbdc5a to 34885cf; the nested pins
are unchanged.
Build keeps PROPERTIES=live + RESTRICT=network-sandbox because cargo
inside tokenizers-cpp/rust fetches crates online. src_prepare strips
upstream's symlink-into-/usr/local/bin block; we wrap flm via newbin
and env.d to set LD_LIBRARY_PATH for XRT + FLM_CONFIG_PATH defaults.
LICENSE='MIT FastFlowLM-Binary': orchestration MIT (LICENSE_RUNTIME),
NPU compute kernels proprietary (LICENSE_BINARY, free for commercial
use under USD 10M annual revenue).
RDEPEND on dev-util/xrt + dev-libs/{xdna-driver,xrt-xdna} not yet
present in this overlay or ::gentoo; ride along ::guru's xrt-2.21.75
stack for now (cascade in a follow-up commit).


View
Download
Browse