Skip to content

Commit c2b8c60

Browse files
KMSorSMSmrhaoxx
andauthored
[ci]: add int4_1 & int4_1k (#1653)
* [feat]: init amd adaption * [feat]: add blis support * [fix]: fix setup and moe kernel warpper * [fix](setup.py): support rebuild with cache and import kt_kernel works fine * [feat]: add moe_kernel converter for amd and implement the load method(haven't tested yet) * [feat](moe_kernel/moe.hpp): delete unused memory when using save * [fix](moe_kernel): update PLAIN for pack * [fix](moe_kernel): rm printf debug * [fix](moe_kernel): skip gpu experts * [fix](moe_kernel/moe.hpp): update include memory path * [feat](moe_kernel/moe.hpp): support expert deferral * [feat]: finish amd * [ci]: add int4_1 & int4_1k --------- Co-authored-by: mrhaoxx <[email protected]>
1 parent fd78fe5 commit c2b8c60

File tree

3 files changed

+682
-32
lines changed

3 files changed

+682
-32
lines changed

kt-kernel/.githooks/pre-commit

Lines changed: 38 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ set -euo pipefail
66
REPO_ROOT="$(git rev-parse --show-toplevel)"
77
# kt-kernel project directory within the monorepo
88
KERNEL_DIR="$REPO_ROOT/kt-kernel"
9+
# Relative path for matching staged files under repo root
10+
REL_KERNEL_DIR="kt-kernel"
911
BUILD_DIR="$KERNEL_DIR/build"
1012
FORMAT_TARGET="format"
1113
CLANG_FORMAT_BIN="${CLANG_FORMAT_BIN:-clang-format}"
@@ -22,44 +24,48 @@ if ! command -v "$BLACK_BIN" >/dev/null 2>&1; then
2224
echo "[pre-commit] black not found (looked for $BLACK_BIN). Skipping Python format." >&2
2325
fi
2426

25-
# Configure kt-kernel build directory if missing (quiet)
26-
if [ ! -d "$BUILD_DIR" ] || { [ ! -f "$BUILD_DIR/Makefile" ] && [ ! -f "$BUILD_DIR/build.ninja" ]; }; then
27-
echo "[pre-commit] configuring kt-kernel (cmake) ..." >&2
28-
cmake -S "$KERNEL_DIR" -B "$BUILD_DIR" >/dev/null
29-
fi
27+
## Format only staged changes within kt-kernel
28+
# Collect staged files (Added/Modified/Copied/Renamed)
29+
mapfile -d '' STAGED < <(git diff --cached --name-only -z --diff-filter=AMCR)
30+
31+
PY_CHANGED=()
32+
CPP_CHANGED=()
33+
34+
for f in "${STAGED[@]}"; do
35+
case "$f" in
36+
"$REL_KERNEL_DIR"/*)
37+
ext="${f##*.}"
38+
case "$ext" in
39+
py)
40+
PY_CHANGED+=("$f")
41+
;;
42+
c|cc|cpp|cxx|h|hh|hpp|hxx|cu|cuh)
43+
CPP_CHANGED+=("$f")
44+
;;
45+
esac
46+
;;
47+
esac
48+
done
3049

31-
# Run format target (prefer ninja if present)
32-
# Run clang-format target when available and tool present
33-
if command -v "$CLANG_FORMAT_BIN" >/dev/null 2>&1; then
34-
if [ -f "$BUILD_DIR/build.ninja" ]; then
35-
(cd "$BUILD_DIR" && ninja -k0 "$FORMAT_TARGET" >/dev/null)
36-
else
37-
(cd "$BUILD_DIR" && make "$FORMAT_TARGET")
38-
fi
50+
# Run clang-format only on staged C/C++ files
51+
if command -v "$CLANG_FORMAT_BIN" >/dev/null 2>&1 && [ ${#CPP_CHANGED[@]} -gt 0 ]; then
52+
echo "[pre-commit] clang-format on ${#CPP_CHANGED[@]} files" >&2
53+
for f in "${CPP_CHANGED[@]}"; do
54+
"$CLANG_FORMAT_BIN" -i "$f"
55+
done
3956
fi
4057

41-
# Run black on staged python files (or entire repo if you prefer)
42-
if command -v "$BLACK_BIN" >/dev/null 2>&1; then
43-
# Run black only on kt-kernel's python and scripts directories
44-
BLACK_PATHS=""
45-
if [ -d "$KERNEL_DIR/python" ]; then
46-
BLACK_PATHS="$BLACK_PATHS $KERNEL_DIR/python"
47-
fi
48-
if [ -d "$KERNEL_DIR/scripts" ]; then
49-
BLACK_PATHS="$BLACK_PATHS $KERNEL_DIR/scripts"
50-
fi
51-
if [ -n "$BLACK_PATHS" ]; then
52-
echo "[pre-commit] running black on:$BLACK_PATHS" >&2
53-
# shellcheck disable=SC2086
54-
$BLACK_BIN $BLACK_PATHS
55-
fi
58+
## Run black only on staged Python files
59+
if command -v "$BLACK_BIN" >/dev/null 2>&1 && [ ${#PY_CHANGED[@]} -gt 0 ]; then
60+
echo "[pre-commit] black on ${#PY_CHANGED[@]} files" >&2
61+
"$BLACK_BIN" "${PY_CHANGED[@]}"
5662
fi
5763

58-
# Stage any formatting changes for tracked files
59-
if ! git diff --quiet --exit-code; then
64+
# Stage any formatting changes for tracked, formatted files only
65+
FMT_FILES=("${PY_CHANGED[@]}" "${CPP_CHANGED[@]}")
66+
if [ ${#FMT_FILES[@]} -gt 0 ] && ! git diff --quiet --exit-code -- "${FMT_FILES[@]}"; then
6067
echo "[pre-commit] Formatting applied; updating index." >&2
61-
# Add only modified tracked files (exclude untracked new files not staged yet unless user staged them)
62-
git add -u
68+
git add "${FMT_FILES[@]}"
6369
echo "[pre-commit] Re-run git commit to proceed after reviewing changes." >&2
6470
exit 1
6571
fi

0 commit comments

Comments
 (0)