Pages:
Author

Topic: Generating Bitcoins with your video card (OpenCL/CUDA) (Read 135011 times)

donator
Activity: 532
Merit: 501
We have cookies
Wow, generating bitcoins with a video card should be interesting !
legendary
Activity: 938
Merit: 1000
What's a GPU?
Hey, just wondering if any of you that posted back in 2010 are still around...

If so, make a post Cheesy
newbie
Activity: 56
Merit: 0
Win 7 pro x64
ATI radeon HD 4670 (Oc'd to the max)

I'm only getting 37.7Mhash/s mas with this.ny help to boost mining performance?
Also How can I tell when Ive made BTC with GUIminer/because I want to send my work to my BTC wallet.

Guys, STOP POSTING IN THIS THREAD.

We have a mining forum for specific issues.  This thread is old and useless now.
legendary
Activity: 1022
Merit: 1000
Freelance videographer
Win 7 pro x64
ATI radeon HD 4670 (Oc'd to the max)

I'm only getting 37.7Mhash/s mas with this.ny help to boost mining performance?
Also How can I tell when Ive made BTC with GUIminer/because I want to send my work to my BTC wallet.
newbie
Activity: 1
Merit: 0
I am very interested

Windows XP Pro
ATI RADEON XPRESS 200M
1gb memory
newbie
Activity: 56
Merit: 0
Is there a client that can generate BC with GPU and CPU working together to speed things up even more,that is available on the Mac as well as the PC?



No, there is no advantage to these devices working together.  You can run them both at the same time though, although CPU mining is an utter waste of time and power at this point.

legendary
Activity: 1022
Merit: 1000
Freelance videographer
Is there a client that can generate BC with GPU and CPU working together to speed things up even more,that is available on the Mac as well as the PC?

newbie
Activity: 5
Merit: 0
Windows 7 64 bit
Nvidia Geforce GT 220
member
Activity: 73
Merit: 10
There is a windows binary for open cl, which I have just recently learned works on nvidia cards:

https://bitcointalksearch.org/topic/python-opencl-bitcoin-miner-1334
full member
Activity: 158
Merit: 100
Quote
It seems there are still people running the old proprietary version.
is there any other version available (besides the old cracked proprietary version) for people that dont compile themselfes?
i havent noticed any.
Yes, it is available for Windows now. You can get it here. Do not forget to use the -gpu key. Smiley

There is no CUDA support in this binary. So there is only old proprietary binary available(and cracked version of it).
member
Activity: 73
Merit: 10

I'm attempting to compile the full source and I'm having a lot of dependency issues. Has anyone been able to build this for win32?

Been trying for a long time with no success myself, perhaps take a look at this thread I made a while back to see if any of the problems you're having are similar to mine?

https://bitcointalksearch.org/topic/issues-building-bitcoin-on-windows-7-1034
member
Activity: 83
Merit: 10

I'm attempting to compile the full source and I'm having a lot of dependency issues. Has anyone been able to build this for win32?
legendary
Activity: 1470
Merit: 1003
Bringing Legendary Har® to you since 1952
I have finally succeeded to create a working makefile.
Everything emerges properly, however dependencies are not automatically solved, so the ebuild will not work on any Gentoo out of the box. It needs improvements.
Also, my ebuild replaces normal bitcoin with its cuda version (as i don't know how to make separate binaries yet), so it's probably not the way it should be done anyway.

I will be posting the ebuild soon together with modified source, after i start my account at github.

LZ
legendary
Activity: 1722
Merit: 1062
P2P Cryptocurrency
Quote
It seems there are still people running the old proprietary version.
is there any other version available (besides the old cracked proprietary version) for people that dont compile themselfes?
i havent noticed any.
Yes, it is available for Windows now. You can get it here. Do not forget to use the -gpu key. Smiley
hero member
Activity: 574
Merit: 504
SOH: I recommend you to create a new thread specific to OpenCL/CUDA gentoo ebuild developments; otherwise use my gentoo thread
newbie
Activity: 53
Merit: 0
Seems the the db include directory was not set correctly. Can you search your system for db_cxx.h and db.h and post the results? I'll try to look at it when I have time.

Here You go:

db_cxx.h :
Code:
$ find /usr | grep db_cxx
/usr/include/db4.7/db_cxx.h
/usr/include/db4.8/db_cxx.h
/usr/include/db4.5/db_cxx.h
/usr/include/db4.6/db_cxx.h

db.h :
Code:
$ find /usr | fgrep '/db.h'
/usr/include/db4.7/db.h
/usr/include/htdig_db/db.h
/usr/include/db4.8/db.h
/usr/include/db4.5/db.h

Interesting. You have your db headers installed in db4.7, while on my FreeBSD installation it's db47. I think it should work if you use my FindBerkeleyDB module and set DB_VERSION to 4.7, instead of 47. Anyway at least with the REQUIRED flag, the CMake configuration will bail out as it should, if it's unable to find the headers.
legendary
Activity: 1470
Merit: 1003
Bringing Legendary Har® to you since 1952
Seems the the db include directory was not set correctly. Can you search your system for db_cxx.h and db.h and post the results? I'll try to look at it when I have time.

Here You go:

db_cxx.h :
Code:
$ find /usr | grep db_cxx
/usr/include/db4.7/db_cxx.h
/usr/include/db4.8/db_cxx.h
/usr/include/db4.5/db_cxx.h
/usr/include/db4.6/db_cxx.h

db.h :
Code:
$ find /usr | fgrep '/db.h'
/usr/include/db4.7/db.h
/usr/include/htdig_db/db.h
/usr/include/db4.8/db.h
/usr/include/db4.5/db.h
legendary
Activity: 1470
Merit: 1003
Bringing Legendary Har® to you since 1952
I continued with the Gentoo ebuild approach, and got around most of the library dependencies problem. I will probably not continue with CMake way, because it is very gentoo-incompatibile.

However, now i get this while trying to compile code:

Code:
obj/bitcoinminercuda.o: In function `CUDARunner::RunStep()':
bitcoinminercuda.cpp:(.text+0x301): undefined reference to `cudaMemcpy'
bitcoinminercuda.cpp:(.text+0x332): undefined reference to `cuda_process_helper(cuda_in*, cuda_out*, unsigned int, unsigned int, int, int)'
bitcoinminercuda.cpp:(.text+0x351): undefined reference to `cudaMemcpy'
bitcoinminercuda.cpp:(.text+0x3e5): undefined reference to `cudaGetErrorString'
bitcoinminercuda.cpp:(.text+0x41c): undefined reference to `cudaGetErrorString'
obj/bitcoinminercuda.o: In function `CUDARunner::AllocateResources(int, int)':
bitcoinminercuda.cpp:(.text+0x48c): undefined reference to `cudaMalloc'
bitcoinminercuda.cpp:(.text+0x49c): undefined reference to `cudaMalloc'
bitcoinminercuda.cpp:(.text+0x4d1): undefined reference to `cudaGetErrorString'
bitcoinminercuda.cpp:(.text+0x508): undefined reference to `cudaGetErrorString'
obj/bitcoinminercuda.o: In function `CUDARunner::DeallocateResources()':
bitcoinminercuda.cpp:(.text+0x544): undefined reference to `cudaFree'
bitcoinminercuda.cpp:(.text+0x574): undefined reference to `cudaFree'
bitcoinminercuda.cpp:(.text+0x591): undefined reference to `cudaGetErrorString'
bitcoinminercuda.cpp:(.text+0x5c8): undefined reference to `cudaGetErrorString'
obj/bitcoinminercuda.o: In function `CUDARunner::~CUDARunner()':
bitcoinminercuda.cpp:(.text+0x5f1): undefined reference to `cudaThreadExit'
bitcoinminercuda.cpp:(.text+0x60c): undefined reference to `cudaGetErrorString'
obj/bitcoinminercuda.o: In function `CUDARunner::~CUDARunner()':
bitcoinminercuda.cpp:(.text+0x661): undefined reference to `cudaThreadExit'
bitcoinminercuda.cpp:(.text+0x675): undefined reference to `cudaGetErrorString'
obj/bitcoinminercuda.o: In function `CUDARunner::~CUDARunner()':
bitcoinminercuda.cpp:(.text+0x6d1): undefined reference to `cudaThreadExit'
bitcoinminercuda.cpp:(.text+0x6e5): undefined reference to `cudaGetErrorString'
obj/bitcoinminercuda.o: In function `CUDARunner::CUDARunner()':
bitcoinminercuda.cpp:(.text+0x76a): undefined reference to `cudaGetDeviceCount'
bitcoinminercuda.cpp:(.text+0x79c): undefined reference to `cudaSetDevice'
bitcoinminercuda.cpp:(.text+0x7c0): undefined reference to `cudaSetDevice'
bitcoinminercuda.cpp:(.text+0x7cb): undefined reference to `cudaGetErrorString'
bitcoinminercuda.cpp:(.text+0x7f8): undefined reference to `cudaGetErrorString'
bitcoinminercuda.cpp:(.text+0x82f): undefined reference to `cudaGetErrorString'
obj/bitcoinminercuda.o: In function `CUDARunner::CUDARunner()':
bitcoinminercuda.cpp:(.text+0x88a): undefined reference to `cudaGetDeviceCount'
bitcoinminercuda.cpp:(.text+0x8bc): undefined reference to `cudaSetDevice'
bitcoinminercuda.cpp:(.text+0x8e0): undefined reference to `cudaSetDevice'
bitcoinminercuda.cpp:(.text+0x8eb): undefined reference to `cudaGetErrorString'
bitcoinminercuda.cpp:(.text+0x918): undefined reference to `cudaGetErrorString'
bitcoinminercuda.cpp:(.text+0x94f): undefined reference to `cudaGetErrorString'
obj/bitcoinminercuda.o: In function `CUDARunner::FindBestConfiguration()':
bitcoinminercuda.cpp:(.text+0xa7b): undefined reference to `cudaGetLastError'
bitcoinminercuda.cpp:(.text+0xaab): undefined reference to `cudaMemcpy'
bitcoinminercuda.cpp:(.text+0xad0): undefined reference to `cuda_process_helper(cuda_in*, cuda_out*, unsigned int, unsigned int, int, int)'
bitcoinminercuda.cpp:(.text+0xae5): undefined reference to `cudaMemcpy'
bitcoinminercuda.cpp:(.text+0xaf2): undefined reference to `cudaGetLastError'
bitcoinminercuda.cpp:(.text+0xc1e): undefined reference to `cudaGetErrorString'
bitcoinminercuda.cpp:(.text+0xc55): undefined reference to `cudaGetErrorString'
obj/bitcoinminercuda.o: In function `cutGetMaxGflopsDeviceId()':
bitcoinminercuda.cpp:(.text._Z23cutGetMaxGflopsDeviceIdv[cutGetMaxGflopsDeviceId()]+0x46): undefined reference to `cudaGetDeviceCount'
bitcoinminercuda.cpp:(.text._Z23cutGetMaxGflopsDeviceIdv[cutGetMaxGflopsDeviceId()]+0x66): undefined reference to `cudaGetDeviceProperties'
bitcoinminercuda.cpp:(.text._Z23cutGetMaxGflopsDeviceIdv[cutGetMaxGflopsDeviceId()]+0xca): undefined reference to `cudaGetDeviceProperties'
collect2: ld returned 1 exit status

It seems I am missing some library or something.

Also, my libraries paths & include paths in the makefile are as follows:

Code:
INCLUDEPATHS= \
         -I"/usr/include" \
         -I"/usr/include/crypto++" \
         -I"@@[email protected]@" \
         -I"/opt/cuda/sdk/C/common/inc/" \
         -I"/opt/cuda/include/"
LIBPATHS= \
         -L"/usr/lib" \
         -L"/opt/cuda/lib64" -lcufft -lcudart -Wl,-rpath,/opt/cuda/lib64
LIBS := ${LDFLAGS} -dead_strip \
 -ldb_cxx -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lgthread-2.0 -lssl -lcrypto -lcrypto++ -lgmp -ldl -lz

Once again, I am not a C++ programmer (too bad).

EDIT:

To be clear, i have moved all of the *.cpp, *.h and *.cu files from the data/ & gpucommon/ directory, to the root directory to make it easier resolving dependencies.

You may also find this part of the makefile useful:

Code:
HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \
    script.h db.h net.h irc.h main.h rpc.h uibase.h ui.h noui.h init.h bitcoinminercuda.h \
    cudashared.h gpucommon.h

all: bitcoind

OBJS= \
        obj/util.o \
        obj/script.o \
        obj/db.o \
        obj/net.o \
        obj/irc.o \
        obj/main.o \
        obj/rpc.o \
        obj/init.o \
        obj/bitcoinminercuda.o \
        obj/gpucommon.o

#       cryptopp/obj/sha.o
#       cryptopp/obj/cpu.o

bitcoind: $(OBJS:obj/%=obj/nogui/%) obj/sha256.o
        g++ $(CFLAGS) -o [email protected] $^ $(LIBPATHS) $(LIBS)

bitcoin: $(OBJS) obj/ui.o obj/uibase.o obj/sha256.o
        g++ $(CFLAGS) -o [email protected] $^ $(WXLIBS) $(LIBS)

#cryptopp/obj/%.o: cryptopp/%.cpp
#       g++ -c $(CFLAGS) -O3 -o [email protected] $<

obj/%.o: %.cpp $(HEADERS)
        g++ -c $(CFLAGS) $(WXDEFS) -DGUI -o [email protected] $<

obj/sha256.o: sha256.cpp
        g++ -c $(CFLAGS) @@[email protected]@ -o [email protected] $<

obj/nogui/%.o: %.cpp $(HEADERS)
        g++ -c $(CFLAGS) -o [email protected] $<

I promise to make the Gentoo cuda ebuild public after i make this work.
newbie
Activity: 53
Merit: 0
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.


Seems the the db include directory was not set correctly. Can you search your system for db_cxx.h and db.h and post the results? I'll try to look at it when I have time.
hero member
Activity: 532
Merit: 501
Quote
It seems there are still people running the old proprietary version.

is there any other version available (besides the old cracked proprietary version) for people that dont compile themselfes?
i havent noticed any.
Pages:
Jump to: