Author

Topic: [ANN] cudaMiner & ccMiner CUDA based mining applications [Windows/Linux/MacOSX] - page 1088. (Read 3426918 times)

hero member
Activity: 675
Merit: 514
If you have problems with mega.co.nz you could download it here:
http://sonstiges.org/cudaminer-2013-07-13.zip
hero member
Activity: 756
Merit: 502
> Maybe better error handling is in order?

ANY kind of error handling is in order.
legendary
Activity: 1680
Merit: 1014
cbuchner1, I stopped trying to build as I finally managed to download your pre-built archive from Mega.co.nz after trying 5 different machines what felt like 500 times. Could you release the prebuilt archive on some other file sharing service?

Now, some results:

Run on laptop with Quaddro FX 880M. Really nice. I can't compare to CgMiner as it always crashed on all my nVidia cards, but for comparison, poclbm doing SHA-256 managed to give max 12MHs on the same card:

Code:
           *** CudaMiner for nVidia GPUs by Christian Buchner ***
                     This is version 2013-07-13 (alpha)
        based on pooler-cpuminer 2.3.2 (c) 2010 Jeff Garzik, 2012 pooler
               Cuda additions Copyright 2013 Christian Buchner
           My donation address: LKS1WDKGED647msBQfLBHV3Ls8sveGncnm

[2013-07-18 10:36:45] 1 miner threads started, using 'scrypt' algorithm.
[2013-07-18 10:36:45] Starting Stratum on stratum+tcp://stratum.give-me-ltc.com:3333
[2013-07-18 10:36:50] GPU #0: Quadro FX 880M with compute capability 1.2
[2013-07-18 10:36:50] GPU #0: interactive: 1, tex-cache: 0 , single-alloc: 0
[2013-07-18 10:36:50] GPU #0: Performing auto-tuning (Patience...)
[2013-07-18 10:37:08] GPU #0:   15.67 khash/s with configuration  12x6
[2013-07-18 10:37:08] GPU #0: using launch configuration  12x6
[2013-07-18 10:37:28] accepted: 1/1 (100.00%), 15.29 khash/s (yay!!!)
[2013-07-18 10:37:41] accepted: 2/2 (100.00%), 15.24 khash/s (yay!!!)
[2013-07-18 10:37:52] accepted: 3/3 (100.00%), 15.26 khash/s (yay!!!)
Ctrl-C
[2013-07-18 10:38:31] workio thread dead, waiting for workers...
[2013-07-18 10:38:31] worker threads all shut down, exiting.

--texture-cache 1 reduced the speed to 9.79kh/s (9.79 khash/s with configuration S6x5)
--texture-cache 2 reduced the speed to 9.90kh/s (9.90 khash/s with configuration  12x5)


A small bug report. I added -t 8 argument just for fun and got the followign. Maybe better error handling is in order?

Code:
           *** CudaMiner for nVidia GPUs by Christian Buchner ***
                     This is version 2013-07-13 (alpha)
        based on pooler-cpuminer 2.3.2 (c) 2010 Jeff Garzik, 2012 pooler
               Cuda additions Copyright 2013 Christian Buchner
           My donation address: LKS1WDKGED647msBQfLBHV3Ls8sveGncnm

[2013-07-18 10:39:05] Starting Stratum on stratum+tcp://stratum.give-me-ltc.com:3333
[2013-07-18 10:39:05] 8 miner threads started, using 'scrypt' algorithm.
[2013-07-18 10:39:06] GPU #2: ÙTÐ☻ with compute capability 56620564.257475133
[2013-07-18 10:39:06] GPU #1: øSÐ☻ with compute capability 53605140.257475133
[2013-07-18 10:39:06] GPU #5: {TÐ☻ with compute capability 62911316.257475133
[2013-07-18 10:39:06] GPU #2: interactive: 1, tex-cache: 0 , single-alloc: 0
[2013-07-18 10:39:06] GPU #1: interactive: 1, tex-cache: 0 , single-alloc: 0
[2013-07-18 10:39:06] GPU #7: ♂TÐ☻ with compute capability 66581652.257475133
[2013-07-18 10:39:06] GPU #4: {ÿ║☻ with compute capability 61667220.257475133
[2013-07-18 10:39:06] GPU #0: Quadro FX 880M with compute capability 1.2
[2013-07-18 10:39:06] GPU #5: interactive: 1, tex-cache: 0 , single-alloc: 0
[2013-07-18 10:39:06] GPU #6: +SÐ☻ with compute capability 64352468.257475133
[2013-07-18 10:39:06] GPU #7: interactive: 1, tex-cache: 0 , single-alloc: 0
[2013-07-18 10:39:06] GPU #4: interactive: 1, tex-cache: 0 , single-alloc: 0
[2013-07-18 10:39:06] GPU #0: interactive: 1, tex-cache: 0 , single-alloc: 0
[2013-07-18 10:39:06] GPU #6: interactive: 1, tex-cache: 0 , single-alloc: 0
[2013-07-18 10:39:06] GPU #3: Ùÿ║☻ with compute capability 58782612.257475133
[2013-07-18 10:39:06] GPU #3: interactive: 1, tex-cache: 0 , single-alloc: 0
[2013-07-18 10:39:06] GPU #2: Performing auto-tuning (Patience...)
[2013-07-18 10:39:06] GPU #2:    0.00 khash/s with configuration  0x0
[2013-07-18 10:39:06] GPU #2: using launch configuration  0x0
[2013-07-18 10:39:06] GPU #1: Performing auto-tuning (Patience...)
[2013-07-18 10:39:06] GPU #1:    0.00 khash/s with configuration  0x0
[2013-07-18 10:39:06] GPU #1: using launch configuration  0x0
[2013-07-18 10:39:06] GPU #5: Performing auto-tuning (Patience...)
[2013-07-18 10:39:06] GPU #5:    0.00 khash/s with configuration  0x0
[2013-07-18 10:39:06] GPU #5: using launch configuration  0x0
[2013-07-18 10:39:06] GPU #7: Performing auto-tuning (Patience...)
[2013-07-18 10:39:06] GPU #7:    0.00 khash/s with configuration  0x0
[2013-07-18 10:39:06] GPU #7: using launch configuration  0x0
[2013-07-18 10:39:06] GPU #4: Performing auto-tuning (Patience...)
[2013-07-18 10:39:06] GPU #4:    0.00 khash/s with configuration  0x0
[2013-07-18 10:39:06] GPU #4: using launch configuration  0x0
[2013-07-18 10:39:06] GPU #3: Performing auto-tuning (Patience...)
[2013-07-18 10:39:06] GPU #3:    0.00 khash/s with configuration  0x0
[2013-07-18 10:39:06] GPU #3: using launch configuration  0x0
[2013-07-18 10:39:06] GPU #6: Performing auto-tuning (Patience...)
[2013-07-18 10:39:06] GPU #6:    0.00 khash/s with configuration  0x0
[2013-07-18 10:39:06] GPU #6: using launch configuration  0x0

I'll report my GeForce 560Ti experience later (with different overclocking settings)
hero member
Activity: 756
Merit: 502
I am working towards a more modular design of the CUDA code now.
I will support kernels of these types:

L: legacy devices (compute 1.x)   (I've removed that one in late April, now it's back).
F: Fermi class devices (compute 2.x)
K/S: Kepler class devices with compute 3.0
T: Titan devices and other Kepler based devices with compute 3.5 (even a cheap GT640 might qualify)

Autotune always tunes the kernel matching the graphics card, but I will allow a manual override

Some work in progress is already in my cpuminer fork repo on github (check the cbuchner1 account).
full member
Activity: 168
Merit: 100
ubuntu 13.04 (and all depencies) =
git clone https://github.com/cbuchner1/CudaMiner.git
cd CudaMiner
chmod 700 autogen.sh
./autogen.sh
./configure
make
= working cudaminer

even tho I got loads of
./spinlock_kernel.cu(154): Warning: Cannot tell what pointer points to, assuming global memory space
./spinlock_kernel.cu(155): Warning: Cannot tell what pointer points to, assuming global memory space
./spinlock_kernel.cu(156): Warning: Cannot tell what pointer points to, assuming global memory space
hero member
Activity: 756
Merit: 502

those running cudaMiner on linux systems equipped with nVidia Optimus need to install bumblebee (or comparable software packages) and run

optirun cudaminer

instead of just

cudaminer

Or depending on the software package used to select the GPU, some other program may be required (not optirun, but e.g. primusrun)

Christian
hero member
Activity: 756
Merit: 502
crunchy, that's puzzling because the CUDA code hasn't changed a single bit.

For speed comparisons, try to give the same launch parameter that was chosen in the 04-30 version.
Is also the -i flag the same as back then?

Christian
hero member
Activity: 756
Merit: 502
Nemo1024, cygwin build problems will be mostly caused my choice of using #if WIN32 to decide whether to use Microsoft Visual C++ specific features and compatibility headers from the "compat" folder. Try replacing it with a preprocessor macro that identifies a Visual C++ version.

Also note that nVidia doesn't support gcc as a backend for the nvcc compiler in Windows. This would be the showstopper.

I recommend Visual C++ 2010 Express for the job.

Christian
newbie
Activity: 19
Merit: 0
it looks very nice :

           *** CudaMiner for nVidia GPUs by Christian Buchner ***
                     This is version 2013-07-13 (alpha)
        based on pooler-cpuminer 2.3.2 (c) 2010 Jeff Garzik, 2012 pooler
               Cuda additions Copyright 2013 Christian Buchner
           My donation address: LKS1WDKGED647msBQfLBHV3Ls8sveGncnm

[2013-07-17 11:52:35] 1 miner threads started, using 'scrypt' algorithm.
[2013-07-17 11:52:42] GPU #0: GeForce GTX 660 Ti with compute capability 3.0
[2013-07-17 11:52:42] GPU #0: interactive: 1, tex-cache: 0 , single-alloc: 1
[2013-07-17 11:52:42] GPU #0: Performing auto-tuning (Patience...)
[2013-07-17 11:53:47] GPU #0:  200.69 khash/s with configuration S98x2
[2013-07-17 11:53:47] GPU #0: using launch configuration S98x2
[2013-07-17 11:53:47] GPU #0: GeForce GTX 660 Ti, 6272 hashes, 0.09 khash/s
[2013-07-17 11:53:47] GPU #0: GeForce GTX 660 Ti, 6272 hashes, 57.34 khash/s
[2013-07-17 11:53:48] GPU #0: GeForce GTX 660 Ti, 119168 hashes, 119.16 khash/s
[2013-07-17 11:53:50] GPU #0: GeForce GTX 660 Ti, 238336 hashes, 120.09 khash/s
[2013-07-17 11:53:52] GPU #0: GeForce GTX 660 Ti, 244608 hashes, 122.30 khash/s
[2013-07-17 11:53:54] GPU #0: GeForce GTX 660 Ti, 244608 hashes, 122.30 khash/s
[2013-07-17 11:53:56] GPU #0: GeForce GTX 660 Ti, 244608 hashes, 120.41 khash/s
[2013-07-17 11:53:58] GPU #0: GeForce GTX 660 Ti, 244608 hashes, 124.24 khash/s
[2013-07-17 11:54:00] GPU #0: GeForce GTX 660 Ti, 250880 hashes, 122.56 khash/s
[2013-07-17 11:54:02] GPU #0: GeForce GTX 660 Ti, 250880 hashes, 126.42 khash/s
[2013-07-17 11:54:04] GPU #0: GeForce GTX 660 Ti, 257152 hashes, 121.90 khash/s
[2013-07-17 11:54:06] GPU #0: GeForce GTX 660 Ti, 244608 hashes, 121.35 khash/s
[2013-07-17 11:54:08] GPU #0: GeForce GTX 660 Ti, 244608 hashes, 121.35 khash/s
[2013-07-17 11:54:10] GPU #0: GeForce GTX 660 Ti, 244608 hashes, 126.24 khash/s
[2013-07-17 11:54:12] GPU #0: GeForce GTX 660 Ti, 257152 hashes, 121.90 khash/s
[2013-07-17 11:54:14] GPU #0: GeForce GTX 660 Ti, 244608 hashes, 123.26 khash/s
[2013-07-17 11:54:16] GPU #0: GeForce GTX 660 Ti, 250880 hashes, 125.43 khash/s
[2013-07-17 11:54:18] GPU #0: GeForce GTX 660 Ti, 250880 hashes, 124.46 khash/s
[2013-07-17 11:54:20] GPU #0: GeForce GTX 660 Ti, 250880 hashes, 121.63 khash/s
[2013-07-17 11:54:29] GPU #0: GeForce GTX 660 Ti, 244608 hashes, 122.30 khash/s

great benchmark number, yet it commes nowhere near when it commes to actual running. How why what and when happend, i no longer get result does not validate as with the previous version but alltogether it is

WAAY slower then the 17/04/2013 version.

NUTS, it used to be around 165 kh/sec. now it just promisses more to return less. i'm boggled.
legendary
Activity: 1680
Merit: 1014
Thank you.

EDIT: Build problems. Building on cygwin:

$ ./autogen.sh
configure.ac:116: error: possibly undefined macro: AC_MSG_ERROR
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.

This one runs ok:
$ ./autogen.sh m4_pattern_allow

$ ./configure
gives:
......
checking for json_loads in -ljansson... no
checking for pthread_create in -lpthread... yes
./configure: line 6032: syntax error near unexpected token `,'
./configure: line 6032: `LIBCURL_CHECK_CONFIG(, 7.15.2, ,'

Before that I've successfully run ./configure && make && make install on curl-7.29.0


Now, deleted all files an started afresh without running autogen.sh.

./configure finished fine, but the new hiccup is in make:


EDIT: Seems I didn't have nVidia GPU Computing Tooltik installed. It should have been linked to from OP
https://developer.nvidia.com/cuda-downloads?sid=311699

Still compile problems, though:
Code:
nvcc -g -O2 -arch=compute_10 --maxrregcount=124 --ptxas-options=-v -I./compat/jansson -o salsa_kernel.o -c salsa_kernel.cu
nvcc : fatal error : Cannot find compiler 'cl.exe' in PATH
Makefile:922: recipe for target `salsa_kernel.o' failed
make[2]: *** [salsa_kernel.o] Error 127
make[2]: Leaving directory `/d/CudaMiner-master'
[/s]

EDIT: this is getting tedious. I've added path to cl.exe
Luckily I still had Visual Studio 2008 installed as cl.exe from VS2012 was not accepted. Now to the next hurdle:

Code:
nvcc -g -O2 -arch=compute_10 --maxrregcount=124 --ptxas-options=-v -I./compat/jansson -o salsa_kernel.o -c salsa_kernel.cu
salsa_kernel.cu
salsa_kernel.cu(16) : fatal error C1083: Cannot open include file: 'sys/time.h': No such file or directory
Makefile:922: recipe for target `salsa_kernel.o' failed
make[2]: *** [salsa_kernel.o] Error 2
make[2]: Leaving directory `/d/CudaMiner-master'
Makefile:472: recipe for target `all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/d/CudaMiner-master'
Makefile:276: recipe for target `all' failed
make: *** [all] Error 2


Still asking: Any alternative venues for building this on Windows? Maybe there are precompiled binaries, the way pooler distributes his cpuminer for Windows?

Also, could you provide Windows compile instructions in either OP or in README.txt?!
member
Activity: 89
Merit: 10
Can't download the source from Mega: it just stays at 0% with "Starting download". Are there any other mirrors?

Anyone? I need to download and compile it on Windows. Tried both FireFox and IE and Mega would not start download in either.

Code:
$ wget https://github.com/cbuchner1/CudaMiner/archive/master.zip

This URL should work with a standard browser too.
legendary
Activity: 1680
Merit: 1014
Can't download the source from Mega: it just stays at 0% with "Starting download". Are there any other mirrors?

Anyone? I need to download and compile it on Windows. Tried both FireFox and IE and Mega would not start download in either.
member
Activity: 89
Merit: 10
Code:
nvcc fatal   : Value 'compute_35' is not defined for option 'gpu-architecture'
you need CUDA 5 for that Wink

Umm.. yes, I thought I have said just that, although less directly? ;-)

legendary
Activity: 1792
Merit: 1008
/dev/null
Code:
nvcc fatal   : Value 'compute_35' is not defined for option 'gpu-architecture'
you need CUDA 5 for that Wink
member
Activity: 89
Merit: 10

there have been some updates to the github repo today.

The only remaining problem I find with the current state of the github repo is that the 64 bit compilation on 64bit Linux machines does not appear to produce working code. I get runtime errors about "thread create failed."

Pulled the newest master. Configured as before. Making...

Code:
$ make
 [...]
nvcc -O3 -arch=compute_10 --maxrregcount=124 --ptxas-options=-v -I./compat/jansson -o salsa_kernel.o -c salsa_kernel.cu
./salsa_kernel.cu(174): Warning: Cannot tell what pointer points to, assuming global memory space
./salsa_kernel.cu(180): Warning: Cannot tell what pointer points to, assuming global memory space
./salsa_kernel.cu(180): Warning: Cannot tell what pointer points to, assuming global memory space
./salsa_kernel.cu(192): Warning: Cannot tell what pointer points to, assuming global memory space
./salsa_kernel.cu(198): Warning: Cannot tell what pointer points to, assuming global memory space
./salsa_kernel.cu(174): Warning: Cannot tell what pointer points to, assuming global memory space
./salsa_kernel.cu(174): Warning: Cannot tell what pointer points to, assuming global memory space
./salsa_kernel.cu(174): Warning: Cannot tell what pointer points to, assuming global memory space
./salsa_kernel.cu(174): Warning: Cannot tell what pointer points to, assuming global memory space
./salsa_kernel.cu(180): Warning: Cannot tell what pointer points to, assuming global memory space
./salsa_kernel.cu(192): Warning: Cannot tell what pointer points to, assuming global memory space
./salsa_kernel.cu(198): Warning: Cannot tell what pointer points to, assuming global memory space
./salsa_kernel.cu(174): Warning: Cannot tell what pointer points to, assuming global memory space
[...]

nvcc -O3 -arch=compute_11 --maxrregcount=124 --ptxas-options=-v -I./compat/jansson -o
spinlock_kernel.o -c spinlock_kernel.cu
./spinlock_kernel.cu(207): Warning: Cannot tell what pointer points to, assuming global memory space
./spinlock_kernel.cu(213): Warning: Cannot tell what pointer points to, assuming global memory space
./spinlock_kernel.cu(227): Warning: Cannot tell what pointer points to, assuming global memory space
[...]

nvcc -O3 -arch=compute_35 --maxrregcount=64 --ptxas-options=-v -I./compat/jansson -o titan_kernel.o -c titan_kernel.cu
nvcc fatal   : Value 'compute_35' is not defined for option 'gpu-architecture'
make[2]: *** [titan_kernel.o] Error 255
make[2]: Leaving directory `/tmp/CudaMiner-master'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/CudaMiner-master'
make: *** [all] Error 2

This last one is expected, as I am on CUDA 4.2

Code:
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2012 NVIDIA Corporation
Built on Thu_Apr__5_02:05:07_PDT_2012
Cuda compilation tools, release 4.2, V0.2.1221
member
Activity: 89
Merit: 10
...
Code:
$ autogen  <-- completes, no messages
....


should do ./autogen.sh ... not autogen
Not tried any, but autogen and  ./autogen.sh is not the same

I did autogen.sh, but erased the '.sh' part when adding '<-- ' description....
legendary
Activity: 1680
Merit: 1014
Can't download the source from Mega: it just stays at 0% with "Starting download". Are there any other mirrors?
member
Activity: 84
Merit: 10
...
Code:
$ autogen  <-- completes, no messages
....


should do ./autogen.sh ... not autogen
Not tried any, but autogen and  ./autogen.sh is not the same
hero member
Activity: 756
Merit: 502

there have been some updates to the github repo today.

The only remaining problem I find with the current state of the github repo is that the 64 bit compilation on 64bit Linux machines does not appear to produce working code. I get runtime errors about "thread create failed."

So the only way to get it working is to cross-compile for 32bit like this

./configure --build=i686-pc-linux-gnu "CFLAGS=-m32 -O3" "CXXFLAGS=-m32 -O3" "LDFLAGS=-m32" --with-cuda=/usr/local/cuda-5.0

(i386 dependencies required, such as g++-multilib, ia32-libs, libcurl4-openssl-dev:i386)

Christian
member
Activity: 89
Merit: 10
a missing file should be easy to add. Taking the one from pooler's cpuminer distribution should work.

alternatively

chmod +x autogen.sh
./autogen.sh

will create this .in file.

Christian


autogen - OK
configure - OK
make - FAIL

Code:
$ autogen  <-- completes, no messages

$ ./configure .....
   [...]
configure: creating ./config.status
config.status: creating Makefile
config.status: creating compat/Makefile
config.status: creating compat/jansson/Makefile
config.status: creating cpuminer-config.h
config.status: cpuminer-config.h is unchanged
config.status: executing depfiles commands

$ make
make  all-recursive
make[1]: Entering directory `/tmp/CudaMiner-master'
Making all in compat
make[2]: Entering directory `/tmp/CudaMiner-master/compat'
Making all in jansson
make[3]: Entering directory `/tmp/CudaMiner-master/compat/jansson'
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../..     -O3 -MT dump.o -MD -MP -MF .deps/dump.Tpo -c -o dump.o dump.c
mv -f .deps/dump.Tpo .deps/dump.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../..     -O3 -MT hashtable.o -MD -MP -MF .deps/hashtable.Tpo -c -o hashtable.o hashtable.c
mv -f .deps/hashtable.Tpo .deps/hashtable.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../..     -O3 -MT load.o -MD -MP -MF .deps/load.Tpo -c -o load.o load.c
mv -f .deps/load.Tpo .deps/load.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../..     -O3 -MT strbuffer.o -MD -MP -MF .deps/strbuffer.Tpo -c -o strbuffer.o strbuffer.c
mv -f .deps/strbuffer.Tpo .deps/strbuffer.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../..     -O3 -MT utf.o -MD -MP -MF .deps/utf.Tpo -c -o utf.o utf.c
mv -f .deps/utf.Tpo .deps/utf.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../..     -O3 -MT value.o -MD -MP -MF .deps/value.Tpo -c -o value.o value.c
mv -f .deps/value.Tpo .deps/value.Po
rm -f libjansson.a
ar cru libjansson.a dump.o hashtable.o load.o strbuffer.o utf.o value.o
ranlib libjansson.a
make[3]: Leaving directory `/tmp/CudaMiner-master/compat/jansson'
make[3]: Entering directory `/tmp/CudaMiner-master/compat'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/tmp/CudaMiner-master/compat'
make[2]: Leaving directory `/tmp/CudaMiner-master/compat'
make[2]: Entering directory `/tmp/CudaMiner-master'
make[2]: *** No rule to make target `cuda-miner.c', needed by `cudaminer-cuda-miner.o'. Stop.
make[2]: Leaving directory `/tmp/CudaMiner-master'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/CudaMiner-master'
make: *** [all] Error 2
Jump to: