Author

Topic: [ANN][BURST] Burst | Efficient HDD Mining | New 1.2.3 Fork block 92000 - page 923. (Read 2171083 times)

newbie
Activity: 28
Merit: 0
Quote

This is my parameter

Code:
gpuPlotGenerator.exe plots myaccount 68847637 18500000 4096 256

I run it, it started, but plot isn't generated. Win7 64bit, 280x.
hero member
Activity: 1036
Merit: 531
YES. Cross-Fire Card.

Tried your setting but not working on mine. Perhaps due to multi-gpu.


You mean you have more than one card on your computer that's right?

I have Multi card too (R9 290X) but not in crossfire
hero member
Activity: 518
Merit: 500
What is your full parameter ?

Hi everyone,

After many hours of setup I finally made it. I have a 1Tb generation in progress and 3x100Gb already finished.
I would like to test the V2 pool but I haven't any BURST for now. Could someone send me 1 BURST to test it please ? Here is my address : BURST-YA29-QCEW-QXC3-BKXDL.

Regarding the plot generation, I found an OpenCL implementation of Shabal (https://github.com/aznboy84/X15GPU/blob/master/kernel/shabal.cl) that could be used to make a GPU version of the generator. I will try to work on it when I have some free time.

Regards

Hi everyone,

As promised I have been working on a GPU plot generator on the last few days. I made a little program built on top of OpenCL, and it seems to work pretty well in CPU mode. Unfortunately, I can't test the GPU mode as it requires a very powerfull graphic card (with at least 46kB private memory per compute unit, because the algorithm needs at least 4096*64 static bytes to store an entire plot).

Here is a preview you can test for now :
gpuPlotGenerator-src-1.0.0.7z : https://mega.co.nz/#!bcF2yKKL!3Ud86GaibgvwBehoxkbO4UNdiBgsaixRx7ksHrgNbDI
gpuPlotGenerator-bin-win-x86-1.0.0.7z : https://mega.co.nz/#!HJsziTCK!UmAMoEHQ3z34R4RsXoIkYo9rYd4LnFtO_pw-R4KObJs

I will build another release in the end of the day with some minor improvements (threads per compute unit selection, output of OpenCL error codes, improvement of the Makefile to generate the distribution directly).
I will also try to figure out another mean to dispatch the work between the GPU threads to reduce the amount of private memory needed by the program.

For the windows people, you can use the binary version directly.
For the linux people, just download the source archive, make sure to modify the OpenCL library and lib path in the makefile (and maybe the executable name), and build the project via "make". To run the program, you need the "kernel" and the "plots" directories beside the executable.

The executable usage is : ./gpuPlotGenerator

The parameters are the same as the original plot generator, without the threads number.

If you find bugs or if you want some new features, let me now.

If you want to support me, here are my Bitcoin and Burst addresses :
Bitcoin: 138gMBhCrNkbaiTCmUhP9HLU9xwn5QKZgD
Burst: BURST-YA29-QCEW-QXC3-BKXDL

Regards

Unfortunately, I can't test the GPU mode as it requires a very powerfull graphic card (with at least 46kB private memory per compute unit, because the algorithm needs at least 4096*64 static bytes to store an entire plot).
It's nice to see someone else working on this, since I seem to have failed in it.

Private memory is actually part of global on AMD cards, so storing it in private isn't any better than just using global for everything; it's local that needs to aimed for for the massive speedup. No AMD cards have more than 64KB local per workgroup, which makes storing it all in local impossible however.

I haven't tried your implementation yet, but on my own first attempt, I also used global on everything also, and the result was faster than the java plotter, but slower than dcct's c plotter. My 2nd attempt used a 32KB local buffer I rotated through for storing the currently being hashed stuff, however I couldn't figure out how to get it copied also to global fast enough, and the local -> global copy killed the performance.

You might be interested in those kernels here: https://bitcointalksearch.org/topic/m.8695829

Thanks, I will look at your kernels to see if I can find a better solution.

Here is the new version. I reduced the amount of memory used from 40KB to about 1KB per unit. The only drawback is that it requires twice the global memory as before. I will search a mean to reduce this overhead later.
In CPU mode, it all goes pretty well (when no graphic card is detected).
The GPU mode is still kind of buggy on my graphic card (an old GeForce 9300M GS), don't know the exact reason yet. Sometimes it works, sometimes not. I will try to fix this issue tomorrow.

Here are the files :
gpuPlotGenerator-src-1.1.0.7z : https://mega.co.nz/#!iYFWAL5B!BvtmRQ5qGq4gGwjDglFNtDtNIX4LDaUvATBtClBdTlQ
gpuPlotGenerator-bin-win-x86-1.1.0.7z : https://mega.co.nz/#!aBVGBBQD!tBsRtb8VrHR12_anrFTrl41U0fPQu_OqFnxyi5nCyBY

For the linux users, the Makefile has a new target named "dist" that builds and copy/paste all the necessary files to the "bin" directory.

The executable usage is : ./gpuPlotGenerator

: the path to the plots directory
: number of parrallel threads for each work group

So the usage would be like this: "D:/gpuPlotGenerator 0  819200 4096 "

Is that format correct? Is the thread count need for gpu plotting(Point out in bold)? What's the nonce/minute rate?

Hi,

This is still a buggy early stage version. I post it here to have feedback from people who owns more powerfull graphic cards (the behaviour may vary from one card to another).
But yes, the final usage would be the one you mentioned. The threads parameter is the number of threads used in the local work group. In GPU mode, the value should be a multiple a 64, 256 is the typical value for most of the cards.


Ok i made a test with my R9 290

I Put 256 in thread (apparently can't put more)

And in 1min15 i generate from nonce 888597 to nonce 900885, So 9830 nonce minute, not bad at all

Wow! So it really works on some models after all! Glad to read it. I am still investigating to correct the bug that occurs on the other graphic cards.
Thank you for your feedback.

I'm getting "Insufficient Private Resource" error on a HD7970.
full member
Activity: 494
Merit: 100
YES. Cross-Fire Card.

Tried your setting but not working on mine. Perhaps due to multi-gpu.


You mean you have more than one card on your computer that's right?
hero member
Activity: 1036
Merit: 531
Tried your setting but not working on mine. Perhaps due to multi-gpu.


You mean you have more than one card on your computer that's right?
hero member
Activity: 1036
Merit: 531
What is your full parameter ?

Hi everyone,

After many hours of setup I finally made it. I have a 1Tb generation in progress and 3x100Gb already finished.
I would like to test the V2 pool but I haven't any BURST for now. Could someone send me 1 BURST to test it please ? Here is my address : BURST-YA29-QCEW-QXC3-BKXDL.

Regarding the plot generation, I found an OpenCL implementation of Shabal (https://github.com/aznboy84/X15GPU/blob/master/kernel/shabal.cl) that could be used to make a GPU version of the generator. I will try to work on it when I have some free time.

Regards

Hi everyone,

As promised I have been working on a GPU plot generator on the last few days. I made a little program built on top of OpenCL, and it seems to work pretty well in CPU mode. Unfortunately, I can't test the GPU mode as it requires a very powerfull graphic card (with at least 46kB private memory per compute unit, because the algorithm needs at least 4096*64 static bytes to store an entire plot).

Here is a preview you can test for now :
gpuPlotGenerator-src-1.0.0.7z : https://mega.co.nz/#!bcF2yKKL!3Ud86GaibgvwBehoxkbO4UNdiBgsaixRx7ksHrgNbDI
gpuPlotGenerator-bin-win-x86-1.0.0.7z : https://mega.co.nz/#!HJsziTCK!UmAMoEHQ3z34R4RsXoIkYo9rYd4LnFtO_pw-R4KObJs

I will build another release in the end of the day with some minor improvements (threads per compute unit selection, output of OpenCL error codes, improvement of the Makefile to generate the distribution directly).
I will also try to figure out another mean to dispatch the work between the GPU threads to reduce the amount of private memory needed by the program.

For the windows people, you can use the binary version directly.
For the linux people, just download the source archive, make sure to modify the OpenCL library and lib path in the makefile (and maybe the executable name), and build the project via "make". To run the program, you need the "kernel" and the "plots" directories beside the executable.

The executable usage is : ./gpuPlotGenerator

The parameters are the same as the original plot generator, without the threads number.

If you find bugs or if you want some new features, let me now.

If you want to support me, here are my Bitcoin and Burst addresses :
Bitcoin: 138gMBhCrNkbaiTCmUhP9HLU9xwn5QKZgD
Burst: BURST-YA29-QCEW-QXC3-BKXDL

Regards

Unfortunately, I can't test the GPU mode as it requires a very powerfull graphic card (with at least 46kB private memory per compute unit, because the algorithm needs at least 4096*64 static bytes to store an entire plot).
It's nice to see someone else working on this, since I seem to have failed in it.

Private memory is actually part of global on AMD cards, so storing it in private isn't any better than just using global for everything; it's local that needs to aimed for for the massive speedup. No AMD cards have more than 64KB local per workgroup, which makes storing it all in local impossible however.

I haven't tried your implementation yet, but on my own first attempt, I also used global on everything also, and the result was faster than the java plotter, but slower than dcct's c plotter. My 2nd attempt used a 32KB local buffer I rotated through for storing the currently being hashed stuff, however I couldn't figure out how to get it copied also to global fast enough, and the local -> global copy killed the performance.

You might be interested in those kernels here: https://bitcointalksearch.org/topic/m.8695829

Thanks, I will look at your kernels to see if I can find a better solution.

Here is the new version. I reduced the amount of memory used from 40KB to about 1KB per unit. The only drawback is that it requires twice the global memory as before. I will search a mean to reduce this overhead later.
In CPU mode, it all goes pretty well (when no graphic card is detected).
The GPU mode is still kind of buggy on my graphic card (an old GeForce 9300M GS), don't know the exact reason yet. Sometimes it works, sometimes not. I will try to fix this issue tomorrow.

Here are the files :
gpuPlotGenerator-src-1.1.0.7z : https://mega.co.nz/#!iYFWAL5B!BvtmRQ5qGq4gGwjDglFNtDtNIX4LDaUvATBtClBdTlQ
gpuPlotGenerator-bin-win-x86-1.1.0.7z : https://mega.co.nz/#!aBVGBBQD!tBsRtb8VrHR12_anrFTrl41U0fPQu_OqFnxyi5nCyBY

For the linux users, the Makefile has a new target named "dist" that builds and copy/paste all the necessary files to the "bin" directory.

The executable usage is : ./gpuPlotGenerator

: the path to the plots directory
: number of parrallel threads for each work group

So the usage would be like this: "D:/gpuPlotGenerator 0  819200 4096 "

Is that format correct? Is the thread count need for gpu plotting(Point out in bold)? What's the nonce/minute rate?

Hi,

This is still a buggy early stage version. I post it here to have feedback from people who owns more powerfull graphic cards (the behaviour may vary from one card to another).
But yes, the final usage would be the one you mentioned. The threads parameter is the number of threads used in the local work group. In GPU mode, the value should be a multiple a 64, 256 is the typical value for most of the cards.


Ok i made a test with my R9 290

I Put 256 in thread (apparently can't put more)

And in 1min15 i generate from nonce 888597 to nonce 900885, So 9830 nonce minute, not bad at all

Wow! So it really works on some models after all! Glad to read it. I am still investigating to correct the bug that occurs on the other graphic cards.
Thank you for your feedback.

I make an other feedback when finish
full member
Activity: 494
Merit: 100
Tried your setting but not working on mine. Perhaps due to multi-gpu.

What is your full parameter ?

Hi everyone,

After many hours of setup I finally made it. I have a 1Tb generation in progress and 3x100Gb already finished.
I would like to test the V2 pool but I haven't any BURST for now. Could someone send me 1 BURST to test it please ? Here is my address : BURST-YA29-QCEW-QXC3-BKXDL.

Regarding the plot generation, I found an OpenCL implementation of Shabal (https://github.com/aznboy84/X15GPU/blob/master/kernel/shabal.cl) that could be used to make a GPU version of the generator. I will try to work on it when I have some free time.

Regards

Hi everyone,

As promised I have been working on a GPU plot generator on the last few days. I made a little program built on top of OpenCL, and it seems to work pretty well in CPU mode. Unfortunately, I can't test the GPU mode as it requires a very powerfull graphic card (with at least 46kB private memory per compute unit, because the algorithm needs at least 4096*64 static bytes to store an entire plot).

Here is a preview you can test for now :
gpuPlotGenerator-src-1.0.0.7z : https://mega.co.nz/#!bcF2yKKL!3Ud86GaibgvwBehoxkbO4UNdiBgsaixRx7ksHrgNbDI
gpuPlotGenerator-bin-win-x86-1.0.0.7z : https://mega.co.nz/#!HJsziTCK!UmAMoEHQ3z34R4RsXoIkYo9rYd4LnFtO_pw-R4KObJs

I will build another release in the end of the day with some minor improvements (threads per compute unit selection, output of OpenCL error codes, improvement of the Makefile to generate the distribution directly).
I will also try to figure out another mean to dispatch the work between the GPU threads to reduce the amount of private memory needed by the program.

For the windows people, you can use the binary version directly.
For the linux people, just download the source archive, make sure to modify the OpenCL library and lib path in the makefile (and maybe the executable name), and build the project via "make". To run the program, you need the "kernel" and the "plots" directories beside the executable.

The executable usage is : ./gpuPlotGenerator

The parameters are the same as the original plot generator, without the threads number.

If you find bugs or if you want some new features, let me now.

If you want to support me, here are my Bitcoin and Burst addresses :
Bitcoin: 138gMBhCrNkbaiTCmUhP9HLU9xwn5QKZgD
Burst: BURST-YA29-QCEW-QXC3-BKXDL

Regards

Unfortunately, I can't test the GPU mode as it requires a very powerfull graphic card (with at least 46kB private memory per compute unit, because the algorithm needs at least 4096*64 static bytes to store an entire plot).
It's nice to see someone else working on this, since I seem to have failed in it.

Private memory is actually part of global on AMD cards, so storing it in private isn't any better than just using global for everything; it's local that needs to aimed for for the massive speedup. No AMD cards have more than 64KB local per workgroup, which makes storing it all in local impossible however.

I haven't tried your implementation yet, but on my own first attempt, I also used global on everything also, and the result was faster than the java plotter, but slower than dcct's c plotter. My 2nd attempt used a 32KB local buffer I rotated through for storing the currently being hashed stuff, however I couldn't figure out how to get it copied also to global fast enough, and the local -> global copy killed the performance.

You might be interested in those kernels here: https://bitcointalksearch.org/topic/m.8695829

Thanks, I will look at your kernels to see if I can find a better solution.

Here is the new version. I reduced the amount of memory used from 40KB to about 1KB per unit. The only drawback is that it requires twice the global memory as before. I will search a mean to reduce this overhead later.
In CPU mode, it all goes pretty well (when no graphic card is detected).
The GPU mode is still kind of buggy on my graphic card (an old GeForce 9300M GS), don't know the exact reason yet. Sometimes it works, sometimes not. I will try to fix this issue tomorrow.

Here are the files :
gpuPlotGenerator-src-1.1.0.7z : https://mega.co.nz/#!iYFWAL5B!BvtmRQ5qGq4gGwjDglFNtDtNIX4LDaUvATBtClBdTlQ
gpuPlotGenerator-bin-win-x86-1.1.0.7z : https://mega.co.nz/#!aBVGBBQD!tBsRtb8VrHR12_anrFTrl41U0fPQu_OqFnxyi5nCyBY

For the linux users, the Makefile has a new target named "dist" that builds and copy/paste all the necessary files to the "bin" directory.

The executable usage is : ./gpuPlotGenerator

: the path to the plots directory
: number of parrallel threads for each work group

So the usage would be like this: "D:/gpuPlotGenerator 0  819200 4096 "

Is that format correct? Is the thread count need for gpu plotting(Point out in bold)? What's the nonce/minute rate?

Hi,

This is still a buggy early stage version. I post it here to have feedback from people who owns more powerfull graphic cards (the behaviour may vary from one card to another).
But yes, the final usage would be the one you mentioned. The threads parameter is the number of threads used in the local work group. In GPU mode, the value should be a multiple a 64, 256 is the typical value for most of the cards.


Ok i made a test with my R9 290

I Put 256 in thread (apparently can't put more)

And in 1min15 i generate from nonce 888597 to nonce 900885, So 9830 nonce minute, not bad at all


This is my parameter

Code:
gpuPlotGenerator.exe plots myaccount 68847637 18500000 4096 256
sr. member
Activity: 280
Merit: 250
http://burst.cryptoport.io/acc/2715798095717378439 - Now there is some mining power!

Looks like he's 15.5% of the hashpower on my v2 pool.
hero member
Activity: 1036
Merit: 531
Proof that gpu plotter works for me



290x?

I cant get it working on my 280x card

Yep right, i post my config some post before
hero member
Activity: 644
Merit: 500
300 satoshi today. Not stable at all.
10 days and price still not rise of 1 satoshi.
sr. member
Activity: 434
Merit: 250
Proof that gpu plotter works for me



290x?

I cant get it working on my 280x card
hero member
Activity: 1036
Merit: 531
Proof that gpu plotter works for me

hero member
Activity: 1036
Merit: 531


What config you use???
I have tried this on my 280x:

--->  gpuPlotGenerator.exe "C:\Users\Fantom\Desktop\GPU_POC\plots" NUMERICALADRESS 0 16382 4096 4

and it just exits without writing new file..

Code:
gpuPlotGenerator.exe plots myaccount 68847637 18500000 4096 256
hero member
Activity: 938
Merit: 1000
While I'm getting ready for Storj when beta is out, I decided to play with burst a bit.
I've read a lot of this thread and most things are pretty clear, but I have 2 questions remaining.
How do you tell the java miner to consider plots present on a different drive letter (windows)?  can someone point me to the syntax for this?
When I downloaded the plot.exe for windows to a sandbox using chrome, it complained of malware and suspended the download, why?
thanks

- You need to copy the java miner to the disk you want to generate plots, the miner always generate plots on plots folder of current path. Pretty easy fix to change this, but I don't think it's a priority.
- False positive is pretty standard today with miner stuffs, don't you think? Wink
I was wondering about mining, not plot generation.  is it possible to run one miner instance but have it read plotted files from multiple drives?
I typically don't trust anything that says click here to download regardless of false positives.  How come the Linux plotter is linked on OP but windows is not?

Sorry I misread your question. But in general these 2 tools work in the same manner.
- The java miner won't work with multiple folders. In Linux you could use symlink and it works for me, I dunno Windows will work with linking ? I don't have Windows so I can't test. In worst case you just copy the miner to your other places and start it from there.
- The plot from dcct is originally written for Linux. Someone provides a binary for Windows so of course you should be cautious. Sorry but I can't help you with this question.
member
Activity: 60
Merit: 10
What is your full parameter ?

Hi everyone,

After many hours of setup I finally made it. I have a 1Tb generation in progress and 3x100Gb already finished.
I would like to test the V2 pool but I haven't any BURST for now. Could someone send me 1 BURST to test it please ? Here is my address : BURST-YA29-QCEW-QXC3-BKXDL.

Regarding the plot generation, I found an OpenCL implementation of Shabal (https://github.com/aznboy84/X15GPU/blob/master/kernel/shabal.cl) that could be used to make a GPU version of the generator. I will try to work on it when I have some free time.

Regards

Hi everyone,

As promised I have been working on a GPU plot generator on the last few days. I made a little program built on top of OpenCL, and it seems to work pretty well in CPU mode. Unfortunately, I can't test the GPU mode as it requires a very powerfull graphic card (with at least 46kB private memory per compute unit, because the algorithm needs at least 4096*64 static bytes to store an entire plot).

Here is a preview you can test for now :
gpuPlotGenerator-src-1.0.0.7z : https://mega.co.nz/#!bcF2yKKL!3Ud86GaibgvwBehoxkbO4UNdiBgsaixRx7ksHrgNbDI
gpuPlotGenerator-bin-win-x86-1.0.0.7z : https://mega.co.nz/#!HJsziTCK!UmAMoEHQ3z34R4RsXoIkYo9rYd4LnFtO_pw-R4KObJs

I will build another release in the end of the day with some minor improvements (threads per compute unit selection, output of OpenCL error codes, improvement of the Makefile to generate the distribution directly).
I will also try to figure out another mean to dispatch the work between the GPU threads to reduce the amount of private memory needed by the program.

For the windows people, you can use the binary version directly.
For the linux people, just download the source archive, make sure to modify the OpenCL library and lib path in the makefile (and maybe the executable name), and build the project via "make". To run the program, you need the "kernel" and the "plots" directories beside the executable.

The executable usage is : ./gpuPlotGenerator

The parameters are the same as the original plot generator, without the threads number.

If you find bugs or if you want some new features, let me now.

If you want to support me, here are my Bitcoin and Burst addresses :
Bitcoin: 138gMBhCrNkbaiTCmUhP9HLU9xwn5QKZgD
Burst: BURST-YA29-QCEW-QXC3-BKXDL

Regards

Unfortunately, I can't test the GPU mode as it requires a very powerfull graphic card (with at least 46kB private memory per compute unit, because the algorithm needs at least 4096*64 static bytes to store an entire plot).
It's nice to see someone else working on this, since I seem to have failed in it.

Private memory is actually part of global on AMD cards, so storing it in private isn't any better than just using global for everything; it's local that needs to aimed for for the massive speedup. No AMD cards have more than 64KB local per workgroup, which makes storing it all in local impossible however.

I haven't tried your implementation yet, but on my own first attempt, I also used global on everything also, and the result was faster than the java plotter, but slower than dcct's c plotter. My 2nd attempt used a 32KB local buffer I rotated through for storing the currently being hashed stuff, however I couldn't figure out how to get it copied also to global fast enough, and the local -> global copy killed the performance.

You might be interested in those kernels here: https://bitcointalksearch.org/topic/m.8695829

Thanks, I will look at your kernels to see if I can find a better solution.

Here is the new version. I reduced the amount of memory used from 40KB to about 1KB per unit. The only drawback is that it requires twice the global memory as before. I will search a mean to reduce this overhead later.
In CPU mode, it all goes pretty well (when no graphic card is detected).
The GPU mode is still kind of buggy on my graphic card (an old GeForce 9300M GS), don't know the exact reason yet. Sometimes it works, sometimes not. I will try to fix this issue tomorrow.

Here are the files :
gpuPlotGenerator-src-1.1.0.7z : https://mega.co.nz/#!iYFWAL5B!BvtmRQ5qGq4gGwjDglFNtDtNIX4LDaUvATBtClBdTlQ
gpuPlotGenerator-bin-win-x86-1.1.0.7z : https://mega.co.nz/#!aBVGBBQD!tBsRtb8VrHR12_anrFTrl41U0fPQu_OqFnxyi5nCyBY

For the linux users, the Makefile has a new target named "dist" that builds and copy/paste all the necessary files to the "bin" directory.

The executable usage is : ./gpuPlotGenerator

: the path to the plots directory
: number of parrallel threads for each work group

So the usage would be like this: "D:/gpuPlotGenerator 0  819200 4096 "

Is that format correct? Is the thread count need for gpu plotting(Point out in bold)? What's the nonce/minute rate?

Hi,

This is still a buggy early stage version. I post it here to have feedback from people who owns more powerfull graphic cards (the behaviour may vary from one card to another).
But yes, the final usage would be the one you mentioned. The threads parameter is the number of threads used in the local work group. In GPU mode, the value should be a multiple a 64, 256 is the typical value for most of the cards.


Ok i made a test with my R9 290

I Put 256 in thread (apparently can't put more)

And in 1min15 i generate from nonce 888597 to nonce 900885, So 9830 nonce minute, not bad at all

Wow! So it really works on some models after all! Glad to read it. I am still investigating to correct the bug that occurs on the other graphic cards.
Thank you for your feedback.
full member
Activity: 210
Merit: 100
What is your full parameter ?

Hi everyone,

After many hours of setup I finally made it. I have a 1Tb generation in progress and 3x100Gb already finished.
I would like to test the V2 pool but I haven't any BURST for now. Could someone send me 1 BURST to test it please ? Here is my address : BURST-YA29-QCEW-QXC3-BKXDL.

Regarding the plot generation, I found an OpenCL implementation of Shabal (https://github.com/aznboy84/X15GPU/blob/master/kernel/shabal.cl) that could be used to make a GPU version of the generator. I will try to work on it when I have some free time.

Regards

Hi everyone,

As promised I have been working on a GPU plot generator on the last few days. I made a little program built on top of OpenCL, and it seems to work pretty well in CPU mode. Unfortunately, I can't test the GPU mode as it requires a very powerfull graphic card (with at least 46kB private memory per compute unit, because the algorithm needs at least 4096*64 static bytes to store an entire plot).

Here is a preview you can test for now :
gpuPlotGenerator-src-1.0.0.7z : https://mega.co.nz/#!bcF2yKKL!3Ud86GaibgvwBehoxkbO4UNdiBgsaixRx7ksHrgNbDI
gpuPlotGenerator-bin-win-x86-1.0.0.7z : https://mega.co.nz/#!HJsziTCK!UmAMoEHQ3z34R4RsXoIkYo9rYd4LnFtO_pw-R4KObJs

I will build another release in the end of the day with some minor improvements (threads per compute unit selection, output of OpenCL error codes, improvement of the Makefile to generate the distribution directly).
I will also try to figure out another mean to dispatch the work between the GPU threads to reduce the amount of private memory needed by the program.

For the windows people, you can use the binary version directly.
For the linux people, just download the source archive, make sure to modify the OpenCL library and lib path in the makefile (and maybe the executable name), and build the project via "make". To run the program, you need the "kernel" and the "plots" directories beside the executable.

The executable usage is : ./gpuPlotGenerator

The parameters are the same as the original plot generator, without the threads number.

If you find bugs or if you want some new features, let me now.

If you want to support me, here are my Bitcoin and Burst addresses :
Bitcoin: 138gMBhCrNkbaiTCmUhP9HLU9xwn5QKZgD
Burst: BURST-YA29-QCEW-QXC3-BKXDL

Regards

Unfortunately, I can't test the GPU mode as it requires a very powerfull graphic card (with at least 46kB private memory per compute unit, because the algorithm needs at least 4096*64 static bytes to store an entire plot).
It's nice to see someone else working on this, since I seem to have failed in it.

Private memory is actually part of global on AMD cards, so storing it in private isn't any better than just using global for everything; it's local that needs to aimed for for the massive speedup. No AMD cards have more than 64KB local per workgroup, which makes storing it all in local impossible however.

I haven't tried your implementation yet, but on my own first attempt, I also used global on everything also, and the result was faster than the java plotter, but slower than dcct's c plotter. My 2nd attempt used a 32KB local buffer I rotated through for storing the currently being hashed stuff, however I couldn't figure out how to get it copied also to global fast enough, and the local -> global copy killed the performance.

You might be interested in those kernels here: https://bitcointalksearch.org/topic/m.8695829

Thanks, I will look at your kernels to see if I can find a better solution.

Here is the new version. I reduced the amount of memory used from 40KB to about 1KB per unit. The only drawback is that it requires twice the global memory as before. I will search a mean to reduce this overhead later.
In CPU mode, it all goes pretty well (when no graphic card is detected).
The GPU mode is still kind of buggy on my graphic card (an old GeForce 9300M GS), don't know the exact reason yet. Sometimes it works, sometimes not. I will try to fix this issue tomorrow.

Here are the files :
gpuPlotGenerator-src-1.1.0.7z : https://mega.co.nz/#!iYFWAL5B!BvtmRQ5qGq4gGwjDglFNtDtNIX4LDaUvATBtClBdTlQ
gpuPlotGenerator-bin-win-x86-1.1.0.7z : https://mega.co.nz/#!aBVGBBQD!tBsRtb8VrHR12_anrFTrl41U0fPQu_OqFnxyi5nCyBY

For the linux users, the Makefile has a new target named "dist" that builds and copy/paste all the necessary files to the "bin" directory.

The executable usage is : ./gpuPlotGenerator

: the path to the plots directory
: number of parrallel threads for each work group

So the usage would be like this: "D:/gpuPlotGenerator 0  819200 4096 "

Is that format correct? Is the thread count need for gpu plotting(Point out in bold)? What's the nonce/minute rate?

Hi,

This is still a buggy early stage version. I post it here to have feedback from people who owns more powerfull graphic cards (the behaviour may vary from one card to another).
But yes, the final usage would be the one you mentioned. The threads parameter is the number of threads used in the local work group. In GPU mode, the value should be a multiple a 64, 256 is the typical value for most of the cards.


Ok i made a test with my R9 290

I Put 256 in thread (apparently can't put more)

And in 1min15 i generate from nonce 888597 to nonce 900885, So 9830 nonce minute, not bad at all

What config you use???
I have tried this on my 280x:

--->  gpuPlotGenerator.exe "C:\Users\Fantom\Desktop\GPU_POC\plots" NUMERICALADRESS 0 16382 4096 4

and it just exits without writing new file..
legendary
Activity: 1582
Merit: 1019
011110000110110101110010
hero member
Activity: 1036
Merit: 531


Hi

How exactly do you plot in 'GPU mode'?

I also have an R9 290 but was told that GPU plotting wasn't a thing.

Just made a batch file in the same folder with that :

Code:
gpuPlotGenerator.exe plots myaccount 68847637 18500000 4096 256
Jump to: