Skip to content

Update build.yml list ls ROCM_PATH\bin\rocblas\library #29

Update build.yml list ls ROCM_PATH\bin\rocblas\library

Update build.yml list ls ROCM_PATH\bin\rocblas\library #29

Workflow file for this run

name: CI
on:
workflow_dispatch: # allows manual triggering
inputs:
create_release:
description: "Create new release"
required: true
type: boolean
push:
branches:
- master
- Get624Lists
- 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:
ubuntu-latest-cmake:
runs-on: ubuntu-latest
steps:
- name: Clone
id: checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Dependencies
id: depends
run: |
sudo apt-get update
sudo apt-get install build-essential
- name: Build
id: cmake_build
run: |
mkdir build
cd build
cmake .. -DGGML_AVX2=ON -DSD_BUILD_SHARED_LIBS=ON
cmake --build . --config Release
- name: Get commit hash
id: commit
if: ${{ ( github.event_name == 'push' ) || github.event.inputs.create_release == 'true' }}
uses: pr-mpt/actions-commit-hash@v2
- name: Fetch system info
id: system-info
run: |
echo "CPU_ARCH=`uname -m`" >> "$GITHUB_OUTPUT"
echo "OS_NAME=`lsb_release -s -i`" >> "$GITHUB_OUTPUT"
echo "OS_VERSION=`lsb_release -s -r`" >> "$GITHUB_OUTPUT"
echo "OS_TYPE=`uname -s`" >> "$GITHUB_OUTPUT"
- name: Pack artifacts
id: pack_artifacts
if: ${{ ( github.event_name == 'push' ) || github.event.inputs.create_release == 'true' }}
run: |
cp ggml/LICENSE ./build/bin/ggml.txt
cp LICENSE ./build/bin/stable-diffusion.cpp.txt
zip -j sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-${{ steps.system-info.outputs.OS_NAME }}-${{ steps.system-info.outputs.OS_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}.zip ./build/bin/*
- name: Upload artifacts
if: ${{ ( github.event_name == 'push' ) || github.event.inputs.create_release == 'true' }}
uses: actions/upload-artifact@v4
with:
name: sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-${{ steps.system-info.outputs.OS_NAME }}-${{ steps.system-info.outputs.OS_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}.zip
path: |
sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-${{ steps.system-info.outputs.OS_NAME }}-${{ steps.system-info.outputs.OS_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}.zip
windows-latest-cmake-rocm61:
runs-on: windows-latest
strategy:
matrix:
include:
- build: "rocm61"
defines: '-G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DSD_HIPBLAS=ON -DCMAKE_BUILD_TYPE=Release -DAMDGPU_TARGETS="gfx1100;gfx1101;gfx1102;gfx1030;gfx906" -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
ls $env:ROCM_PATH\bin\rocblas
ls $env:ROCM_PATH\bin\rocblas\library
- 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
if: ${{ ( github.event_name == 'push' ) || github.event.inputs.create_release == 'true' }}
uses: pr-mpt/actions-commit-hash@v2
- name: Pack artifacts
id: pack_artifacts
if: ${{ ( github.event_name == 'push' ) || github.event.inputs.create_release == 'true' }}
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/README-RADEON.txt .\build\bin\Release\README-RADEON.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/generateSD35.bat .\build\bin\Release\generateSD35.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/README-RADEON.txt .\build\bin\README-RADEON.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/generateSD35.bat .\build\bin\generateSD35.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
windows-latest-cmake-rocm62:
runs-on: windows-latest
strategy:
matrix:
include:
- build: "rocm62"
defines: '-G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DSD_HIPBLAS=ON -DCMAKE_BUILD_TYPE=Release -DAMDGPU_TARGETS="gfx1151;gfx1100;gfx1101;gfx1102;gfx1030;gfx906" -DSD_BUILD_SHARED_LIBS=ON'
steps:
- name: Clone
id: checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install AMD HIP SDK 6.2
run: |
C:\msys64\usr\bin\wget.exe https://download.amd.com/developer/eula/rocm-hub/AMD-Software-PRO-Edition-24.Q4-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.2"
- 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.2"
$Env:HIP_PATH = "C:\Program Files\AMD\ROCm\6.2"
$Env:PATH = "C:\Program Files\AMD\ROCm\6.2\bin;$Env:PATH"
echo "ROCM_PATH=C:\Program Files\AMD\ROCm\6.2" >> $GITHUB_ENV
echo "HIP_PATH=C:\Program Files\AMD\ROCm\6.2" >> $GITHUB_ENV
echo "PATH=C:\Program Files\AMD\ROCm\6.2\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.2"
$Env:HIP_PATH = "C:\Program Files\AMD\ROCm\6.2"
$Env:PATH = "C:\Program Files\AMD\ROCm\6.2\bin;$Env:PATH"
echo "ROCM_PATH=C:\Program Files\AMD\ROCm\6.2" >> $GITHUB_ENV
echo "HIP_PATH=C:\Program Files\AMD\ROCm\6.2" >> $GITHUB_ENV
echo "PATH=C:\Program Files\AMD\ROCm\6.2\bin;$Env:PATH" >> $GITHUB_ENV
ls $env:ROCM_PATH
ls $env:ROCM_PATH\bin
ls $env:ROCM_PATH\bin\rocblas
ls $env:ROCM_PATH\bin\rocblas\library
- name: Build
id: cmake_build
run: |
mkdir build
cd build
$Env:ROCm_PATH = "C:\Program Files\AMD\ROCm\6.2"
$Env:HIP_PATH = "C:\Program Files\AMD\ROCm\6.2"
$Env:PATH = "C:\Program Files\AMD\ROCm\6.2\bin;$Env:PATH"
echo "ROCM_PATH=C:\Program Files\AMD\ROCm\6.2" >> $GITHUB_ENV
echo "HIP_PATH=C:\Program Files\AMD\ROCm\6.2" >> $GITHUB_ENV
echo "PATH=C:\Program Files\AMD\ROCm\6.2\bin;$Env:PATH" >> $GITHUB_ENV
cmake .. ${{ matrix.defines }}
cmake --build . --config Release
- name: Get commit hash
id: commit
if: ${{ ( github.event_name == 'push' ) || github.event.inputs.create_release == 'true' }}
uses: pr-mpt/actions-commit-hash@v2
- name: Pack artifacts
id: pack_artifacts
if: ${{ ( github.event_name == 'push' ) || github.event.inputs.create_release == 'true' }}
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/README-RADEON.txt .\build\bin\Release\README-RADEON.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/generateSD35.bat .\build\bin\Release\generateSD35.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/README-RADEON.txt .\build\bin\README-RADEON.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/generateSD35.bat .\build\bin\generateSD35.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.event.inputs.create_release == 'true' }}
runs-on: ubuntu-latest
needs:
- ubuntu-latest-cmake
- windows-latest-cmake-rocm61
- windows-latest-cmake-rocm62
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 }}
- 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}`)
});
}
}