YoRyan / nuxhash

A NiceHash cryptocurrency mining client for Linux.
GNU General Public License v3.0
263 stars 161 forks source link

Can I mine with a single GPU? #24

Open hazemhagrass opened 5 years ago

hazemhagrass commented 5 years ago

Hi, I have multiple GPUs. Can i mine with a single GPU only?

YoRyan commented 5 years ago

Yes. If you can run the GUI, use the benchmarking window to disable all algorithms on the other cards.

hazemhagrass commented 5 years ago

I could not see that option. Can you please send me some screenshots?

YoRyan commented 5 years ago

My apologies. You can disable individual algorithms by zero'ing out the benchmark speed, but you cannot disable an entire GPU, because nuxhash will always pick at least one algorithm to run. I will add an explicit enable/disable control.

F1Rumors commented 5 years ago

Can't you disable it in the top dialog? Pretty sure that it is how I indicated I was not interested in cpu mining!

On Tue, 7 May 2019, 19:43 Ryan Young, notifications@github.com wrote:

My apologies. You can disable individual algorithms by zero'ing out the benchmark speed, but you cannot disable an entire GPU, because nuxhash will always pick at least one algorithm to run. I will add an explicit enable/disable control.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/YoRyan/nuxhash/issues/24#issuecomment-490293469, or mute the thread https://github.com/notifications/unsubscribe-auth/AIDCSM6PLRC6IRMUQMAUZILPUIHZ3ANCNFSM4HKOTTPQ .

YoRyan commented 5 years ago

Nuxhash doesn't support CPU mining, period.

hazemhagrass-incorta commented 5 years ago

@YoRyan Thanks a lot Looking forward to see it in action

marcdemers commented 4 years ago

As a simple workaround, I disabled one single GPU by setting the CUDA_VISIBLE_DEVICES=id environment variable, and modifying the start_work method in excavator.py as such:

    def start_work(self, algorithm, device, benchmarking=False):
        """Start running algorithm on device."""
        # Create associated algorithm(s).
        for multialgorithm in algorithm.split('_'):
            algorithm_instance = self._running_algorithms[multialgorithm]
            algorithm_instance.set_benchmarking(benchmarking)
            algorithm_instance.grab()

        # Create worker.
        if device.pci_bus in self._device_map.keys():
            device_id = self._device_map[device.pci_bus]
            if benchmarking:
                response = self.send_command(
                    'worker.add', [f'benchmark-{algorithm}', device_id])
            else:
                response = self.send_command('worker.add', [algorithm, device_id])
            self._running_workers[(algorithm, device)] = response['worker_id']
        else:
            print("No worker on GPU", device)