Has anyone tried the chiapos speed improvements?

Found on Reddit, not sure how to make it work on windows

6 Likes

I sure hope someone ports it over. Looks like a 25% speed improvement. Some concerning comments in that thread too as far as the Chia team’s response to community contribution.

It really does!

  • i7-11700 8c/16t
  • Asus Z590-F
  • ADATA SX8200 PRO 1TB for the first temporary (tweaked XFS)
  • ADATA SX8200 PRO 512GB for the second temporary (tweaked XFS)
  • RAM 32GB 3200MHs
  • running on Fedora 34

chia plots create -k 32 -r 4 -t /temp1/ -2 /temp2/ -d /plots/

Without using optimized chiapos:

Time for phase 1 = 4942.052 seconds. CPU (186.810%)
Time for phase 2 = 2194.180 seconds. CPU (89.190%)
Time for phase 3 = 4652.688 seconds. CPU (95.740%)
Time for phase 4 = 322.057 seconds. CPU (98.430%)
Total time = 12110.979 seconds. CPU (131.790%)

With using optimized chiapos:

Time for phase 1 = 4144.225 seconds. CPU (213.620%)
Time for phase 2 = 2222.626 seconds. CPU (89.100%)
Time for phase 3 = 3113.645 seconds. CPU (139.820%)
Time for phase 4 = 287.356 seconds. CPU (102.400%)
Total time = 9767.854 seconds. CPU (158.490%)
2 Likes

But it can be 3rd party risks! Beware using untrusted code on machine you are running node with your private keys!

Wow, how did you make it work, I just can’t follow the process

I just followed instructions. =)
What kind of problem are you have?

1 Like

I mine with hpool :joy:

1 Like

Running ubuntu and I cloned this to a folder (not my chia-blockchain), then ran the python install script and it ran through the install. Does this just modify the existing files in my chia-blockchain or did i miss something.

1 Like

Everything lol

So is this to modify the current chia install or to compile on another folder?

So he forked and combined on his own here GitHub - pechy/chiapos at combined

Is it clone and the install like the regular chia install?

EDIT: Ok I got it compiled in Ubuntu under WLS in windows. Defenetly a los of dependencies and tools needed for it. Below what I did

Dependencies

Git > sudo apt install git -y

cmake > https://www.fosslinux.com/38392/how-to-install-cmake-on-ubuntu.htm

Build essential > sudo apt-get install -y build-essential

Pip > pip install -U pip setuptools

Pybind11 > pip install pybind11

Once all the above is done follow to compile this combined version

Process

On the home folder

git clone https://github.com/pechy/chiapos/tree/combined.git

Then

Build and Compile

mkdir -p build && cd build
cmake ../
cmake --build . -- -j 6

Test

./RunTests

Usage

./ProofOfSpace -k 25 -f "plot.dat" -m "0x1234" create
./ProofOfSpace -k 25 -f "final-plot.dat" -m "0x4567" -t TMPDIR -2 SECOND_TMPDIR create
./ProofOfSpace -f "plot.dat" prove <32 byte hex challenge>
./ProofOfSpace -k 25 verify <hex proof> <32 byte hex challenge>
./ProofOfSpace -f "plot.dat" check <iterations>

Benchmark

time ./ProofOfSpace -k 25 create

I modified my current installation. But I think it’s able to make another chia instance to plot on linux without private keys to avoid security vulnerabilities. (I’ll try it soon, looks like a good idea)
What I did:

  1. . ./activate inside chia-blockchain folder
  2. python --version to know which version of piton is used
  3. Downloaded the corresponding .whl file (chiapos-1.0.2.dev1-cp37-cp37m-manylinux2010_x86_64.whl in my case of python 3.7)
  4. pip install WHL-FILE.whl
    Here I got error about incorrect version of dependency, but it had been installed successfully.
  5. modified setup.py in chia-blockchain folder, replacing “chiapos==1.0.2” to “chiapos”
  6. Ran python setup.py install

That’s all. Next chia plots create ... will work with this optimization. You will see using optimized chiapos below other parameters shown at plotting start.

Till all this process I didn’t down my node. All working as expected.

1 Like

Oh wow, why did I went the other route I don’t know lol. Maybe because im using the other repo.

Would you mind running time ./ProofOfSpace -k 25 create so I can compare to what I have?

You have to compare to yourself. It’s proper way ))
https://chiaforum.com/t/has-anyone-tried-this-speed-improvements/5479/3?u=gladanimal

Thank you for clarifying this for us

1 Like

Everything goes as expected even after the setup.py install but I don’t see

Must be looking like this

Starting plotting progress into temporary dirs: /temp1 and /temp2
Plot size is: 32
Buffer size is: 8000MiB
Using 128 buckets
Using 4 threads of stripe size 65536
--->>> Using optimized chiapos - d153b19 

Starting phase 1/4: Forward Propagation into tmp files... Thu May 27 08:11:56 2021
Computing table 1 ...

Yeap not getting that last line

1 Like

Could this be used together with Swar plotmanager just point it at the new plotter executable instead of chia?

In case of using linux - yep! Don’t know about win, not tested.

Heeeey, Im reaaaally interested, but anyone knows how to do it on windows?

Install Instructions:
** Option 1: Download the right .whl file (there are 3 versions for each OS, for python 3.7, 3.8 and 3.9 - find out your version with python --version). In the chia venv run pip install WHL-FILE.whl*

when it says venv, its like the venv using with Swar`s?
I only know Im going to use this file lol “chiapos-1.0.2.dev1-cp39-cp39-win_amd64.whl”

I had the exact same problem. I ended up spinning up a new VM and reinstalling it all. I am now getting that line in my log files.