Bitcoin Forum
October 31, 2024, 09:46:41 PM *
News: Bitcoin Pumpkin Carving Contest
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 [10] 11 12 »  All
  Print  
Author Topic: Generating Bitcoins with your video card (OpenCL/CUDA)  (Read 135401 times)
nelisky
Legendary
*
Offline Offline

Activity: 1540
Merit: 1002


View Profile
September 24, 2010, 12:53:22 PM
 #181

I am not a programmer, so excuse my dumb question: In a future version, can us common folk expect to see the bitcoin program recognize that I have the right video card, and have the option of generating with it, or is this going to be limited to those who can play code?

It depends on what us, the programmers, are willing to do. Some of us will require coins for our effort, some of us just need to manage time, I personally am bound by the latter and would appreciate help in getting the hardware to test outside my laptop. I almost got it, but then puddinpop's ransom was paid and everything is good now... isn't it?? :p
eurekafag
Full Member
***
Offline Offline

Activity: 185
Merit: 100


View Profile
September 30, 2010, 07:56:32 AM
 #182

Ok, here is a linux build of GUI and CLI clients with CUDA patch by nelisky upon his request on russian forum. Take some precautions and backup your bitcoin data because after this version the official 0.3.12 build refuses to work with the database. Although this build works fine all the time then. wxWidgets are linked statically and the only unusual dependence is libcudart.so.3 (you can get it from NVIDIA CUDA section. Also you should install CUDA developers drivers.

It may not work in your distribution because of different library versions. I personally built it on OpenSuSE 11.3. The modified makefile.unix is included but it should be corrected to point to your build directories of boost and wxWidgets. Also you will need to install Berkeley DB from Oracle site (registration there is required). It's not an easy way because of lots of libraries and it would be quite easy if sqlite and GTK have been adopted instead of BDB and wxWidgets. But I tried to make this process at least possible providing that makefile.unix so you need only to create the build environment by compiling that libraries.

If you trust me then just use these binaries. I promise there are no malware or stealware (like in puddinpops build which steal coins upon generation). But you're not obliged to trust me of course.
nelisky
Legendary
*
Offline Offline

Activity: 1540
Merit: 1002


View Profile
September 30, 2010, 11:21:25 AM
 #183

Thank you!

Yesterday I've built on linux for the first time (I don't do GUI though) and it was a breeze. So anyone that has a cuda enabled device but doesn't want to use eurekafag's binary should have no trouble getting it compiled, but if you can't/won't, then major kudos to eurekafag for putting this out.
eurekafag
Full Member
***
Offline Offline

Activity: 185
Merit: 100


View Profile
September 30, 2010, 05:02:32 PM
 #184

Yes, that should be easy if you're C++/Boost/BerkeleyDB/CUDA developer and already have all those libraries and SDKs (or at least built BitCoin once). I did not — I prefer python so had to go through it all and discover how to build. I didn't modify makefiles before (because didn't write C/C++ code on linux). So it all took several days to learn. If you have all these skills it definitely would be easy to build and there is no reason to use prebuilt binary (especially if it doesn't run because of missing library or version). You can check it before launching using «ldd bitcoin» or «ldd bitcoind», if there is no «not found» lines then it should work.
Syke
Legendary
*
Offline Offline

Activity: 3878
Merit: 1193


View Profile
October 01, 2010, 04:12:59 PM
 #185

eurekafag, can you build a 64-bit version?

Buy & Hold
puddinpop
Member
**
Offline Offline

Activity: 103
Merit: 17


View Profile
October 01, 2010, 11:22:37 PM
Last edit: October 02, 2010, 01:17:42 PM by puddinpop
 #186

Here's the latest version of my CUDA client.  I've added some options to fine tune performance, and to allow multiple clients to run on the same machine to utilize more than one CUDA device.

Other than -gpu, these are optional when using the CUDA miner.
  • -gpu=X
    • Turns on GPU processing on specific GPU device.  Indexes start at 0.  If you just use -gpu without =X it will pick the device with the max GFlops.
  • -aggression=X
    • Specifies how many hashes (2^X) per kernel thread will be calculated.  Default is 6.  It starts at 1 and goes to 32, with each successive number meaning double the number of hashes.  Sane values are 1 to 12 or maybe 14 if you have some super card.
  • -gpugrid=X
    • Specifies what the grid size of the kernel should be.  Useful for fine tuning hash rate.
  • -gputhreads=X
    • Specifies how many threads per kernel invocation should run.  Useful for fine tuning hash rate.
  • -port=X
    • Specifies the port that bitcoin will listen on
  • -rpcport=X
    • Specifies the port that the rpc server will listen on

patch against SVN 158
full source

Ewald
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
October 02, 2010, 06:49:21 AM
 #187

Here's the latest version of my CUDA client.  I've added some options to fine tune performance, and to allow multiple clients to run on the same machine to utilize more than one CUDA device.

full source

Hmm.. I am unable to download the full source...

Quote from: MediaFire
NOTICE: No servers are currently available with the requested data on them. Please retry your request in a moment.

...anyone who was able to download and build this release?
eurekafag
Full Member
***
Offline Offline

Activity: 185
Merit: 100


View Profile
October 02, 2010, 07:46:30 AM
 #188

eurekafag, can you build a 64-bit version?
I can't because I use 32-bit only OS'es and see no reasons to use 64 bits for now. AFAIK 32-bit gcc can't crosscompile 64-bit binaries.
LZ
Legendary
*
Offline Offline

Activity: 1722
Merit: 1072


P2P Cryptocurrency


View Profile
October 02, 2010, 07:53:23 AM
Last edit: July 16, 2020, 10:15:25 PM by LZ
 #189

Hmm.. I am unable to download the full source...
I downloaded it successfully today. You may try get it from here.

...anyone who was able to download and build this release?
May be if will be free time to do it.

My OpenPGP fingerprint: 5099EB8C0F2E68C63B4ECBB9A9D0993E04143362
puddinpop
Member
**
Offline Offline

Activity: 103
Merit: 17


View Profile
October 03, 2010, 05:19:56 PM
 #190

Here's some CMake build files to make compiling this easier.  Just put the bitcoin source in the src directory and run cmake on the top level directory.  You can compile the GUI and/or the daemon with or without CUDA.

CMake files

ShadowOfHarbringer
Legendary
*
Offline Offline

Activity: 1470
Merit: 1006


Bringing Legendary Har® to you since 1952


View Profile
October 04, 2010, 06:06:25 PM
 #191

Nah, still can't compile it.

Successfully emerged cuda-toolkit, patched source (rev 158), used the CMake files (also a success), but compilation fails with following errors:

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
(...)
(...)

Any ideas what's wrong ?

I run an AMD64 Gentoo.

Code:
Linux tuxhost 2.6.34-gentoo-r2 #2 SMP Fri Jul 23 11:42:01 CEST 2010 x86_64 AMD Phenom(tm) 9850 Quad-Core Processor AuthenticAMD GNU/Linux

ShadowOfHarbringer
Legendary
*
Offline Offline

Activity: 1470
Merit: 1006


Bringing Legendary Har® to you since 1952


View Profile
October 04, 2010, 06:52:42 PM
 #192

UPDATE:

I compiled it successfully using a modified ebuild.
It launches and seems to generally work, but at the same speed as normal.

I have 195.36.24 version of NVIDIA drivers (too old perhaps ?).

I guess i will wait for the official CUDA build.

LZ
Legendary
*
Offline Offline

Activity: 1722
Merit: 1072


P2P Cryptocurrency


View Profile
October 04, 2010, 07:01:58 PM
 #193

You should use the latest driver version. Did you use -gpu switch?

My OpenPGP fingerprint: 5099EB8C0F2E68C63B4ECBB9A9D0993E04143362
ShadowOfHarbringer
Legendary
*
Offline Offline

Activity: 1470
Merit: 1006


Bringing Legendary Har® to you since 1952


View Profile
October 04, 2010, 07:49:11 PM
 #194

Yeah i tried using the -gpu switch, nothing happened. Well, actually perhaps something happened - i think the speed was cut in half - i had only 2200khash/sec instead of normal 4500khash/sec or 8500 khash/sec (-4way switch).

I guess then will try the new drivers tomorrow.

eurekafag
Full Member
***
Offline Offline

Activity: 185
Merit: 100


View Profile
October 05, 2010, 07:54:06 AM
 #195

Do you use CUDA-enabled driver or regular one?
ShadowOfHarbringer
Legendary
*
Offline Offline

Activity: 1470
Merit: 1006


Bringing Legendary Har® to you since 1952


View Profile
October 05, 2010, 12:50:14 PM
 #196

Do you use CUDA-enabled driver or regular one?

It seems I used the normal driver....
Everything is clear now.

L29Ah
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
October 05, 2010, 10:38:29 PM
 #197

UPDATE:

I compiled it successfully using a modified ebuild.
It launches and seems to generally work, but at the same speed as normal.

I have 195.36.24 version of NVIDIA drivers (too old perhaps ?).

I guess i will wait for the official CUDA build.
can you please post the ebuild?
LobsterMan
Member
**
Offline Offline

Activity: 73
Merit: 10


View Profile
October 06, 2010, 02:44:43 AM
 #198

Any chance of anyone posting compiled binaries for windows? I'm still having a hell of a time trying to get anything to compile  Huh
joe
Member
**
Offline Offline

Activity: 64
Merit: 10


View Profile
October 06, 2010, 05:55:59 AM
 #199

Unless he lives in a nation that doesn't enforce intellectual property rights.

Quote
The Civil Code of the Russian Federation / Chapter 70. Copyright.

Article 1280.
Free Reproduction of computer programs and databases. Decompilation of Computer Programs.
1. Person lawfully in possession of a copy of a computer program or database instance (the user) may,
without the permission of the author or copyright holder and without payment of additional remuneration:
1) make changes to the computer program or database solely for the purpose of their operation on the
user's device and to perform any actions necessary for the functioning of such a program or database
according to their function, including storing in computer memory (one computer or a network), and to
make correct obvious errors, unless otherwise provided by contract with the copyright holder;
2) make a copy of a computer program or database provided that the copy is intended solely for archiving
purposes or for replacement of a lawfully acquired copy where such copy has been lost, destroyed or
unusable; at the same time a copy of a computer program or database may not be used for purposes other
than those specified in paragraph 1 of this paragraph, and must be destroyed if possession of the copy of
such a program or database cease to be lawful.
2. Person lawfully in possession of a copy of a computer program may, without the consent of the
rightholder and without payment of additional remuneration: to study, investigate or test the functioning
of such a program in order to determine the ideas and principles which underlie any element of a computer
program through any action under subparagraph 1 paragraph 1 of this article.
3. Person lawfully in possession of a copy of a computer program may, without the consent of the
rightholder and without payment of additional compensation: to reproduce and convert the object code
into source code (decompile the computer program) or by third parties to carry out these actions, if they
are necessary to achieve interoperability independently developed that person's computer program with
other programs that can interact with the decompiled program, under the following conditions:
1) the information necessary to achieve interoperability, has not previously been available to that person
from other sources;
2) these actions are carried out in respect of only those parts of the decompilation of computer programs,
are necessary to achieve interoperability;
3) information obtained by decompilation may only be used to achieve the ability to interact independently
created computer programs with other programs that can be transferred to other persons, except where
necessary to achieve the ability to interact independently created computer programs with other programs
and can not be used to develop a computer program, a type essentially comparable to the decompiled
computer program, or for any other act that violates the exclusive right to the computer program.
4. Application of the provisions stipulated in this Article shall not cause undue damage to normal use
of a computer program or database, and should not unreasonably prejudice the legitimate interests
of the author or copyright holder.


What has the world come to where laws now tell us what we can do (and everything else is illegal) instead of the old days where laws told us what we can't do (and everything else was legal)?
ShadowOfHarbringer
Legendary
*
Offline Offline

Activity: 1470
Merit: 1006


Bringing Legendary Har® to you since 1952


View Profile
October 06, 2010, 11:58:06 AM
 #200

can you please post the ebuild?

I deleted it already and now i have to re-do it again.
It may take a day or 2.

Pages: « 1 2 3 4 5 6 7 8 9 [10] 11 12 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!