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
8 changes: 4 additions & 4 deletions .github/matrix.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"image": "nvidia/cuda:12.8.1-devel-ubuntu24.04",
"runtime-version": "cu128",
"container-options": "--gpus all",
"pytorch-version": "pytorch-2.9",
"pytorch-version": "pytorch-2.11",
"alias": "a10g",
"backend": "triton"
},
Expand All @@ -29,7 +29,7 @@
"image": "nvidia/cuda:12.8.1-devel-ubuntu24.04",
"runtime-version": "cu128",
"container-options": "--gpus all",
"pytorch-version": "pytorch-2.9",
"pytorch-version": "pytorch-2.11",
"alias": "a10g-dtype-asserts",
"dtype-asserts": true,
"expecttest-accept": true,
Expand Down Expand Up @@ -75,7 +75,7 @@
"image": "nvidia/cuda:13.1.0-devel-ubuntu24.04",
"runtime-version": "cu130",
"container-options": "--gpus all",
"pytorch-version": "pytorch-2.9",
"pytorch-version": "pytorch-2.11",
"alias": "b200",
"backend": "triton"
},
Expand All @@ -86,7 +86,7 @@
"image": "nvidia/cuda:13.1.0-devel-ubuntu24.04",
"runtime-version": "cu130",
"container-options": "--gpus all",
"pytorch-version": "pytorch-2.9",
"pytorch-version": "pytorch-2.11",
"alias": "b200",
"backend": "tileir"
},
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,9 @@
- name: Install PyTorch
run: |
source .venv/bin/activate
if [[ "${{ matrix.pytorch-version }}" == "pytorch-2.9" ]]; then
# Install stable 2.9 from test channel
uv pip install -U "torch==2.9.*" --index-url https://download.pytorch.org/whl/${{ matrix.runtime-version }}
if [[ "${{ matrix.pytorch-version }}" == "pytorch-2.11" ]]; then
# Install stable 2.11 release
uv pip install -U "torch==2.11.*" --index-url https://download.pytorch.org/whl/${{ matrix.runtime-version }}
elif [[ "${{ matrix.runtime-version }}" == "tpu" ]]; then
# TPU: install CPU-only PyTorch nightly (torch_tpu provides TPU backend)
uv pip install -U --pre torch --index-url https://download.pytorch.org/whl/nightly/cpu
Expand All @@ -123,7 +123,7 @@
fi

- name: Install Triton
if: matrix.backend == 'tileir' || (matrix.backend == 'triton' && steps.cache.outputs.cache-hit != 'true' && matrix.pytorch-version != 'pytorch-2.9')
if: matrix.backend == 'tileir' || (matrix.backend == 'triton' && steps.cache.outputs.cache-hit != 'true' && matrix.pytorch-version != 'pytorch-2.11')
run: |
set -x
source .venv/bin/activate
Expand Down Expand Up @@ -269,66 +269,66 @@
pytest $PARALLEL -rf --timeout=60 $EXTRA_FLAGS $TEST_PATH | tee >(eval $SKIP_CHECK)

test-notebooks:
name: test-notebooks-cu128-py3.12-pytorch-2.9-a10g
name: test-notebooks-cu128-py3.12-pytorch-2.11-a10g

container:
image: nvidia/cuda:12.8.1-devel-ubuntu24.04
options: --gpus all

runs-on: linux.g5.4xlarge.nvidia.gpu

defaults:
run:
shell: bash -l {0}

steps:
- name: Run NVIDIA command
run: |
echo "Detected NVIDIA image"
nvidia-smi || echo "nvidia-smi not found"

- name: Check out code
uses: actions/checkout@v6

- name: Install uv
uses: astral-sh/setup-uv@v7
with:
python-version: "3.12"
enable-cache: true

- name: Create virtual environment
run: |
uv venv --python 3.12

- name: Install pip in venv
run: |
source .venv/bin/activate
uv pip install pip

- name: Get current month
id: date
run: echo "month=$(date +'%Y-%m')" >> $GITHUB_OUTPUT

- name: Cache dependencies
id: cache
uses: actions/cache@v5
with:
path: |
~/.cache/uv
~/.venv
key: notebooks-3.12-cu128-${{ hashFiles('.github/workflows/test.yml') }}-${{ steps.date.outputs.month }}

- name: Install notebook execution tools
run: |
source .venv/bin/activate
# Install jupyter for executing notebooks
uv pip install jupyter nbconvert pytest numpy "nbclient<0.10"

- name: Run Notebook Tests
run: |
source .venv/bin/activate
# Execute notebook using jupyter nbconvert
# The notebook's subprocess pip install will install torch and helion
jupyter nbconvert --to notebook --execute --inplace \
--ExecutePreprocessor.timeout=600 \
notebooks/softmax.ipynb

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium test

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
14 changes: 7 additions & 7 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ Helion currently targets Linux systems and requires a recent Python and PyTorch
- We recommend using [uv](https://docs.astral.sh/uv/) for lightweight, fast virtual environments

### Dependencies
- **[PyTorch](https://github.com/pytorch/pytorch) 2.9 or later**
- **[Triton](https://github.com/triton-lang/triton) 3.5 or later**
- **[PyTorch](https://github.com/pytorch/pytorch) 2.11 or later**
- **[Triton](https://github.com/triton-lang/triton) 3.6 or later**

*Note: Older versions may work, but will lack support for features like TMA on Hopper/Blackwell GPUs and may exhibit lower performance.*

Expand Down Expand Up @@ -61,26 +61,26 @@ source .venv/bin/activate

### 2. Install PyTorch

Install PyTorch 2.9 or later:
Install PyTorch 2.11 or later:

```bash
# CUDA 12.8
pip install "torch==2.9.*" --index-url https://download.pytorch.org/whl/cu128
pip install "torch==2.11.*" --index-url https://download.pytorch.org/whl/cu128

# ROCm 7.0
pip install "torch==2.9.*" --index-url https://download.pytorch.org/whl/rocm7.0
pip install "torch==2.11.*" --index-url https://download.pytorch.org/whl/rocm7.0
```
see [PyTorch installation instructions](https://pytorch.org/get-started/locally/) for other options.

### 3. Install Triton

Install Triton 3.5 or later using one of the options below.
Install Triton 3.6 or later using one of the options below.

#### Option A: Prebuilt wheel (recommended)

```bash
# Install Triton from PyPI (will pick the right wheel for your platform if available)
pip install "triton>=3.5"
pip install "triton>=3.6"

# Verify
python -c "import triton; print('Triton version:', triton.__version__)"
Expand Down
Loading