Pages:
Author

Topic: Generating Bitcoins with your video card (OpenCL/CUDA) - page 2. (Read 135403 times)

newbie
Activity: 15
Merit: 0
I'm one of the people running the proprietary version, even if i yet generated no block.
This is the only ready to use binary i found for windows.

I can get 21Mh/s with a 8800gt, comparing to 2.2Mhz with a e6750 2.66ghz processor.
I would say *10 -10% is better than nothing, that still make a *9 speedup.
sure, a *10 speedup would be best :p

Any news of a windows version that can get such a speed without compilation ?
lfm
full member
Activity: 196
Merit: 104
So I've been trying to figure out.. just how many coins did
1HZNsUqQxKVLmfPfCAzLwrnVDzx8CxwxnM
receive?

I now see 37 blocks with the 5.00 BTC going to this address. It seems there are still people running the old proprietary version. Still negligible tho.

That latest was Block #84274 at 2010-10-09 20:29:52
legendary
Activity: 1596
Merit: 1100
I would not have made a mistake by assuming it was licensed under
the GPL if puddinpop had included in his license the MIT license as
was required.  Of course if he had included the MIT license all of
the restrictions he placed in his license would have been moot.

puddinpop's original open sourced client was MIT.

But he makes his changes GPL'd, which is disappointing, leading to confusing situations like this.
sr. member
Activity: 476
Merit: 250
I would not have made a mistake by assuming it was licensed under
the GPL if puddinpop had included in his license the MIT license as
was required.  Of course if he had included the MIT license all of
the restrictions he placed in his license would have been moot.

Ken
legendary
Activity: 1470
Merit: 1006
Bringing Legendary Har® to you since 1952
The ebuild-9999 is bad, don't use it.

How is it bad?  More importantly, though, without losing focus of my original question, what else do I need to do besides update the makefile?

Why it is bad ? Well, i looked at the source and i didn't like it, so i took the 0.3.13 one.

I have no idea what do You need. I downloaded source, patched it and **it just worked** with 0.3.13 ebuild on my Gentoo AMD64.
I only changed the digests in Manifest to match added/modified files.
hero member
Activity: 574
Merit: 513
The ebuild-9999 is bad, don't use it.

How is it bad?  More importantly, though, without losing focus of my original question, what else do I need to do besides update the makefile?
legendary
Activity: 1470
Merit: 1006
Bringing Legendary Har® to you since 1952
I modified my makefile for bitcoin-9999.ebuild for svn Bitcoin and then
Code:
LC_ALL=C TZ=UTC0 diff -Naur makefile.unix makefile.gentoo > files/bitcoin-9999-Makefile.patch
ebuild bitcoin-9999.ebuild digest
emerge bitcoin

The emerge failed.  What else do I need to do besides update the makefile?

The ebuild-9999 is bad, don't use it.
I'm using a modified 0.3.13 ebuild all the time - it works for SVN rev 158 source too.

Also, You need to create additional separate makefile for CUDA version, place it in the files/ directory and then put an digest entry for it in the Manifest. At least this is what i did.
For me, it emerges successfully, however the CUDA header & cpp files are omitted. So i need a better makefile.
hero member
Activity: 574
Merit: 513
I modified my makefile for bitcoin-9999.ebuild for svn Bitcoin and then
Code:
LC_ALL=C TZ=UTC0 diff -Naur makefile.unix makefile.gentoo > files/bitcoin-9999-Makefile.patch
ebuild bitcoin-9999.ebuild digest
emerge bitcoin

The emerge failed.  What else do I need to do besides update the makefile?
legendary
Activity: 1470
Merit: 1006
Bringing Legendary Har® to you since 1952
Here is my Gentoo makefile, if anybody is interested.

http://pastebin.com/73aFW42p

Also, i grepped all the CMake makefiles for "gpucommon.h" and "bitcoinminercuda.h". No results.
So i'm not so sure the CMakefiles are going to work at all.
legendary
Activity: 1470
Merit: 1006
Bringing Legendary Har® to you since 1952
So that points to you not using the CMake build files.  So your first step should be to use cmake to generate appropriate makefiles with CUDA enabled and then use those to make bitcoin.

I tried that at first, but build failed. This is the debug output i got:

Code:
bitcoin-svn-rev-158 # make bitcoind
-- Found BerkeleyDB: /usr/lib64/libdb.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/Bitcoin/bitcoin-svn-rev-158
[  5%] Building NVCC (Device) object cmake-bitcoind/./bitcoind_generated_bitcoinminercuda.cu.o
Scanning dependencies of target bitcoind
[ 11%] Building CXX object cmake-bitcoind/CMakeFiles/bitcoind.dir/__/src/db.cpp.o
In file included from /home/Bitcoin/bitcoin-svn-rev-158/src/db.cpp:5:
/home/Bitcoin/bitcoin-svn-rev-158/src/headers.h:45:20: error: db_cxx.h: Nie ma takiego pliku ani katalogu
In file included from /home/Bitcoin/bitcoin-svn-rev-158/src/headers.h:123,
                 from /home/Bitcoin/bitcoin-svn-rev-158/src/db.cpp:5:
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:26: error: ‘DbEnv’ does not name a type
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:37: error: ISO C++ forbids declaration of ‘Db’ with no type
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:37: error: expected ‘;’ before ‘*’ token
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:39: error: ‘DbTxn’ was not declared in this scope
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:39: error: template argument 1 is invalid
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:39: error: template argument 2 is invalid
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:152: error: ISO C++ forbids declaration of ‘Dbc’ with no type
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:152: error: expected ‘;’ before ‘*’ token
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:163: error: expected `;' before ‘int’
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:163: error: ‘Dbc’ has not been declared
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:202: error: ISO C++ forbids declaration of ‘DbTxn’ with no type
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:202: error: expected ‘;’ before ‘*’ token
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:210: error: expected `;' before ‘public’
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:163: error: ‘DB_NEXT’ was not declared in this scope
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h: In member function ‘bool CDB::Read(const K&, T&)’:
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:54: error: ‘pdb’ was not declared in this scope
/home/Bitcoin/bitcoin-svn-rev-158/src/db.h:61: error: ‘Dbt’ was not declared in this scope
(...)
(...)

However that approach won't work with Gentoo ebuild/emerge system, so i abandoned it.


EDIT:
This doesn't seem correct.  How does GPL come into play when Bitcoin is under MIT license?

He included GPL sourcecode in the CUDA-patch.
hero member
Activity: 574
Merit: 513
puddinpop,

You are in violation of the GPL since you CUDA is linked to the bitcoin source.

I will build a CUDA enabled build of the bitcoin client and post the source code
here.
 
Ken

This doesn't seem correct.  How does GPL come into play when Bitcoin is under MIT license?
sr. member
Activity: 434
Merit: 252
youtube.com/ericfontainejazz now accepts bitcoin
puddinpop,

You are in violation of the GPL since you CUDA is linked to the bitcoin source.

I will build a CUDA enabled build of the bitcoin client and post the source code
here.
 
Ken

Good point!  We should report puddinpop to gpl-violations.org immediately!  Get ready to be sued by Richard Stallman and his lawyer buddies!  Shocked

Just Kidding!  Bitcoin uses The MIT License/X11 license, which is permissive...
sr. member
Activity: 476
Merit: 250
puddinpop,

You are in violation of the GPL since you CUDA is linked to the bitcoin source.

I will build a CUDA enabled build of the bitcoin client and post the source code
here.
 
Ken
member
Activity: 103
Merit: 17
So that points to you not using the CMake build files.  So your first step should be to use cmake to generate appropriate makefiles with CUDA enabled and then use those to make bitcoin.
legendary
Activity: 1470
Merit: 1006
Bringing Legendary Har® to you since 1952
Well i debugged the compile process a little, and concluded that i have wrong makefile, which does not include gpucommon.h/cpp and bitcoinminercuda.h/cpp, and does not convert them to objects.

However, after adding them to makefile,

Code:
HEADERS=(...) cuda/bitcoinminercuda.h cuda/cudashared.h gpucommon/gpucommon.h

all: bitcoind

OBJS= \
 (...)
        obj/gpucommon.o \
        obj/bitcoinminercuda.o

, make complains that it "cannot find rules to make object. Stop."

EDIT:
Code:
make: *** No rule to make target `obj/gpucommon.o', needed by `bitcoin'.  Stop.
.

I know, I'm not a C++ programmer.
member
Activity: 103
Merit: 17
EDIT:
It would be really useful if the GPU client displayed any debugging info, because i don't even know if my card was detected, if CUDA is enabled properly etc etc.
Why are you assuming it doesn't display any debug info?  If you look in the debug.log, you'll see lots of info on what is detected and what it is doing.  Why was this info not useful to you?

Anyway, it sounds like you either don't have a CUDA capable driver installed, or you somehow compiled with CPU emulation turned on.  It's probably the CPU emulation.  A 9800 should get 21 Mhash/s.
legendary
Activity: 1470
Merit: 1006
Bringing Legendary Har® to you since 1952
Here it is:

SVN Rev 158, patched & cmaked.
However, still not working.

http://www.tinyurl.pl/?KMsRtkuR

Maybe somebody will figure out what i did wrong.

BTW,
Forget any hope that it will work under VirtualBox. No way.
newbie
Activity: 15
Merit: 0
I have a nvidia card, 8800gt, i can test under windows and why not under linux in virtualbox.
Don't hesitate to publish step by test it, or publish a windows binary package, i'm willing to help as i can.
legendary
Activity: 1470
Merit: 1006
Bringing Legendary Har® to you since 1952
UPDATE:

I tried everything again with bitcoind. The same results.
1200khash/sec with -gpu switch, and 4700 khash/sec without (and 8500 khash/sec with -4way switch).

So the client seems not to be using GPU at all.

BTW,
I have NVIDIA Geforce 9800GT

EDIT:
It would be really useful if the GPU client displayed any debugging info, because i don't even know if my card was detected, if CUDA is enabled properly etc etc.
legendary
Activity: 1470
Merit: 1006
Bringing Legendary Har® to you since 1952
OK, now I'm confused.

1. I installed the NVIDIA developer drivers
2. I installed NVIDIA cuda toolkit
3. I downloaded the svn rev. 158 source
4. I patched the source
5. I used CMAKEfiles on the source to make it buildable
6. I compiled / emerged everything

And the result is that on GUI version i get 1200khash/sec always, it does not matter if i used -gpu, -aggresion, -gputhreads, or any other switch.
It seems that the client is not working on graphics card, it is just using CPU, and single core only.

Also, the client in graphics mode keeps breaking wxGTK/wxWidgets (wxWidgets often popup with some debug messages). But that is bearable.

----
EDIT:
I guess i will try compiling only the daemon now and tell You how it went.
Pages:
Jump to: