Update PrimeNet program to add TF1G support. (#25) #359
Workflow file for this run
This file contains 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: | |
push: | |
pull_request: | |
schedule: | |
- cron: '0 0 1 * *' | |
env: | |
PIP_BREAK_SYSTEM_PACKAGES: 1 | |
jobs: | |
CUDALucas: | |
name: CUDALucas | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Before script | |
run: | | |
sed -i '/^GPU=/,/^fi/ s/^/# /' cudalucas.sh | |
sed -i 's/ -flto//' cudalucas.sh | |
sed -i '/^if ! COMPUTE=/,/^fi/ s/^/# /' cudalucas.sh | |
sed -i 's/\/$COMPUTE/\/-gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70/' cudalucas.sh | |
sed -i '/^\.\/CUDALucas / s/^/# /' cudalucas.sh | |
sed -i '/^timeout / s/^/# /' cudalucas.sh | |
sed -i '/^nohup / s/^/# /' cudalucas.sh | |
sed -i '/^python3 -OO / s/^/# /' cudalucas.sh | |
gcc --version | |
- name: Script | |
run: bash -e -o pipefail -- cudalucas.sh ANONYMOUS | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: ${{ matrix.os }}_cudalucas | |
path: | | |
cudalucas/ | |
- name: ShellCheck | |
run: shopt -s globstar; shellcheck -o avoid-nullary-conditions,check-extra-masked-returns,check-set-e-suppressed,deprecate-which,quote-safe-variables,require-double-brackets -s bash **/*.sh | |
continue-on-error: true | |
- name: Clang-Tidy | |
run: cd cudalucas && clang-tidy --use-color -checks='bugprone-*,cert-*,clang-analyzer-*,concurrency-*,misc-*,-misc-no-recursion,performance-*,portability-*,readability-const-return-type,readability-container-*,readability-duplicate-include,readability-else-after-return,readability-make-member-function-cons,readability-non-const-parameter,readability-redundant-*,readability-simplify-*,readability-string-compare,readability-use-*' -header-filter='.*' *.c *.cu -- -Wall -O3 --cuda-gpu-arch=sm_50 | |
GpuOwl: | |
name: GpuOwl | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] | |
cxx: [g++, clang++] | |
fail-fast: false | |
env: | |
CXX: ${{ matrix.cxx }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install | |
run: | | |
sudo apt-get update -y | |
sudo apt-get install -y ocl-icd-opencl-dev pocl-opencl-icd | |
- name: Before script | |
run: | | |
sed -i '/^GPU=/,/^fi/ s/^/# /' gpuowl.sh | |
[[ $CXX == clang* ]] && sed -i 's/-O3 -flto/-O3/' gpuowl.sh | |
sed -i '/^nohup / s/^/# /' gpuowl.sh | |
sed -i '/^python3 -OO / s/^/# /' gpuowl.sh | |
$CXX --version | |
- name: Script | |
run: bash -e -o pipefail -- gpuowl.sh ANONYMOUS | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: ${{ matrix.os }}_${{ matrix.cxx }}_gpuowl | |
path: | | |
gpuowl/ | |
- name: ShellCheck | |
run: shopt -s globstar; shellcheck -o avoid-nullary-conditions,check-extra-masked-returns,check-set-e-suppressed,deprecate-which,quote-safe-variables,require-double-brackets -s bash **/*.sh | |
continue-on-error: true | |
Mlucas: | |
name: Mlucas | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] | |
cc: [gcc, clang] | |
fail-fast: false | |
env: | |
CC: ${{ matrix.cc }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Before script | |
run: | | |
sed -i '/^[[:blank:]]*nohup / s/^/# /' mlucas.sh | |
sed -i '/^python3 -OO / s/^/# /' mlucas.sh | |
$CC --version | |
- name: Script | |
run: | | |
set -x | |
bash -e -o pipefail -- mlucas.sh ANONYMOUS | |
echo -e '## Warnings\n```' >> $GITHUB_STEP_SUMMARY | |
grep 'warning:' Mlucas/obj/build.log | sed 's/\x1B\[\([0-9]\+\(;[0-9]\+\)*\)\?m//g' | awk '{ print $NF }' | sort | uniq -c | sort -nr >> $GITHUB_STEP_SUMMARY | |
echo '```' >> $GITHUB_STEP_SUMMARY | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: ${{ matrix.os }}_${{ matrix.cc }}_mlucas | |
path: | | |
Mlucas/ | |
- name: ShellCheck | |
run: shopt -s globstar; shellcheck -o avoid-nullary-conditions,check-extra-masked-returns,check-set-e-suppressed,deprecate-which,quote-safe-variables,require-double-brackets -s bash **/*.sh | |
continue-on-error: true | |
Pylint: | |
name: Pylint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: | | |
python3 -m pip install --upgrade pip | |
python3 -m pip install pylint | |
- name: Script | |
run: pylint -f github --py-version 2.6 -d design,C0103,W0311,C0301,C0302,C0209,R1702 --load-plugins pylint.extensions.code_style,pylint.extensions.comparison_placement,pylint.extensions.for_any_all,pylint.extensions.consider_refactoring_into_while_condition,pylint.extensions.consider_ternary_expression,pylint.extensions.dict_init_mutate,pylint.extensions.docstyle,pylint.extensions.check_elif,pylint.extensions.set_membership,pylint.extensions.typing -e R6104,C1804,C1805 -r y *.py mprime-python-port/*.py | |
continue-on-error: true | |
Ruff: | |
name: Ruff | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: | | |
python3 -m pip install --upgrade pip | |
python3 -m pip install ruff | |
- name: Script | |
run: ruff check --output-format=github --target-version py37 --select F,E4,E7,E9,W,I,D,UP,YTT,S,BLE,B,A,COM819,C4,T10,EM,EXE,ISC,ICN,G,PIE,PYI,Q,RSE,RET,SLF,SLOT,SIM,TID,TCH,ARG,PGH,PL,TRY,PERF,FURB,LOG,RUF --preview --ignore W191,D211,D213,D401,UP004,UP008,UP009,UP010,UP024,UP030,UP032,UP036,PYI024,PLR09,PLR1702,PLR2004,S324,S404,S603,FURB101,FURB167,RUF001,RUF002,RUF003,RUF005,RUF023 . | |
continue-on-error: true | |
Linux: | |
name: PrimeNet Linux | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: | | |
python3 -m pip install --upgrade pip | |
python3 -m pip install requests | |
- name: Script | |
run: | | |
set -x | |
wget -qO - https://raw.github.com/tdulcet/Linux-System-Information/master/info.sh | bash -s -- | |
python3 -X dev -c 'import platform; print(platform.freedesktop_os_release())' || true | |
python3 -X dev primenet.py --help | |
macOS: | |
name: PrimeNet macOS | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-13, macos-latest] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: | | |
python3 -m pip install --upgrade pip | |
python3 -m pip install requests | |
- name: Script | |
run: | | |
set -x | |
sysctl -n machdep.cpu.brand_string | |
sysctl -n hw.physicalcpu_max hw.logicalcpu_max | |
sysctl -n hw.cpufrequency hw.cpufrequency_max hw.tbfrequency kern.clockrate | |
sysctl -n hw.memsize | |
sysctl -n hw.l1dcachesize hw.l2cachesize hw.l3cachesize | |
python3 -X dev -c 'import platform; print(platform.mac_ver())' | |
python3 -X dev primenet.py --help | |
Windows: | |
name: PrimeNet Windows | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [windows-2019, windows-latest] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install requests | |
- name: Script | |
run: | | |
wmic cpu get name | |
Get-CimInstance Win32_Processor | Select Name | |
wmic cpu get NumberOfCores,NumberOfLogicalProcessors | |
Get-CimInstance Win32_Processor | Select NumberOfCores,NumberOfLogicalProcessors | |
wmic cpu get MaxClockSpeed | |
Get-CimInstance Win32_Processor | Select MaxClockSpeed | |
wmic memphysical get MaxCapacity | |
Get-CimInstance Win32_PhysicalMemoryArray | Select MaxCapacity | |
wmic ComputerSystem get TotalPhysicalMemory | |
Get-CimInstance Win32_ComputerSystem | Select TotalPhysicalMemory | |
wmic cpu get L2CacheSize,L3CacheSize | |
Get-CimInstance Win32_Processor | Select L2CacheSize,L3CacheSize | |
wmic path Win32_CacheMemory get CacheType,InstalledSize,Level | |
Get-CimInstance Win32_CacheMemory | Select CacheType,InstalledSize,Level | |
python -X dev -c "import platform; print(platform.win32_ver())" | |
python -X dev primenet.py --help |