Author

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

hero member
Activity: 1400
Merit: 505
just woke up...
checking forum...
people freak out ...
checking here and there...
nothing wrong
except for that wrong block height, because i am updating whole 8 wallets for pools
checking again
oh we dont found any block for 8 hours
checking again
yeaa we found a block!
payments working without any problem...
waiting again
yaaayy we found a block again...
can i sleep again?

Yes if you give me my 4000 burst

Check you last 10 post from you pool.....all not recievement payment.
We're all mad?

oh..?
why is that 4k burst?

if all not receive any payment, did pool receive any funds from block finding ?
newbie
Activity: 42
Merit: 0
Just wanted to say that I posted a link to this forum page on OCN -Overclock.net.  Couldnt seem to find anyone talking about it over there so hopefully it will spread the word over there.  Here's a link to the thread in case the better minds want to get in and help out people over there!

http://www.overclock.net/t/1512144/burstcoin-hdd-mining#post_22821277

Happy Bursting!
member
Activity: 60
Merit: 10
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

Found the "randomness" cause. NVIDIA is caching the kernel after the first build and rebuild it from time to time. By cleaning the cache, I can force the kernel build and speed up the debugging process.
I will notify you as soon as the crash cause is found and corrected.

Bad news guys. There is no actual "bug" in the implementation. Seems like the graphic card is beeing streesed too much by the shabal core, thus the driver is shutting down the kernel (there is a watch-dog timer for this purpose hard coded in the display driver to ensure that the display don't freeze too much). I will try to improve the whole algorithm and memory consumption to the needed graphic card power.

In the meantime, I found this thread (http://stackoverflow.com/questions/12259044/limitations-of-work-item-load-in-gpu-cuda-opencl) that speak about this particular issue. The available options are :
- If you have more than one graphic card, you can launch the plotter on the one that does not hold the display. There is still no option to select the graphic card in the plotter, but I will code it soon so that you can test it in a multi-GPU environment.
- You can try to turn-off the watchdog timer by following the provided link, but be CAREFUL, you may experience terrible display lags, or even full black screens until the plotter process finishes its work.

You don't need to improve it to avoid this issue, just split it. One kernel for first half, one kernel for second half.

The new major update is in progress, thanks to burstcoin advice. I think that a lot more of graphic cards will be compatible with this version (at least I hope so).
I'm a Linux n00b, but I managed to get Ubuntu up and running so that I could use dcct's plot generator.
...I'm currently trying to use your v1.1.0 of the GPU Plot Generator with my AMD (ATI) Radeon 7800.
I've edited/made the following changes to the "Makefile" file (I chose the default install location for AMDAPPSDK):

Quote
CC = g++
CC_FLAGS = -ansi -pedantic -W -Wall -std=c++0x -O3 -I../opt/AMDAPPSDK-2.9-1/include
LD = g++
LD_FLAGS = -fPIC -L../opt/AMDAPPSDK-2.9-1/lib/x86_64 -static-libgcc -static-libstdc++ -lopencl

I keep getting this error now when I issue the "make" command:
Quote
Linking [bin/gpuPlotGenerator.exe]
/usr/bin/ld: cannot find -lopencl
collect2: error: ld returned 1 exit status
make: *** [bin/gpuPlotGenerator.exe] Error 1

I've tried Googling the error and see that a bunch of posts on the issue, but can't seem to correct this "/usr/bin/ld: cannot find -lopencl" error. Any suggestions?

Make sure you have the opencl libraries in your /opt/AMDAPPSDK-2.9-1/lib/x86_64 folder (something like libopencl.a). If not, try to locate them on your disk. You probably need to build the AMD SDK to have them in this directory. Or maybe they have a different name (with an included version number for example, so juste change the -lopencl to -lopenclX.X.X).

Hope this help.
hero member
Activity: 644
Merit: 500
just woke up...
checking forum...
people freak out ...
checking here and there...
nothing wrong
except for that wrong block height, because i am updating whole 8 wallets for pools
checking again
oh we dont found any block for 8 hours
checking again
yeaa we found a block!
payments working without any problem...
waiting again
yaaayy we found a block again...
can i sleep again?

Yes if you give me my 4000 burst

Check you last 10 post from you pool.....all not recievement payment.
We're all mad?
hero member
Activity: 1400
Merit: 505
just woke up...
checking forum...
people freak out ...
checking here and there...
nothing wrong
except for that wrong block height, because i am updating whole 8 wallets for pools
checking again
oh we dont found any block for 8 hours
checking again
yeaa we found a block!
payments working without any problem...
waiting again
yaaayy we found a block again...
can i sleep again?
member
Activity: 61
Merit: 10
Anyone know why I'd be getting a "[WARN] No GPU Device found" error when trying to use the GPU miner?  My r9 280X is definitely there...  AMD APP SDK v2.9 and Catalyst 14.4




I have the same. Do you have GPU on the motherboard?
hero member
Activity: 518
Merit: 500
How much memory do you have in your GPU?
The most I can gen @ is 3000 on a higher end card.

The lower end ones with 1GB constantly fail with the error posted above.


It's a 3GB R9 280x...  Undecided

Hi guys,

I am aware of this issue. The fact is that I have to create two full size buffers on the GPU side to reduce thread-local memory consumption. Thus the memory amount needed on the CPU side has to be doubled to get an estimate of what is needed on the GPU side.
As an example, for a stagger size of 4000 you will need 1GB RAM on CPU side and more than 2GB (exactly (PLOT_SIZE + 16) x stagger) on GPU side (doesn't include here the local buffers and the kernel code itself).
Once I have a stable version (really soon Grin), I will work on this particular problem.

Maybe the 280x and 290x memory system works/handles better with the plotter compared to hd7970/7990, that why it kind of work on those cards.
newbie
Activity: 56
Merit: 0
How much memory do you have in your GPU?
The most I can gen @ is 3000 on a higher end card.

The lower end ones with 1GB constantly fail with the error posted above.


It's a 3GB R9 280x...  Undecided

Hi guys,

I am aware of this issue. The fact is that I have to create two full size buffers on the GPU side to reduce thread-local memory consumption. Thus the memory amount needed on the CPU side has to be doubled to get an estimate of what is needed on the GPU side.
As an example, for a stagger size of 4000 you will need 1GB RAM on CPU side and more than 2GB (exactly (PLOT_SIZE + 16) x stagger) on GPU side (doesn't include here the local buffers and the kernel code itself).
Once I have a stable version (really soon Grin), I will work on this particular problem.

Did you mistype that or am I not understanding correctly? lol


EDIT: I get it now, lol.  Took 4-5 read-thoughs. Cheesy

So, with my 3GB video card I'd only need 1.5GB on the motherboard?  Does it make sense to you that I can't go higher than 1024 stagger with a 3GB card?  You say a 4000 stagger should work with just a 2GB card - so I should be able to do around 6000?
legendary
Activity: 3766
Merit: 1742
Join the world-leading crypto sportsbook NOW!
How much memory do you have in your GPU?
The most I can gen @ is 3000 on a higher end card.

The lower end ones with 1GB constantly fail with the error posted above.


It's a 3GB R9 280x...  Undecided

Hi guys,

I am aware of this issue. The fact is that I have to create two full size buffers on the GPU side to reduce thread-local memory consumption. Thus the memory amount needed on the CPU side has to be doubled to get an estimate of what is needed on the GPU side.
As an example, for a stagger size of 4000 you will need 1GB RAM on CPU side and more than 2GB (exactly (PLOT_SIZE + 16) x stagger) on GPU side (doesn't include here the local buffers and the kernel code itself).
Once I have a stable version (really soon Grin), I will work on this particular problem.

Please, consider also to test a version for nvidia cards! Afaik there isn't yet a user that was able to start the plot generator on nvidia gpus
legendary
Activity: 1421
Merit: 1001
I suggest to http://burst-pool.cryptoport.io/ owner to explain why his pool is not working properly.
This pool have to give me 4000 burst today.

it's a SCAM POOL?

Me too i miss payout, i think payout on this pool not working correctly.
Pm sent to @uray waiting is reply
legendary
Activity: 3766
Merit: 1742
Join the world-leading crypto sportsbook NOW!
Hey everyone, this new way of mining is one of the best way of coin distribution, I think it has a  potential of becoming a very very big community.

@Burstcoin , well done  Grin

Yes. but we're all bagholders. So maybe burst will be considered as next doge. 40 satoshi.  Cheesy


yeah, i'm not selling too, why selling if you get coin for free(nearly no electricity)? it's like free pos but more fun

ahahah, exactly what i'm thinking about burst. Hope that difficulty will not rise so fast as GPU-only coins
member
Activity: 60
Merit: 10
How much memory do you have in your GPU?
The most I can gen @ is 3000 on a higher end card.

The lower end ones with 1GB constantly fail with the error posted above.


It's a 3GB R9 280x...  Undecided

Hi guys,

I am aware of this issue. The fact is that I have to create two full size buffers on the GPU side to reduce thread-local memory consumption. Thus the memory amount needed on the CPU side has to be doubled to get an estimate of what is needed on the GPU side.
As an example, for a stagger size of 4000 you will need 1GB RAM on CPU side and more than 2GB (exactly (PLOT_SIZE + 16) x stagger) on GPU side (doesn't include here the local buffers and the kernel code itself).
Once I have a stable version (really soon Grin), I will work on this particular problem.
full member
Activity: 164
Merit: 100
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

Found the "randomness" cause. NVIDIA is caching the kernel after the first build and rebuild it from time to time. By cleaning the cache, I can force the kernel build and speed up the debugging process.
I will notify you as soon as the crash cause is found and corrected.

Bad news guys. There is no actual "bug" in the implementation. Seems like the graphic card is beeing streesed too much by the shabal core, thus the driver is shutting down the kernel (there is a watch-dog timer for this purpose hard coded in the display driver to ensure that the display don't freeze too much). I will try to improve the whole algorithm and memory consumption to the needed graphic card power.

In the meantime, I found this thread (http://stackoverflow.com/questions/12259044/limitations-of-work-item-load-in-gpu-cuda-opencl) that speak about this particular issue. The available options are :
- If you have more than one graphic card, you can launch the plotter on the one that does not hold the display. There is still no option to select the graphic card in the plotter, but I will code it soon so that you can test it in a multi-GPU environment.
- You can try to turn-off the watchdog timer by following the provided link, but be CAREFUL, you may experience terrible display lags, or even full black screens until the plotter process finishes its work.

You don't need to improve it to avoid this issue, just split it. One kernel for first half, one kernel for second half.

The new major update is in progress, thanks to burstcoin advice. I think that a lot more of graphic cards will be compatible with this version (at least I hope so).
I'm a Linux n00b, but I managed to get Ubuntu up and running so that I could use dcct's plot generator.
...I'm currently trying to use your v1.1.0 of the GPU Plot Generator with my AMD (ATI) Radeon 7800.
I've edited/made the following changes to the "Makefile" file (I chose the default install location for AMDAPPSDK):

Quote
CC = g++
CC_FLAGS = -ansi -pedantic -W -Wall -std=c++0x -O3 -I../opt/AMDAPPSDK-2.9-1/include
LD = g++
LD_FLAGS = -fPIC -L../opt/AMDAPPSDK-2.9-1/lib/x86_64 -static-libgcc -static-libstdc++ -lopencl

I keep getting this error now when I issue the "make" command:
Quote
Linking [bin/gpuPlotGenerator.exe]
/usr/bin/ld: cannot find -lopencl
collect2: error: ld returned 1 exit status
make: *** [bin/gpuPlotGenerator.exe] Error 1

I've tried Googling the error and see that a bunch of posts on the issue, but can't seem to correct this "/usr/bin/ld: cannot find -lopencl" error. Any suggestions?
hero member
Activity: 644
Merit: 500
I suggest to http://burst-pool.cryptoport.io/ owner to explain why his pool is not working properly.
This pool have to give me 4000 burst today.

it's a SCAM POOL?
newbie
Activity: 56
Merit: 0
How much memory do you have in your GPU?
The most I can gen @ is 3000 on a higher end card.

The lower end ones with 1GB constantly fail with the error posted above.


It's a 3GB R9 280x...  Undecided
hero member
Activity: 631
Merit: 501
How much memory do you have in your GPU?
The most I can gen @ is 3000 on a higher end card.

The lower end ones with 1GB constantly fail with the error posted above.
newbie
Activity: 56
Merit: 0
What will allow you to plot higher stagger sizes with the GPU plotter?  System RAM?  I've got 4GB.

The best I can do without errors is 1024.  Undecided

Well, 1024 stagger means 1024 * 256 which is 264 Mb of RAM. Maybe it could help to close some of the background apps.
Also, what version of windows do you have. 32 or 64 bit?

I don't think it's a "not actually enough RAM" issue but more of an "it's unhappy with anything higher" issue.  I don't have anything else running but the wallet and mining program and it's only using 1.8GB out of 4GB total.

64 bit windows.
hero member
Activity: 518
Merit: 500
What is going on? Cant get it to run.
vga driver ? 14.7 ? 14.6 ? fix it to 13.x

I am on 14.x, ill back down to 12.x and see if that fixes it. Thanks!

13.9 works with 280x

I cant even get it to recognize my GPU what am i doing wrong?

Same problem with 13.9

EDIT : Gigabyte Radeon HD 7970 OC (GV-R797OC-3GD) is my GPU

So far it looks like it works on the R9 series cards: 280x and 290x on 13.x AMD drivers.
legendary
Activity: 1036
Merit: 1000
https://bmy.guide
Finally got 500 coins after 6 hours...

this cant be difficulty it has to be another problem.. you would see less and less coins showing up in balance over the period of time.. not just NO coins for a very long time...  right?
full member
Activity: 164
Merit: 100
Anyone facing a problem when a miner suddenly shuts off? I'm plotting and mining at the same time. This happens like twice in a day. After launching back I'll see "dead letters encountered. This logging can be turned off or adjusted with configuration settings akka.log-dead-letters."

C:\Windows\SysWOW64\java -Xmx1024m -cp pocminer_pool.jar;lib/*;lib/akka/*;lib/jetty/* pocminer_pool.POCMiner mine http://127.0.0.1:8125 http://178.62.39.204:8121

Try adding this to your bat file. It fixed my crashes.
My client was crashing after ~2-3min...
Confirmed, I made this change and it appears to have fixed my crashing as well.
Jump to: