Update ggml_extend.hpp #12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
workflow_dispatch: # allows manual triggering | |
inputs: | |
create_release: | |
description: "Create new release" | |
required: true | |
type: boolean | |
push: | |
branches: | |
- master | |
- dev-f16-3 | |
- ci | |
paths: | |
[ | |
".github/workflows/**", | |
"**/CMakeLists.txt", | |
"**/Makefile", | |
"**/*.h", | |
"**/*.hpp", | |
"**/*.c", | |
"**/*.cpp", | |
"**/*.cu", | |
] | |
pull_request: | |
types: [opened, synchronize, reopened] | |
paths: | |
[ | |
"**/CMakeLists.txt", | |
"**/Makefile", | |
"**/*.h", | |
"**/*.hpp", | |
"**/*.c", | |
"**/*.cpp", | |
"**/*.cu", | |
] | |
env: | |
BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
jobs: | |
windows-latest-cmake: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
include: | |
- build: "rocm6.1" | |
defines: '-G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DSD_HIPBLAS=ON -DCMAKE_BUILD_TYPE=Release -DAMDGPU_TARGETS="gfx1030" -DSD_BUILD_SHARED_LIBS=ON' | |
steps: | |
- name: Clone | |
id: checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Install AMD HIP SDK 6.1 | |
run: | | |
C:\msys64\usr\bin\wget.exe https://download.amd.com/developer/eula/rocm-hub/AMD-Software-PRO-Edition-24.Q3-WinSvr2022-For-HIP.exe -O "amdgpu-install.exe" | |
.\amdgpu-install.exe -Install -View:1 | |
Start-Sleep -Seconds 60 | |
$setupId = (Get-Process ATISetup).id | |
Wait-Process -Id $setupId | |
$Env:ROCm_PATH = "C:\Program Files\AMD\ROCm\6.1" | |
- name: Install Ninja | |
id: install-ninja | |
uses: urkle/action-get-ninja@v1 | |
with: | |
version: 1.11.1 | |
- name: Test if clang and clang++ is available | |
run: | | |
$Env:ROCm_PATH = "C:\Program Files\AMD\ROCm\6.1" | |
$Env:HIP_PATH = "C:\Program Files\AMD\ROCm\6.1" | |
$Env:PATH = "C:\Program Files\AMD\ROCm\6.1\bin;$Env:PATH" | |
echo "ROCM_PATH=C:\Program Files\AMD\ROCm\6.1" >> $GITHUB_ENV | |
echo "HIP_PATH=C:\Program Files\AMD\ROCm\6.1" >> $GITHUB_ENV | |
echo "PATH=C:\Program Files\AMD\ROCm\6.1\bin;$Env:PATH" >> $GITHUB_ENV | |
clang --version | |
clang++ --version | |
- name: List paths | |
if: runner.os == 'Windows' | |
shell: powershell | |
run: | | |
$Env:ROCm_PATH = "C:\Program Files\AMD\ROCm\6.1" | |
$Env:HIP_PATH = "C:\Program Files\AMD\ROCm\6.1" | |
$Env:PATH = "C:\Program Files\AMD\ROCm\6.1\bin;$Env:PATH" | |
echo "ROCM_PATH=C:\Program Files\AMD\ROCm\6.1" >> $GITHUB_ENV | |
echo "HIP_PATH=C:\Program Files\AMD\ROCm\6.1" >> $GITHUB_ENV | |
echo "PATH=C:\Program Files\AMD\ROCm\6.1\bin;$Env:PATH" >> $GITHUB_ENV | |
ls $env:ROCM_PATH | |
ls $env:ROCM_PATH\bin | |
- name: Build | |
id: cmake_build | |
run: | | |
mkdir build | |
cd build | |
$Env:ROCm_PATH = "C:\Program Files\AMD\ROCm\6.1" | |
$Env:HIP_PATH = "C:\Program Files\AMD\ROCm\6.1" | |
$Env:PATH = "C:\Program Files\AMD\ROCm\6.1\bin;$Env:PATH" | |
echo "ROCM_PATH=C:\Program Files\AMD\ROCm\6.1" >> $GITHUB_ENV | |
echo "HIP_PATH=C:\Program Files\AMD\ROCm\6.1" >> $GITHUB_ENV | |
echo "PATH=C:\Program Files\AMD\ROCm\6.1\bin;$Env:PATH" >> $GITHUB_ENV | |
cmake .. ${{ matrix.defines }} | |
cmake --build . --config Release | |
- name: Get commit hash | |
id: commit | |
uses: pr-mpt/actions-commit-hash@v2 | |
- name: Pack artifacts | |
id: pack_artifacts | |
run: | | |
$filePath = ".\build\bin\Release\*" | |
if (Test-Path $filePath) { | |
echo "Exists at path $filePath" | |
Copy-Item ggml/LICENSE .\build\bin\Release\ggml.txt | |
Copy-Item LICENSE .\build\bin\Release\stable-diffusion.cpp.txt | |
Copy-Item ROCm/generateSD-ROCm6.bat .\build\bin\Release\generateSD-ROCm6.bat | |
Copy-Item ROCm/generateSDXL-ROCm6.bat .\build\bin\Release\generateSDXL-ROCm6.bat | |
Copy-Item ROCm/generateSDXL-HIP_VISIBLE_DEVICES0-ROCm6.bat .\build\bin\Release\generateSDXL-HIP_VISIBLE_DEVICES0-ROCm6.bat | |
Copy-Item ROCm/generateSDXL-HIP_VISIBLE_DEVICES1-ROCm6.bat .\build\bin\Release\generateSDXL-HIP_VISIBLE_DEVICES1-ROCm6.bat | |
Copy-Item ROCm/generateFLUX-ROCm6.bat .\build\bin\Release\generateFLUX-ROCm6.bat | |
Copy-Item ROCm/conveert2gguf-ROCm6.bat .\build\bin\Release\conveert2gguf-ROCm6.bat | |
Copy-Item ROCm/startSDcppGUIwrapperSAMPLE-ROCm6.bat .\build\bin\Release\startSDcppGUIwrapperSAMPLE-ROCm6.bat | |
} elseif (Test-Path ".\build\bin\stable-diffusion.dll") { | |
$filePath = ".\build\bin\*" | |
echo "Exists at path $filePath" | |
Copy-Item ggml/LICENSE .\build\bin\ggml.txt | |
Copy-Item LICENSE .\build\bin\stable-diffusion.cpp.txt | |
Copy-Item ROCm/generateSD-ROCm6.bat .\build\bin\generateSD-ROCm6.bat | |
Copy-Item ROCm/generateSDXL-ROCm6.bat .\build\bin\generateSDXL-ROCm6.bat | |
Copy-Item ROCm/generateSDXL-HIP_VISIBLE_DEVICES0-ROCm6.bat .\build\bin\generateSDXL-HIP_VISIBLE_DEVICES0-ROCm6.bat | |
Copy-Item ROCm/generateSDXL-HIP_VISIBLE_DEVICES1-ROCm6.bat .\build\bin\generateSDXL-HIP_VISIBLE_DEVICES1-ROCm6.bat | |
Copy-Item ROCm/generateFLUX-ROCm6.bat .\build\bin\generateFLUX-ROCm6.bat | |
Copy-Item ROCm/conveert2gguf-ROCm6.bat .\build\bin\conveert2gguf-ROCm6.bat | |
Copy-Item ROCm/startSDcppGUIwrapperSAMPLE-ROCm6.bat .\build\bin\startSDcppGUIwrapperSAMPLE-ROCm6.bat | |
} else { | |
ls .\build\bin | |
throw "Can't find stable-diffusion.dll" | |
} | |
7z a sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-${{ matrix.build }}-x64.zip $filePath | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-${{ matrix.build }}-x64.zip | |
path: | | |
sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-${{ matrix.build }}-x64.zip | |
release: | |
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }} | |
runs-on: windows-latest | |
needs: | |
- windows-latest-cmake | |
steps: | |
- name: Download artifacts | |
id: download-artifact | |
uses: actions/download-artifact@v4 | |
with: | |
path: ./artifact | |
pattern: sd-* | |
merge-multiple: true | |
- name: Get commit hash | |
id: commit | |
uses: pr-mpt/actions-commit-hash@v2 | |
- name: Create release | |
id: create_release | |
uses: anzz1/action-create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-ROCm6 | |
- name: Upload release | |
id: upload_release | |
uses: actions/github-script@v3 | |
with: | |
github-token: ${{secrets.GITHUB_TOKEN}} | |
script: | | |
const path = require('path'); | |
const fs = require('fs'); | |
const release_id = '${{ steps.create_release.outputs.id }}'; | |
for (let file of await fs.readdirSync('./artifact')) { | |
if (path.extname(file) === '.zip') { | |
console.log('uploadReleaseAsset', file); | |
await github.repos.uploadReleaseAsset({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
release_id: release_id, | |
name: file, | |
data: await fs.readFileSync(`./artifact/${file}`) | |
}); | |
} | |
} |