diff --git a/.github/workflows/atom-test.yaml b/.github/workflows/atom-test.yaml index a88dc3e34e..136fba3a8f 100644 --- a/.github/workflows/atom-test.yaml +++ b/.github/workflows/atom-test.yaml @@ -126,7 +126,8 @@ jobs: cd /app/aiter-test && \\ git checkout ${{ env.GITHUB_COMMIT_SHA }} && \\ git submodule sync && git submodule update --init --recursive && \\ - MAX_JOBS=64 PREBUILD_KERNELS=0 GPU_ARCHS=gfx950 pip install -e . && \\ + pip install -r requirements.txt && \\ + MAX_JOBS=64 PREBUILD_KERNELS=0 GPU_ARCHS=gfx950 pip install --no-build-isolation -e . && \\ ./.github/scripts/install_triton.sh RUN echo "=== amd-triton version ===" && pip show amd-triton || true RUN echo "=== Aiter version AFTER installation ===" && pip show amd-aiter || true diff --git a/.github/workflows/flash_attention_integration.yaml b/.github/workflows/flash_attention_integration.yaml index cac4f1f166..e8bb3a5ae0 100644 --- a/.github/workflows/flash_attention_integration.yaml +++ b/.github/workflows/flash_attention_integration.yaml @@ -154,7 +154,9 @@ jobs: # Override with PR aiter COPY . /aiter - RUN pip uninstall -y amd-aiter && pip install --no-build-isolation -e /aiter + RUN pip uninstall -y amd-aiter && \ + cd /aiter && pip install -r requirements.txt && \ + pip install --no-build-isolation -e /aiter # Verify aiter is installed from PR branch RUN pip show flash-attn && pip show amd-aiter && pip show triton && \ diff --git a/.github/workflows/sglang_downstream.yaml b/.github/workflows/sglang_downstream.yaml index 9171f1adb6..56327ba23f 100644 --- a/.github/workflows/sglang_downstream.yaml +++ b/.github/workflows/sglang_downstream.yaml @@ -142,7 +142,8 @@ jobs: git checkout '${GITHUB_COMMIT_SHA}' git submodule sync --recursive git submodule update --init --recursive - pip install -e . + pip install -r requirements.txt + pip install --no-build-isolation -e . # ./.github/scripts/install_triton.sh pip show amd-triton || true pip show triton || true diff --git a/pyproject.toml b/pyproject.toml index aa3d1e0047..5d577d8994 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ requires = [ "psutil", "ninja", "pandas", - "flydsl==0.1.5" + "flydsl>=0.1.5" ] [tool.setuptools_scm] diff --git a/requirements.txt b/requirements.txt index 1450240e84..7ba108716a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,4 +6,5 @@ pyyaml einops pybind11>=3.0.1 ninja -flydsl==0.1.5 +--find-links https://rocm.frameworks-devreleases.amd.com/whl/gfx942-gfx950/flydsl/ +flydsl==0.1.6.dev20260508+05f188b diff --git a/setup.py b/setup.py index e1e30526b7..d9af1fd5e0 100644 --- a/setup.py +++ b/setup.py @@ -13,7 +13,10 @@ OPT_COMPILER_CONFIG = os.path.join(this_dir, "aiter", "jit", "optCompilerConfig.json") PACKAGE_NAME = "amd-aiter" -FLYDSL_VERSION = "flydsl==0.1.5" +FLYDSL_VERSION = "flydsl==0.1.6.dev20260508+05f188b" +FLYDSL_FIND_LINKS = ( + "https://rocm.frameworks-devreleases.amd.com/whl/gfx942-gfx950/flydsl/" +) BUILD_TARGET = os.environ.get("BUILD_TARGET", "auto") PREBUILD_KERNELS = int(os.environ.get("PREBUILD_KERNELS", 0)) @@ -58,18 +61,30 @@ def is_develop_mode(): try: from importlib.metadata import version as pkg_version - if pkg_version("flydsl") != FLYDSL_VERSION.split("==")[1]: + _installed = pkg_version("flydsl") + _required_base = FLYDSL_VERSION.split("==")[1].split("+")[0] + if not _installed or not _installed.startswith(_required_base): raise ImportError("version mismatch") except Exception: - subprocess.check_call( - [ - sys.executable, - "-m", - "pip", - "install", - FLYDSL_VERSION, - ] - ) + try: + subprocess.check_call( + [ + sys.executable, + "-m", + "pip", + "install", + "--force-reinstall", + "--no-deps", + FLYDSL_VERSION, + "--find-links", + FLYDSL_FIND_LINKS, + ] + ) + except Exception: + print( + f"[aiter] Warning: could not install {FLYDSL_VERSION}, " + "assuming it was pre-installed via requirements.txt" + ) def _is_triton_installed(): @@ -433,7 +448,7 @@ def has_ext_modules(self): "einops", "psutil", "packaging", - FLYDSL_VERSION, + "flydsl>=0.1.5", ] setup(