Skip to content

AVX-512 CI

AVX-512 CI #6

Workflow file for this run

name: AVX-512 CI
# 手動実行のみ
on:
workflow_dispatch:
inputs:
benchmark_pattern:
description: 'Benchmark pattern (e.g., "." for all, "BenchmarkParse" for specific)'
required: false
default: '.'
type: string
benchmark_count:
description: 'Number of benchmark iterations'
required: false
default: '1'
type: string
jobs:
ci:
name: Run AVX-512 CI
runs-on: [self-hosted, linux, x64, avx512]
env:
GOEXPERIMENT: simd
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Go 1.26
uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0
with:
go-version: '1.26.0-rc.2'
- name: Verify AVX-512 Support
run: |
echo "=== CPU Info ==="
lscpu | grep -E "Model name|CPU\(s\)|Thread|Core|Socket"
echo ""
echo "=== Required AVX-512 Flags (avx512f, avx512bw, avx512vl) ==="
grep -oE 'avx512(f|bw|vl)' /proc/cpuinfo | sort -u
echo ""
echo "=== Go Version & GOEXPERIMENT ==="
go version
go env GOEXPERIMENT
- name: Run Tests
run: go test -v ./...
- name: Run Benchmarks
run: |
echo "=== Running Benchmarks ==="
go test -bench='${{ inputs.benchmark_pattern }}' \
-benchmem \
-count=${{ inputs.benchmark_count }} \
-cpu=1,2 \
./... | tee benchmark-results.txt
- name: Upload Benchmark Results
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
with:
name: benchmark-results-${{ github.run_number }}
path: benchmark-results.txt
retention-days: 90