Gigahorse Ubuntu Simple Plotting Guide

Gigahorse GPU Plotter Simple Plotting Guide (Ubuntu)

Plotting with Gigahorse GPU

Step 1: Download https://github.com/madMAx43v3r/chia-gigahorse/raw/master/cuda-plotter/linux/x86_64/cuda_plot_k32

(download the k33 version to plot k33, k33 is suggested if you have 256G or more RAM as you will need to replot to k33 in the distant future, note that k33 will double your memory requirements)

Step 2: Convert cuda_plot to executable

go to downloads or wherever you downloaded the file using command cd Downloads
then use the command chmod +x cuda_plot_k32

Step 3: Install latest nvida cuda drivers

This can be done in terminal using command:

sudo apt install nvidia-driver-525 nvidia-cuda-toolkit clinfo

Step 4: Run the Plotter, go to where you downloaded the file via cd Downloads

Command for 256G RAM
sudo ./cuda_plot_k32 -C x -n y -r 1 -t firstssd -d HDD -c xch16aak27z0vqyf4dechwcnt86ptyp3p0fa3xjqc458n6fn09x33rmsdmqm0t -f a89785319d88bcecec571343ca99ef376c7bbb2563ebb9b56b5fa2d307dc9cf8c98f0070b371ee2567b4a859fb8692ba

256G Example
sudo ./cuda_plot_k32 -C 7 -n 20 -r 1 -t /media/misher/writable/ -d /media/misher/HDD19/ -c xch16aak27z0vqyf4dechwcnt86ptyp3p0fa3xjqc458n6fn09x33rmsdmqm0t -f a89785319d88bcecec571343ca99ef376c7bbb2563ebb9b56b5fa2d307dc9cf8c98f0070b371ee2567b4a859fb8692ba

Command for 128G RAM
sudo ./cuda_plot_k32 -C x -n y -r 1 -t firstssd -2 secondssd -d HDD -c xch16aak27z0vqyf4dechwcnt86ptyp3p0fa3xjqc458n6fn09x33rmsdmqm0t -f a89785319d88bcecec571343ca99ef376c7bbb2563ebb9b56b5fa2d307dc9cf8c98f0070b371ee2567b4a859fb8692ba

128G Example
sudo ./cuda_plot_k32 -C 7 -n 20 -r 1 -t /media/misher/writable/ -2 /mnt/writeable2/ -d /media/misher/HDD19/ -c xch16aak27z0vqyf4dechwcnt86ptyp3p0fa3xjqc458n6fn09x33rmsdmqm0t -f a89785319d88bcecec571343ca99ef376c7bbb2563ebb9b56b5fa2d307dc9cf8c98f0070b371ee2567b4a859fb8692ba

Command for 64G RAM
sudo ./cuda_plot_k32 -C x -n y -r 1 -t firstssd -2 secondssd -3 thirdssd -d HDD -c xch16aak27z0vqyf4dechwcnt86ptyp3p0fa3xjqc458n6fn09x33rmsdmqm0t -f a89785319d88bcecec571343ca99ef376c7bbb2563ebb9b56b5fa2d307dc9cf8c98f0070b371ee2567b4a859fb8692ba

64G Example
sudo ./cuda_plot_k32 -C 7 -n 20 -r 1 -t /media/misher/writable/ -2 /mnt/writeable2/ -3 /mnt/writeable3/ -d /media/misher/HDD19/ -c xch16aak27z0vqyf4dechwcnt86ptyp3p0fa3xjqc458n6fn09x33rmsdmqm0t -f a89785319d88bcecec571343ca99ef376c7bbb2563ebb9b56b5fa2d307dc9cf8c98f0070b371ee2567b4a859fb8692ba

x=compression level
y=# of plots to make
-t=temporary drive (a fast ssd is needed)
-2=2nd temporary drive (a fast ssd is needed)
-3=3rd temporary drive (a fast ssd is needed)
-d=HDD to copy plots to
-c pool contract address (if use default you will only be able to use Flexpool using Flexfarmer)
-f farmer key (if use default you will only be able to use Flexpool using Flexfarmer)

Notes:
Gigahorse works for Nvidia GPUs only

You can use the same ssd for –t -2 -3 but this will slow things down.
256G will go the fastest, 64G will go the slowest. 128G Is the minimum recommended.
Level 7 or 8 is the recommended compression level. Please do your own research.
AMD plotting and farming is not currently supported. AMD farming is coming soon.
This guide is for beginners using Ubuntu GUI. Advanced users can read the instructions on madMAx’s Github and discord. Features like –d and others are very useful.
Your RAM, GPU, SSD, CPU, etc. will get hot. Make sure to maintain proper airflow to maintain fast plotting speeds.

Note that if you use my example to plot without a node you can use the below to farm those plots on FlexFarmer. Make sure to set payout address in FlexFarmer config to your own:
farmer_secret_key: “0x7008eacbb589edd7c5ae4e55e3c3907e9e6a440dc004b2a55b7b021d6beb62a8” # Used to sign partials and blocks
launcher_id: “0x289f0b0d330aa7814e14fa6cf9db115551c430d46752aa678bd5e424c84c5689” # Identifier of your Plot NFT

9 Likes

great guide! can’t wait for flexfarmer 3.0!

3 Likes

Thanks for the guide.

so for 64gb ram it needs 3 ssd?
will 1660s be able to plot/farm c7-8 plots?

Thanks…I’m thinking about adding some madmax compressed plots to farm in parallel with my existing NFT plots. I have an idle 5950X with 128GB or RAM and will purchase an RTX 3080 card which I was going to buy for another purpose (and so that’s why it’s a bit overkill for plotting).

A couple of questions:

  1. with this setup, I think I will get less than 10 minute plots. If that’s the case, and if it makes me 10 minutes over a 10G Ethernet link to my JBOD where the final plots will reside, how can I buffer the copies so as to not slow things down? I’m guessing it won’t be possible since copying to my final destination hard drive will be my limiting factor, but not 100% sure.
  2. Am I still able to pool using Space Pool? I currently run Chia 1.7 full node on Windows to do the farming. Can I run GigaHorse on the same machine to farm the new plots I’ll be creating?
  3. Lastly, any recommendations if I should be plotting gigahorse k32 or k33 plots with this setup? And what compression level should I use? Since I’ll only have one RTx card, my plan is to plot first and then move the card to the Windows machine running the farm. I think I need a GPU both for plotting and for farming, right?

Thank you!

I might give a shot at answering some of ur questions >

  1. Yes, most likely less than 10, even 1/2 that perhaps depending on ur nvme quality and ur chosen C level. On that note. please stay C7 or below. There is some crazy obsession of pepes to make the smallest possible plot size…it’s nuts. You will need a lot more energy to farm C8 (or C9), than even C7.

The plotter will buffer for you across the network if u use the provided plot_sink tool. But u need a PC to receive them on the other end.

  1. no idea

  2. K32 for sure. K33 is harder to do with 128GB memory, you’ll need a -t, a -2, and a -3 drive (all nvme). -3 needs to be as close to actual memory speed as possible, -2 less so, and -t is the buffer used before sending off to the plot_sink. K32 only required the -t & -2 The result is it is more than x2 slower than K32, and really not worth it for any reasonable sized farm. But of course it is always fun to try and see for yourself what happens!

One further note is w/my 128GB PC i do K32s in 3.25 minutes typically when doing x3 or x4 18TB at a time. It’s a days long process, but it hella faster than even BladeBit!

2 Likes

Thanks for the advice.

I’m a bit confused by what the sink tool does. When I used the original MadMax plotter, the plotting will continue while the copy to the final destination takes place in the background. Does the new GPU plotter do the same?

In either case, the plotter and the windows machine running full node are differ machines connected using a 10G Ethernet switch.

Thanks again!

I think I know why my copying plots take so long
image

4 Likes

The plot_sink acts as a network receiver for plots sent across the network from the plotter via TCP/IP protocol. There can be multiple destinations drives for plots using this on the receiver end. The buffering is done on the plotter, and can be limited as to number of plots allowed to be cached there. When cache is full, the plotter pauses until more can be put in the buffer to be sent.

Oh, I see….it provides the ability to move the plots to different locations on a rotational basis.

Great writeup!! I try this but getting invalid plots, I’m using ubuntu GUI client, any ideas why the plots would be invalid? Thanks!

It is here already in flexfarmer 2.3

You have to use linux and flexfarmer or gigahorse chia.bin

If we plot with those keys used by flexpool how to configure flexfarmer as it refuse to run with empty keys?

farmer_secret_key: “0x7008eacbb589edd7c5ae4e55e3c3907e9e6a440dc004b2a55b7b021d6beb62a8” # Used to sign partials and blocks
launcher_id: “0x289f0b0d330aa7814e14fa6cf9db115551c430d46752aa678bd5e424c84c5689” # Identifier of your Plot NFT

I got this error: Invalid contract (address): 0x, ‘6’ (bech32 string too short, see chia plotnft show)
I’m using:
sudo ./cuda_plot_k32 -c 6 -n 1 -r 1 -m 128 -t /mnt/Z/ -2 /mnt/C/ -d V:\ -c xch16aak27z0vqyf4dechwcnt86ptyp3p0fa3xjqc458n6fn09x33rmsdmqm0t -f a89785319d88bcecec571343ca99ef376c7bbb2563ebb9b56b5fa2d307dc9cf8c98f0070b371ee2567b4a859fb8692ba

Your using a small c instead of a big C
sudo ./cuda_plot_k32 “-c”

1 Like

Is there any reason to use sudo to run clearly a user level process?

Is there any difference running the command with -c versus using -p ? Does either of them work? I notice some youtube instructions display using Pool contract address -c and some are using Farmer public key -f. I try both and I’m not seeing my plots in web dashboard, but maybe I did not wait long enough. I’m using pool.space

-p is for solo I think but I’m not sure