madMAx43v3r / chia-gigahorse

221 stars 32 forks source link

Multiple OpenCL GPUs not working together when farming #145

Open xieyusi9 opened 1 year ago

xieyusi9 commented 1 year ago

Five AMD RX570 graphics cards are unable to work together. No matter how they are configured, only one card functions. It is unclear whether there is a misconfiguration or if there is a bug?

image image

xieyusi9 commented 1 year ago

I am using the complete package of version 1.8.1.giga13.

Perfy commented 1 year ago

Same problem with NVidia cards. Always work only card 1. 2023-06-11_142711

ddubick commented 1 year ago

DISCLAIMER Everything I'm going to say is guesswork as I don't have multiple GPUs. I could definitely be wrong.

It says right at the top that it's using multiple GPU devices so what is making you think that it's only using 1 GPU?

If you guys are thinking used_gpu = 1 means that it's only using 1 GPU I think you're wrong. I think that's a boolean saying that it used GPU to decompress as opposed to used_cpu = 1 and decompressing a single challenge wouldn't use more than 1 GPU anyway - pretty sure that multiple GPUs are for processing multiple challenges in parallel.

Have you run GPU performance monitoring to prove that it's only using 1 GPU?

xieyusi9 commented 1 year ago

@ddubick I observed this information from GPUZ.

ddubick commented 1 year ago

So another guess here... could it be that you've got CHIAPOS_MAX_CORES set to 2? The definition of this variable states that it controls the number of parallel processes.

When using GPU(s) to farm, it is recommended to allocate 2 cores per low end GPU, 4 cores per mid range GPU and 8 cores per high end GPU. With faster CPUs you can use less cores, and thus less RAM.

Perfy commented 1 year ago

I built a recompute server with a quad-core CPU and two GPUs. Both GPUs show the load, but on the first one it is much more. The log is still "used_gpu = 1", which really means the number of GPUs used in the calculation.

It would be more useful to see the index of the used GPU.

madMAx43v3r commented 1 year ago

So another guess here... could it be that you've got CHIAPOS_MAX_CORES set to 2? The definition of this variable states that it controls the number of parallel processes.

Yes CHIAPOS_MAX_CORES needs to be at least as large as the number of GPUs, with big GPUs it should be 2x or 4x more.

The log is still "used_gpu = 1", which really means the number of GPUs used in the calculation.

This is just a boolean, 0 = no GPU used, 1 = one GPU was used

xieyusi9 commented 1 year ago

@madMAx43v3r These graphics card mining rigs were previously used for Ethereum mining and have since been phased out. The CPU of the rig only has two cores.

madMAx43v3r commented 1 year ago

Yes that's fine, you can still use more "cores". It may not be enough for a lot of GPUs though...

nqzhang commented 1 year ago

i have same question,Is there any way to use all gpu? Even if the cpu performance is poor This machine was used to be mining Ethereum image image

image

madMAx43v3r commented 1 year ago

Yes, increase CHIAPOS_MAX_CORES to 4 or 8