Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 0 additions & 50 deletions .flake/patches/doctest-template-test.patch

This file was deleted.

2 changes: 1 addition & 1 deletion .flake/pkgs/bencher-cli.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{ stdenv
, lib
, fetchurl
, alsaLib
, alsa-lib
, openssl
, zlib
, pulseaudio
Expand Down
13 changes: 13 additions & 0 deletions .flake/pkgs/cudnn.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{ cudaPackages
, fetchurl
}:

# Pin the latest cuDNN version with support for NVIDIA Pascal GPUs.
cudaPackages.cudnn.overrideAttrs (finalAttrs: _: {
version = "9.10.2.21";

src = fetchurl {
url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-${finalAttrs.version}_cuda12-archive.tar.xz";
hash = "sha256-0N78vExtrXEf9Mtm0lQDajAMkHGwfHtkGZqsq1NDE8E=";
};
})
1 change: 1 addition & 0 deletions .flake/pkgs/fccf/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ stdenv.mkDerivation rec {
patches = [
./json-package-name.patch
./fix-argparse-include.patch
./fix-cstdint-include.patch
];

cmakeFlags = [
Expand Down
10 changes: 10 additions & 0 deletions .flake/pkgs/fccf/fix-cstdint-include.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
diff --git a/source/sse2_strstr.cpp b/source/sse2_strstr.cpp
index 44441ea..347cafd 100644
--- a/source/sse2_strstr.cpp
+++ b/source/sse2_strstr.cpp
@@ -1,4 +1,5 @@
#include <cassert>
+#include <cstdint>
#include <cstring>

#include <ctype.h>
19 changes: 18 additions & 1 deletion .flake/pkgs/hpp2plantuml.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
{buildPythonPackage, fetchPypi}:
{ buildPythonPackage
, fetchPypi
, jinja2
, robotpy-cppheaderparser
, sphinx
}:

buildPythonPackage rec {
pname = "hpp2plantuml";
Expand All @@ -8,4 +13,16 @@ buildPythonPackage rec {
inherit pname version format;
sha256 = "sha256-PfTJmBypI21AAK3sMojygQfrhnRqcMmVCW4dxGfDfQg=";
};

# argparse is part of the python 3 standard library, so there is no
# corresponding nixpkgs package to depend on.
pythonRemoveDeps = [ "argparse" ];

dependencies = [
jinja2
robotpy-cppheaderparser
sphinx
];

pythonImportsCheck = [ "hpp2plantuml" ];
}
18 changes: 18 additions & 0 deletions .flake/pkgs/nixgl/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{ applyPatches
, pkgs
, src
}:

# Need a not-yet-merged PR for nixGL compatibility with NixOS 26.05.
#
# This evaluates to nixGL's package set, not a derivation, so it belongs in a
# let binding rather than in the flake's `packages` output.
import
(applyPatches {
name = "nixGL-patched-source";
inherit src;
patches = [ ./drop-kernel-override.patch ];
})
{
inherit pkgs;
}
16 changes: 16 additions & 0 deletions .flake/pkgs/nixgl/drop-kernel-override.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
`kernel` parameter is gone as of https://github.com/NixOS/nixpkgs/pull/498612

Matching PR for nixGL in https://github.com/nix-community/nixGL/pull/223
(among other things, not relevant to our use case)
and has not been merged as of 2026-07-27.

--- a/nixGL.nix
+++ b/nixGL.nix
@@ -86,7 +86,6 @@

nvidiaLibsOnly = nvidiaDrivers.override {
libsOnly = true;
- kernel = null;
};

nixGLNvidiaBumblebee = writeExecutable {
6 changes: 3 additions & 3 deletions .flake/pkgs/realm.nix
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ in

stdenv.mkDerivation rec {
pname = "realm";
version = "2026-02-24";
version = "2026-07-01";

src = fetchFromGitHub {
owner = "StanfordLegion";
repo = "realm";
rev = "42f7484a80e0bdacaf47d9a758822f5327348dd0";
sha256 = "sha256-IHiokPmTjEV5df3fr1Xubuyt2N1CFI2fA7Q2TsbxS3Y=";
rev = "dba83452d4a211e3a0c0e5d4849c26ce7b56bba3";
sha256 = "sha256-dLGmUgupDX0dDErZbuP5ipj2Cwf+rOhVGC/+angRyBY=";
};

nativeBuildInputs = [
Expand Down
22 changes: 22 additions & 0 deletions .flake/pkgs/robotpy-cppheaderparser.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{ buildPythonPackage
, fetchPypi
, setuptools
, ply
}:

buildPythonPackage rec {
pname = "robotpy-cppheaderparser";
version = "5.1.2";
pyproject = true;

src = fetchPypi {
inherit pname version;
sha256 = "sha256-FdNQs5NYtFzbH+E4r578zg5jLBtYgwoboboJihdSaYs=";
};

build-system = [ setuptools ];

dependencies = [ ply ];

pythonImportsCheck = [ "CppHeaderParser" ];
}
31 changes: 30 additions & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,40 @@ jobs:
run: |
proj check cpu-ci

- name: Generate code coverage
run: |
# A toolchain mismatch between the instrumentation and libgcov makes
# every test abort profiling without writing anything, which would
# otherwise surface as a silent 0% report rather than a failure.
gcda_count="$(find build/coverage -name '*.gcda' | wc -l)"
echo "found $gcda_count .gcda files"
if [ "$gcda_count" -eq 0 ]; then
echo "::error::no coverage data was produced by the test run" >&2
exit 1
fi
# lcov 2.x treats several classes of gcov disagreement as hard
# errors; gcc emits them routinely for templates, so downgrade them.
lcov_opts=(
--rc geninfo_unexecuted_blocks=1
--ignore-errors "inconsistent,mismatch,unused,negative,source,empty"
-j "$(nproc)"
)
lcov "${lcov_opts[@]}" --capture --directory build/coverage --output-file coverage-all.info
# Paths recorded by geninfo are absolute, so anchor on $PWD rather
# than a bare 'lib/*'.
lcov "${lcov_opts[@]}" --extract coverage-all.info "$PWD/lib/*" --output-file coverage-lib.info
lcov "${lcov_opts[@]}" --remove coverage-lib.info '*.dtg.h' '*.dtg.cc' --output-file main_coverage.info
lcov "${lcov_opts[@]}" --list main_coverage.info

- name: Upload code coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: main_coverage.info
files: main_coverage.info
# We hand codecov the one report we generated above; without these it
# searches the tree and runs its gcov plugin over the whole build.
disable_search: true
plugins: noop
flags: unittests
name: codecov-umbrella
fail_ci_if_error: false
Expand Down
2 changes: 1 addition & 1 deletion contributing.dox
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ We actively welcome your pull requests. Note that we may already be working on t
The steps for getting changes merged into %FlexFlow are relatively standard:

1. [Fork the repo](https://github.com/flexflow/flexflow-train/fork) and either create a new branch based on `master`, or just modify `master` directly.
2. If you've added code that should be tested, add tests. The process for adding tests for code under `lib` is documented [here](./lib/README.md#tests). Adding tests for other parts of the code is currently undocumented, so you will \ref contributing-contact-us "contact us" for information on how to do it.
2. If you've added code that should be tested, add tests. The process for adding tests is currently undocumented, so you will \ref contributing-contact-us "contact us" for information on how to do it.
3. Ensure the code builds (i.e., run `proj build`).
4. Ensure the test suite passes (i.e., run `proj test`).
5. Format the code (i.e., run `proj format`).
Expand Down
48 changes: 16 additions & 32 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading