diff --git a/.github/workflows/develop-chia.yaml b/.github/workflows/develop-chia.yaml index 8887b024..c7aabf00 100644 --- a/.github/workflows/develop-chia.yaml +++ b/.github/workflows/develop-chia.yaml @@ -46,7 +46,6 @@ jobs: "CHIADOG_BRANCH=dev" "CHIA_BRANCH=release/2.1.2" "BLADEBIT_BRANCH=master" - "MADMAX_BRANCH=master" "PLOTMAN_BRANCH=compress" tags: | ${{ secrets.DOCKERHUB_USERNAME }}/machinaris:develop @@ -90,9 +89,8 @@ jobs: "UBUNTU_VER=jammy" "MACHINARIS_STREAM=develop" "CHIADOG_BRANCH=dev" - "GIGAHORSE_BRANCH=v1.8.2.giga14" + "GIGAHORSE_BRANCH=v2.1.1.giga22" "CHIA_BRANCH=main" - "MADMAX_BRANCH=v1.8.2.giga14" "PLOTMAN_BRANCH=compress" tags: | ${{ secrets.DOCKERHUB_USERNAME }}/machinaris-gigahorse:develop diff --git a/.github/workflows/develop-chives.yaml b/.github/workflows/develop-chives.yaml index 240a0872..58b2843d 100644 --- a/.github/workflows/develop-chives.yaml +++ b/.github/workflows/develop-chives.yaml @@ -47,7 +47,6 @@ jobs: "CHIADOG_BRANCH=dev" "CHIVES_REPO=https://github.com/HiveProject2021/chives-blockchain.git" "CHIVES_BRANCH=1.5.4" - "MADMAX_BRANCH=master" "PLOTMAN_BRANCH=development" tags: | ${{ secrets.DOCKERHUB_USERNAME }}/machinaris-chives:develop diff --git a/.github/workflows/develop-mmx.yaml b/.github/workflows/develop-mmx.yaml index c4f20240..52b92106 100644 --- a/.github/workflows/develop-mmx.yaml +++ b/.github/workflows/develop-mmx.yaml @@ -45,7 +45,6 @@ jobs: "MACHINARIS_STREAM=develop" "MMX_BRANCH=master" "CHIA_BRANCH=latest" - "MADMAX_BRANCH=master" "PLOTMAN_BRANCH=development" tags: | ${{ secrets.DOCKERHUB_USERNAME }}/machinaris-mmx:develop diff --git a/.github/workflows/main-chia.yaml b/.github/workflows/main-chia.yaml index 7141c226..124cbdff 100644 --- a/.github/workflows/main-chia.yaml +++ b/.github/workflows/main-chia.yaml @@ -45,7 +45,6 @@ jobs: "UBUNTU_VER=jammy" "MACHINARIS_STREAM=latest" "CHIA_BRANCH=release/2.1.2" - "MADMAX_BRANCH=v1.8.2.giga14" "BLADEBIT_BRANCH=master" tags: | ${{ secrets.DOCKERHUB_USERNAME }}/machinaris:latest @@ -90,9 +89,8 @@ jobs: build-args: | "UBUNTU_VER=jammy" "MACHINARIS_STREAM=latest" - "GIGAHORSE_BRANCH=v1.8.2.giga14" + "GIGAHORSE_BRANCH=v2.1.1.giga22" "CHIA_BRANCH=main" - "MADMAX_BRANCH=v1.8.2.giga14" tags: | ${{ secrets.DOCKERHUB_USERNAME }}/machinaris-gigahorse:latest ${{ secrets.DOCKERHUB_USERNAME }}/machinaris-gigahorse:v${{ github.event.inputs.version }} diff --git a/.github/workflows/main-chives.yaml b/.github/workflows/main-chives.yaml index 495f1379..bfe425b3 100644 --- a/.github/workflows/main-chives.yaml +++ b/.github/workflows/main-chives.yaml @@ -46,7 +46,6 @@ jobs: "MACHINARIS_STREAM=latest" "CHIVES_REPO=https://github.com/HiveProject2021/chives-blockchain.git" "CHIVES_BRANCH=1.5.4" - "MADMAX_BRANCH=v1.8.2.giga14" tags: | ${{ secrets.DOCKERHUB_USERNAME }}/machinaris-chives:latest ${{ secrets.DOCKERHUB_USERNAME }}/machinaris-chives:v${{ github.event.inputs.version }} diff --git a/.github/workflows/main-mmx.yaml b/.github/workflows/main-mmx.yaml index 79e8c25b..cbf582d7 100644 --- a/.github/workflows/main-mmx.yaml +++ b/.github/workflows/main-mmx.yaml @@ -46,7 +46,7 @@ jobs: "MACHINARIS_STREAM=latest" "CHIA_BRANCH=latest" "MMX_BRANCH=v0.10.6" - "MADMAX_BRANCH=v1.8.2.giga14" + "GIGAHORSE_BRANCH=v2.1.1.giga22" tags: | ${{ secrets.DOCKERHUB_USERNAME }}/machinaris-mmx:latest ${{ secrets.DOCKERHUB_USERNAME }}/machinaris-mmx:v${{ github.event.inputs.version }} diff --git a/.github/workflows/test-chia.yaml b/.github/workflows/test-chia.yaml index c3baee5c..6d6d27a5 100644 --- a/.github/workflows/test-chia.yaml +++ b/.github/workflows/test-chia.yaml @@ -47,7 +47,6 @@ jobs: "CHIA_BRANCH=release/2.1.2" "PLOTMAN_BRANCH=development" "BLADEBIT_BRANCH=master" - "MADMAX_BRANCH=v1.8.2.giga14" tags: | ${{ secrets.DOCKERHUB_USERNAME }}/machinaris:test ghcr.io/${{ secrets.DOCKERHUB_USERNAME }}/machinaris:test @@ -90,7 +89,7 @@ jobs: "UBUNTU_VER=jammy" "MACHINARIS_STREAM=test" "CHIADOG_BRANCH=dev" - "GIGAHORSE_BRANCH=v1.8.2.giga14" + "GIGAHORSE_BRANCH=v2.1.1.giga22" "CHIA_BRANCH=main" "PLOTMAN_BRANCH=development" tags: | diff --git a/.github/workflows/test-chives.yaml b/.github/workflows/test-chives.yaml index ac6c7bf9..e0cf21dc 100644 --- a/.github/workflows/test-chives.yaml +++ b/.github/workflows/test-chives.yaml @@ -91,7 +91,6 @@ jobs: "CHIVES_REPO=https://github.com/foxypool/chives-blockchain.git" "CHIVES_BRANCH=main" "PLOTMAN_BRANCH=development" - "MADMAX_BRANCH=v1.8.2.giga14" tags: | ${{ secrets.DOCKERHUB_USERNAME }}/machinaris-chivesfoxy:test ghcr.io/${{ secrets.DOCKERHUB_USERNAME }}/machinaris-chivesfoxy:test diff --git a/.github/workflows/test-mmx.yaml b/.github/workflows/test-mmx.yaml index 9f7fe025..16a4d507 100644 --- a/.github/workflows/test-mmx.yaml +++ b/.github/workflows/test-mmx.yaml @@ -46,7 +46,7 @@ jobs: "CHIA_BRANCH=latest" "PLOTMAN_BRANCH=development" "MMX_BRANCH=v0.10.6" - "MADMAX_BRANCH=v1.8.2.giga14" + "GIGAHORSE_BRANCH=v2.1.1.giga22" tags: | ${{ secrets.DOCKERHUB_USERNAME }}/machinaris-mmx:test ghcr.io/${{ secrets.DOCKERHUB_USERNAME }}/machinaris-mmx:test diff --git a/CHANGELOG.md b/CHANGELOG.md index 249471f1..64ff881a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,10 @@ All notable changes to this project will be documented in this file. The format ### Added - Settings | Plotting | Bladebit now supports "no_direct_io: true" option ### Changed + - Support for [Gigahorse Recompute Server](https://github.com/guydavis/machinaris/wiki/Gigahorse#recompute-server) (single GPU on fullnode/farmer), shared by multiple Gigahorse harvesters. ### Updated + - [Chia](https://github.com/Chia-Network/chia-blockchain/releases/tag/2.1.1) to v2.1.1 - misc improvements, see their release notes. + - [Gigahorse](https://github.com/madMAx43v3r/chia-gigahorse/releases/tag/v2.1.1.giga22) to v2.1.1.giga22 with C20 compression support. ## [2.1.0] - 2023-10-06 ### Updated diff --git a/api/models/chia.py b/api/models/chia.py index 84e473f6..35985070 100644 --- a/api/models/chia.py +++ b/api/models/chia.py @@ -24,7 +24,7 @@ def __init__(self, cli_stdout, blockchain): self.plot_count = line.strip().split(':')[1].strip() elif "Total size of plots" in line: self.plots_size = line.strip().split(':')[1].strip() - if blockchain == 'chia': # Example "68.388 TiB, 68.425 TiBe (effective)" + if blockchain in ['cactus', 'chia', 'gigahorse']: # Example "68.388 TiB, 68.425 TiBe (effective)" raw,effective = self.plots_size.strip().split(',') self.plots_size = effective.strip().removesuffix('e (effective)') elif "status" in line: diff --git a/config/plotman.sample-gigahorse.yaml b/config/plotman.sample-gigahorse.yaml index 9fd5a7a4..536ef717 100644 --- a/config/plotman.sample-gigahorse.yaml +++ b/config/plotman.sample-gigahorse.yaml @@ -113,7 +113,7 @@ plotting: k: 32 # The default size for Chia plot is k32 mode: gpuplot # Either enable diskplot or gpuplot. network_port: 8444 # Use 8444 for Chia - compression: 7 # Compression level (default = 1, min = 1, max = 9) + compression: 7 # Compression level (default = 1, min = 1, max = 20) gpu_device: 0 # CUDA device (default = 0) gpu_ndevices: 1 # Number of CUDA devices (default = 1) gpu_streams: 4 # Number of parallel streams (default = 4, must be >= 2) diff --git a/config/plotman.sample-mmx.yaml b/config/plotman.sample-mmx.yaml index 2b4c8958..f8e1a58f 100644 --- a/config/plotman.sample-mmx.yaml +++ b/config/plotman.sample-mmx.yaml @@ -107,12 +107,12 @@ plotting: type: madmax madmax: - # Madmax plotter: https://github.com/guydavis/machinaris/wiki/MadMax - k: 32 # The minimum K size for mainnet will probably be k30 - mode: diskplot # Either enable diskplot or gpuplot. - n_threads: 4 # Default is 4, SLOWLY crank up if you have many cores - n_buckets: 256 # Default is 256 - n_buckets3: 256 # Default is 256 - n_rmulti2: 1 # Default is 1 + # Gigahorse plotter: https://github.com/guydavis/machinaris/wiki/Gigahorse + k: 32 # The default size for MMX plot is k32 + mode: gpuplot # Either enable diskplot or gpuplot. network_port: 11337 # Use 11337 for MMX - compression: 1 # Compression level (default = 1, min = 1, max = 9) + compression: 7 # Compression level (default = 1, min = 1, max = 20) + gpu_device: 0 # CUDA device (default = 0) + gpu_ndevices: 1 # Number of CUDA devices (default = 1) + gpu_streams: 4 # Number of parallel streams (default = 4, must be >= 2) + #gpu_shared_memory: 16 # Max shared / pinned memory in GiB (default = unlimited) diff --git a/docker/dockerfile b/docker/dockerfile index 1f60915b..78b2182e 100644 --- a/docker/dockerfile +++ b/docker/dockerfile @@ -9,7 +9,6 @@ ARG CHIADOG_BRANCH=main ARG FDCLI_BRANCH=master ARG FORKTOOLS_BRANCH=main ARG BLADEBIT_BRANCH=master -ARG MADMAX_BRANCH=master ARG APPLE_BRANCH ARG BALLCOIN_BRANCH @@ -103,6 +102,7 @@ ENV plots_dir="/plots" # One of fullnode, farmer, harvester, plotter, farmer+plotter, harvester+plotter. Default is fullnode ENV mode="fullnode" ENV chives_masternode="false" +ENV gigahorse_recompute_server="false" # The single blockchain to run: chia, flax, nchain, hddcoin, chives, etc ENV blockchains="chia" # If provided then these optional 3 public keys will be set in your plotman.yaml @@ -144,7 +144,7 @@ ENV CHIADOG_BRANCH=${CHIADOG_BRANCH} ENV FDCLI_BRANCH=${FDCLI_BRANCH} ENV FORKTOOLS_BRANCH=${FORKTOOLS_BRANCH} ENV BLADEBIT_BRANCH=${BLADEBIT_BRANCH} -ENV MADMAX_BRANCH=${MADMAX_BRANCH} +ENV GIGAHORSE_BRANCH=${GIGAHORSE_BRANCH} ENV MMX_HOME=/root/.mmx/ VOLUME [ "/id_rsa" ] diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 2058ff50..e245306b 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -104,7 +104,7 @@ if /usr/bin/bash /machinaris/scripts/forks/${blockchains}_launch.sh; then /usr/bin/bash /machinaris/scripts/bladebit_setup.sh ${BLADEBIT_BRANCH} > /tmp/bladebit_setup.log 2>&1 # Conditionally madmax on plotters and fullnodes, sleep a bit first - /usr/bin/bash /machinaris/scripts/madmax_setup.sh ${MADMAX_BRANCH} > /tmp/madmax_setup.log 2>&1 + /usr/bin/bash /machinaris/scripts/madmax_setup.sh ${GIGAHORSE_BRANCH} > /tmp/madmax_setup.log 2>&1 # Conditionally install plotman on plotters and fullnodes, after the plotters setup /usr/bin/bash /machinaris/scripts/plotman_autoplot.sh > /tmp/plotman_autoplot.log 2>&1 diff --git a/scripts/forks/gigahorse_launch.sh b/scripts/forks/gigahorse_launch.sh index 012a5e8d..8f5766f0 100644 --- a/scripts/forks/gigahorse_launch.sh +++ b/scripts/forks/gigahorse_launch.sh @@ -97,6 +97,10 @@ if [[ ${mode} =~ ^fullnode.* ]]; then /chia-gigahorse-farmer/chia.bin start farmer /chia-gigahorse-farmer/chia.bin start wallet fi + if [[ ${gigahorse_recompute_server} == "true" ]]; then + echo "Starting Gigahorse recompute_server shortly..." + sleep 20 && /chia-gigahorse-farmer/chia_recompute_server 2>&1 > /root/.chia/mainnet/log/recompute.log & + fi elif [[ ${mode} =~ ^farmer.* ]]; then /chia-gigahorse-farmer/chia.bin start farmer-only elif [[ ${mode} =~ ^harvester.* ]]; then diff --git a/scripts/madmax_setup.sh b/scripts/madmax_setup.sh index b06d5c1d..c1c74750 100644 --- a/scripts/madmax_setup.sh +++ b/scripts/madmax_setup.sh @@ -33,25 +33,23 @@ fi # MMX Plotter binaries, https://github.com/madMAx43v3r/chia-gigahorse -GIGAHORSE_MADMAX_BRANCH=$1 - # MMX and Gigahorse container gets the "new" Madmax plotters with compression, only available as binaries if [[ (${mode} =~ ^fullnode.* || ${mode} =~ "plotter") && (${blockchains} == 'mmx' || ${blockchains} == 'gigahorse') ]]; then if [ ! -f /usr/bin/chia_plot ] && [[ "${madmax_skip_build}" != 'true' ]]; then arch_name="$(uname -m)" if [[ "${arch_name}" = "x86_64" ]]; then pushd /usr/bin - curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${MADMAX_BRANCH}/cpu-plotter/linux/x86_64/chia_plot - curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${MADMAX_BRANCH}/cpu-plotter/linux/x86_64/chia_plot_k34 + curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${GIGAHORSE_BRANCH}/cpu-plotter/linux/x86_64/chia_plot + curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${GIGAHORSE_BRANCH}/cpu-plotter/linux/x86_64/chia_plot_k34 chmod 755 chia_plot* - curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${MADMAX_BRANCH}/cuda-plotter/linux/x86_64/cuda_plot_k26 - curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${MADMAX_BRANCH}/cuda-plotter/linux/x86_64/cuda_plot_k29 - curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${MADMAX_BRANCH}/cuda-plotter/linux/x86_64/cuda_plot_k30 - curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${MADMAX_BRANCH}/cuda-plotter/linux/x86_64/cuda_plot_k31 - curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${MADMAX_BRANCH}/cuda-plotter/linux/x86_64/cuda_plot_k32 - curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${MADMAX_BRANCH}/cuda-plotter/linux/x86_64/cuda_plot_k33 + curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${GIGAHORSE_BRANCH}/cuda-plotter/linux/x86_64/cuda_plot_k26 + curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${GIGAHORSE_BRANCH}/cuda-plotter/linux/x86_64/cuda_plot_k29 + curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${GIGAHORSE_BRANCH}/cuda-plotter/linux/x86_64/cuda_plot_k30 + curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${GIGAHORSE_BRANCH}/cuda-plotter/linux/x86_64/cuda_plot_k31 + curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${GIGAHORSE_BRANCH}/cuda-plotter/linux/x86_64/cuda_plot_k32 + curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${GIGAHORSE_BRANCH}/cuda-plotter/linux/x86_64/cuda_plot_k33 chmod 755 cuda_plot* - curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${MADMAX_BRANCH}/chiapos/linux/x86_64/ProofOfSpace + curl -sLJO https://github.com/madMAx43v3r/chia-gigahorse/raw/${GIGAHORSE_BRANCH}/chiapos/linux/x86_64/ProofOfSpace chmod 755 ProofOfSpace popd echo "Completed download of Madmax binaries for plotting:" diff --git a/web/templates/base.html b/web/templates/base.html index ec07b3da..4d05fc37 100644 --- a/web/templates/base.html +++ b/web/templates/base.html @@ -176,11 +176,6 @@ {{_('Machinaris')}} {{ global_config.machinaris_version }} - {% if global_config.madmax_version %} -