Author Topic: Open source OpenCL GPU miner by girino - Binaries for win, linux, osx (1% fee)  (Read 36281 times)

0 Members and 1 Guest are viewing this topic.

Offline renesoft

  • Newbie
  • *
  • Posts: 15
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #44 on: January 17, 2014, 12:22:36 pm »
Hi

I build that and that work.
but perfomance not perfect. on my 7950 I get only ~715 cpm. 1gh binary miner get ~1000 cpm.
any ideas how to up speed?
my options -a gpuv4 -m 28

You can try the different algorithms, V3 and V2. Maybe one of them is best for your card. Also, if there is more than one card/GPU/OpenCLDevice, you should run more than one thread. (i am implementing code to select which GPUs you want it to run from the command line).

with V3 little more. close to 800 cpm. no, I have only one card.
you work is great, but difference still too much.
I will also look code in deep, if I will find any ideas I will let you know.

john the ripper has sha512 code specific for AMD, but i was unable to test it since i have no AMD card. I will create a "gpuv6" that uses it instead of the generic version, and see if we get closer to them. Any other tips and tricks for tuning opencl code on AMD cards are welcome.

thanks for add gpuv6! I will test asap after adding.

Offline archit

  • Full Member
  • ***
  • Posts: 161
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #43 on: January 17, 2014, 11:57:29 am »
I still can't understand it.

Let's say I have 2 platforms and I want to select device 0 on platform 1. What would I use?

Offline girino

  • Full Member
  • ***
  • Posts: 73
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #42 on: January 17, 2014, 11:54:25 am »
Hi

I build that and that work.
but perfomance not perfect. on my 7950 I get only ~715 cpm. 1gh binary miner get ~1000 cpm.
any ideas how to up speed?
my options -a gpuv4 -m 28

You can try the different algorithms, V3 and V2. Maybe one of them is best for your card. Also, if there is more than one card/GPU/OpenCLDevice, you should run more than one thread. (i am implementing code to select which GPUs you want it to run from the command line).

with V3 little more. close to 800 cpm. no, I have only one card.
you work is great, but difference still too much.
I will also look code in deep, if I will find any ideas I will let you know.

john the ripper has sha512 code specific for AMD, but i was unable to test it since i have no AMD card. I will create a "gpuv6" that uses it instead of the generic version, and see if we get closer to them. Any other tips and tricks for tuning opencl code on AMD cards are welcome.

Offline girino

  • Full Member
  • ***
  • Posts: 73
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #41 on: January 17, 2014, 11:50:26 am »
Please edit ti so that we can select platforms also

what do you mean by choosing platforms? you can choose all devices from a single platform by listing them. Supose that you have 2 platforms, one with 3 devices, the other with 4, and you want all devices from the second, just: -device 3,4,5,6. Or is there something i am missing?

I feel like you are missing something.

OpenCL devices have a platform id and device id too. In your code, you simple assume the platform to be 0 but many of the times it isn't the case

Actually, i have already changed that. I list all devices from all platforms and put them into a big list. When you choose device 3 you are actually choosing device 0 from platform 1, so you can just use -device 3 to use it. It was easier to do this than to parse another command line for platform.

Offline archit

  • Full Member
  • ***
  • Posts: 161
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #40 on: January 17, 2014, 11:37:46 am »
Please edit ti so that we can select platforms also

what do you mean by choosing platforms? you can choose all devices from a single platform by listing them. Supose that you have 2 platforms, one with 3 devices, the other with 4, and you want all devices from the second, just: -device 3,4,5,6. Or is there something i am missing?

I feel like you are missing something.

OpenCL devices have a platform id and device id too. In your code, you simple assume the platform to be 0 but many of the times it isn't the case

Offline girino

  • Full Member
  • ***
  • Posts: 73
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #39 on: January 17, 2014, 10:44:04 am »
Please edit ti so that we can select platforms also

what do you mean by choosing platforms? you can choose all devices from a single platform by listing them. Supose that you have 2 platforms, one with 3 devices, the other with 4, and you want all devices from the second, just: -device 3,4,5,6. Or is there something i am missing?

Offline archit

  • Full Member
  • ***
  • Posts: 161
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #38 on: January 17, 2014, 09:46:02 am »
Please edit ti so that we can select platforms also

Offline renesoft

  • Newbie
  • *
  • Posts: 15
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #37 on: January 17, 2014, 05:12:47 am »
Hi

I build that and that work.
but perfomance not perfect. on my 7950 I get only ~715 cpm. 1gh binary miner get ~1000 cpm.
any ideas how to up speed?
my options -a gpuv4 -m 28

You can try the different algorithms, V3 and V2. Maybe one of them is best for your card. Also, if there is more than one card/GPU/OpenCLDevice, you should run more than one thread. (i am implementing code to select which GPUs you want it to run from the command line).

with V3 little more. close to 800 cpm. no, I have only one card.
you work is great, but difference still too much.
I will also look code in deep, if I will find any ideas I will let you know.

Offline girino

  • Full Member
  • ***
  • Posts: 73
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #36 on: January 17, 2014, 03:31:55 am »
1350 cpm for 2x280x (vs abt 2200 on 1gh miner), driver crash after 15 min.

try the new version. I corrected some memory leaks that should solve the crashing problem. Also there's a slight performance increase.

Offline girino

  • Full Member
  • ***
  • Posts: 73
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #35 on: January 17, 2014, 03:24:44 am »
correction: after half an hour it also crashed with "gpuv3" mode with the following output:

[WORKER] collision found: 29176733 <-> 34093243 #116120 @ 1389914984 by 2
[MASTER] submitted share -> SHARE
[STATS] 2014-Jan-16 15:12:27 | 2152.4 c/m | 33.2 sh/m | VL: 1788 (99.8%), RJ: 4 (0.2%), ST: 0 (0.0%)
ERROR: -4, CL_MEM_OBJECT_ALLOCATION_FAILURE, if there is a failure to allocate memory for buffer object.
assertion "_MY_ERR_X == CL_SUCCESS" failed: file "OpenCLObjects.cpp", line 427, function: _cl_event* OpenCLCommandQueue::enqueueKernel1D(OpenCLKernel*, size_t, size_t, _cl_event**, size_t)
Aborted

update to the new version. There was a memory leak that should be solved in this new version.

Offline girino

  • Full Member
  • ***
  • Posts: 73
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #34 on: January 17, 2014, 03:03:27 am »
correction: after half an hour it also crashed with "gpuv3" mode with the following output:

[WORKER] collision found: 29176733 <-> 34093243 #116120 @ 1389914984 by 2
[MASTER] submitted share -> SHARE
[STATS] 2014-Jan-16 15:12:27 | 2152.4 c/m | 33.2 sh/m | VL: 1788 (99.8%), RJ: 4 (0.2%), ST: 0 (0.0%)
ERROR: -4, CL_MEM_OBJECT_ALLOCATION_FAILURE, if there is a failure to allocate memory for buffer object.
assertion "_MY_ERR_X == CL_SUCCESS" failed: file "OpenCLObjects.cpp", line 427, function: _cl_event* OpenCLCommandQueue::enqueueKernel1D(OpenCLKernel*, size_t, size_t, _cl_event**, size_t)
Aborted

looks like there's some memory leak. I'll look into it and fix ASAP.

looks like doing clReleaseEvent is not enough to free the memory allocated by cl_events on some platforms. I just refactored the code to eliminate the need for events and should release a new version soon. (new version will also support selecting the devices in which to run).

Those in a hurry to test the changes can download the branch "opencl-code-cleanup" bit doing:
Code: [Select]
git clone -b opencl-code-cleanup https://github.com/girino/ptsminer
edit: sorry for bad english, it's late at night here, and i'm almost sleeping over my keyboard.
« Last Edit: January 17, 2014, 03:07:35 am by girino »

Offline archit

  • Full Member
  • ***
  • Posts: 161
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #33 on: January 17, 2014, 02:21:59 am »
Awesome work!

Offline girino

  • Full Member
  • ***
  • Posts: 73
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #32 on: January 17, 2014, 01:43:46 am »
correction: after half an hour it also crashed with "gpuv3" mode with the following output:

[WORKER] collision found: 29176733 <-> 34093243 #116120 @ 1389914984 by 2
[MASTER] submitted share -> SHARE
[STATS] 2014-Jan-16 15:12:27 | 2152.4 c/m | 33.2 sh/m | VL: 1788 (99.8%), RJ: 4 (0.2%), ST: 0 (0.0%)
ERROR: -4, CL_MEM_OBJECT_ALLOCATION_FAILURE, if there is a failure to allocate memory for buffer object.
assertion "_MY_ERR_X == CL_SUCCESS" failed: file "OpenCLObjects.cpp", line 427, function: _cl_event* OpenCLCommandQueue::enqueueKernel1D(OpenCLKernel*, size_t, size_t, _cl_event**, size_t)
Aborted

looks like there's some memory leak. I'll look into it and fix ASAP.

Offline mich431

  • Jr. Member
  • **
  • Posts: 29
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #31 on: January 16, 2014, 11:15:26 pm »
correction: after half an hour it also crashed with "gpuv3" mode with the following output:

[WORKER] collision found: 29176733 <-> 34093243 #116120 @ 1389914984 by 2
[MASTER] submitted share -> SHARE
[STATS] 2014-Jan-16 15:12:27 | 2152.4 c/m | 33.2 sh/m | VL: 1788 (99.8%), RJ: 4 (0.2%), ST: 0 (0.0%)
ERROR: -4, CL_MEM_OBJECT_ALLOCATION_FAILURE, if there is a failure to allocate memory for buffer object.
assertion "_MY_ERR_X == CL_SUCCESS" failed: file "OpenCLObjects.cpp", line 427, function: _cl_event* OpenCLCommandQueue::enqueueKernel1D(OpenCLKernel*, size_t, size_t, _cl_event**, size_t)
Aborted

Offline mich431

  • Jr. Member
  • **
  • Posts: 29
    • View Profile
Re: Open source OpenCL GPU miner by girino
« Reply #30 on: January 16, 2014, 10:43:43 pm »
ok some updates:

on the mining hardware (with 3 graphic chips) using the following command

 ./ptsminer -u <ptsadress> -t 3 -m 28 -o ptsmine.beeeeer.org -q 1337 -a gpuv4

it starts working but then crahes after some minutes - see screenshot:



using -a gpuv3 it works like a charm - starting at low c/m but then rising up

on my notebook with 512mb vram graphics i get the following output (identical behavior with "-a gpu"):

$ ./ptsminer -u <pts id> -t 1 -m 26 -o ptsmine.beeeeer.org -q 1337 -a gpuv3
********************************************
*** ptsminer - Pts Pool Miner v0.7 RC2 <experimental>
*** by xolokram/TB - www.beeeeer.org - glhf
***
*** performance improvements by girino
***    if you like, donate:
***    PTS: PkyeQNn1yGV5psGeZ4sDu6nz2vWHTujf4h
***    BTC: 1GiRiNoKznfGbt8bkU1Ley85TgVV7ZTXce
*** thanks to wjchen for SSE4 improvements.
***
*** press CTRL+C to exit
********************************************
using GPU
spawning 1 worker thread(s)
[WORKER0] Hello, World!
[WORKER0] GoGoGo!
connecting to 54.201.26.128:1337
[MASTER] work received - sharetarget: 03ffffffffffffffffffffffffffffffffffffffffffffffffffffffbeefde4d
[STATS] 2014-Jan-16 23:41:43 | VL: 0 (0.0%), RJ: 0 (0.0%), ST: 0 (0.0%)
Platform: AMD Accelerated Parallel Processing
  Device: ATI RV710
  Device: Intel(R) Core(TM)2 Duo CPU     U9400  @ 1.40GHz
Starting OpenCLMomentum V3
Device: ATI RV710
Max work group size: 128
ERROR: -48, CL_INVALID_KERNEL, if kernel is not a valid kernel object.
assertion "_MY_ERR_X == CL_SUCCESS" failed: file "OpenCLObjects.cpp", line 456, function: size_t OpenCLKernel::getWorkGroupSize(OpenCLDevice*)
Aborted