Pages:
Author

Topic: New demonstration CPU miner available - page 15. (Read 386323 times)

newbie
Activity: 10
Merit: 0
March 12, 2011, 11:15:43 AM
Yep, OSX is known broken at this time.  Waiting for someone to fix it, in a way that doesn't break everyone else's build...
There was a guy on IRC last week building your miner who made a quick change per some post he found via google that got byteswap to work.  I'll dig and see if I can find it.

Regards...      Todd
Some asshat came into the channel and trolled the entire freakin channel on Thu and wiped out all my scrollback (gotta remember to increase that on Monday).  But was able to find the post he was talking about.  From http://www.mail-archive.com/[email protected]/msg00113.html , there is a link to this commit that defines it inline if OSX is detected:  http://lists.freedesktop.org/archives/xorg-commit/2007-January/010041.html

Regards...     Todd
newbie
Activity: 10
Merit: 0
March 12, 2011, 11:06:23 AM
Yep, OSX is known broken at this time.  Waiting for someone to fix it, in a way that doesn't break everyone else's build...
There was a guy on IRC last week building your miner who made a quick change per some post he found via google that got byteswap to work.  I'll dig and see if I can find it.

Regards...      Todd
legendary
Activity: 1596
Merit: 1100
March 12, 2011, 12:25:44 AM
Yep, OSX is known broken at this time.  Waiting for someone to fix it, in a way that doesn't break everyone else's build...
newbie
Activity: 51
Merit: 0
March 12, 2011, 12:08:38 AM
0.7.1 fails to build on Mac OS X 10.6.6...

I went with % ./configure ; make

and :

Code:
joel@baldur:~/cpuminer-0.7.1% make
make  all-recursive
Making all in compat
Making all in jansson
gcc -DHAVE_CONFIG_H -I. -I../..     -g -O2 -MT dump.o -MD -MP -MF .deps/dump.Tpo -c -o dump.o dump.c
mv -f .deps/dump.Tpo .deps/dump.Po
gcc -DHAVE_CONFIG_H -I. -I../..     -g -O2 -MT hashtable.o -MD -MP -MF .deps/hashtable.Tpo -c -o hashtable.o hashtable.c
mv -f .deps/hashtable.Tpo .deps/hashtable.Po
gcc -DHAVE_CONFIG_H -I. -I../..     -g -O2 -MT load.o -MD -MP -MF .deps/load.Tpo -c -o load.o load.c
mv -f .deps/load.Tpo .deps/load.Po
gcc -DHAVE_CONFIG_H -I. -I../..     -g -O2 -MT strbuffer.o -MD -MP -MF .deps/strbuffer.Tpo -c -o strbuffer.o strbuffer.c
mv -f .deps/strbuffer.Tpo .deps/strbuffer.Po
gcc -DHAVE_CONFIG_H -I. -I../..     -g -O2 -MT utf.o -MD -MP -MF .deps/utf.Tpo -c -o utf.o utf.c
mv -f .deps/utf.Tpo .deps/utf.Po
gcc -DHAVE_CONFIG_H -I. -I../..     -g -O2 -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]: Nothing to be done for `all-am'.
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -I./compat/jansson    -g -O2 -MT cpu-miner.o -MD -MP -MF .deps/cpu-miner.Tpo -c -o cpu-miner.o cpu-miner.c
In file included from cpu-miner.c:29:
miner.h:21:22: error: byteswap.h: No such file or directory
make[2]: *** [cpu-miner.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
joel@baldur:~/cpuminer-0.7.1%
newbie
Activity: 9
Merit: 0
March 10, 2011, 08:32:43 AM
I build debian package 0.7.1 for SPARC architectures (sparc64).
just of curiosity, small performance test here:

sun fire v120 (sun4u), sparcv9 650 MHz - 109.6 Khash/s
sun netra t2000 (sun4v), sparcv9 1.2 GHz - 117.4 Khash/s (strange)

second box has 32 virtual cpus, so supposedly it can do 3.7 Mhash/s total.

yes, cryptopp speed is around 82% of c's.

i've managed to compile only 32bit binary of cpuminer, hope it does not beat performance too much.

Quote
Is there any hope for improvement in performance for this architecture?
There is ncp crypto provider in UltraSPARC T1, but it accelerates only RSA (really good).
UltraSPARC T2 with n2cp should help to SHA256.

Would somebody with T2 play with http://frox25.no-ip.org/~mtve/tmp/sun_pkcs11_sha256.c please?   On T1 it's around 58 Khash/s.

Update: from http://cs.anu.edu.au/student/projects/10S2/Reports/Cody%20Christopher.pdf it can be concluded that for 32 bytes (one block of SHA256) and for 64 bytes (full bitcoin block) without special efforts it will be slower than CPU.
full member
Activity: 216
Merit: 100
March 09, 2011, 07:14:46 AM

Call for hacking:

Anybody want to volunteer to add server failover support to cpuminer?  (m0mchil's miner, too...)

Server failure should not interrupt mining [much], ideally.


Hah, you're going to make my script do a double-take. Tongue
legendary
Activity: 1596
Merit: 1100
March 08, 2011, 08:29:03 PM

Call for hacking:

Anybody want to volunteer to add server failover support to cpuminer?  (m0mchil's miner, too...)

Server failure should not interrupt mining [much], ideally.

adv
full member
Activity: 168
Merit: 100
March 08, 2011, 12:07:33 AM
I build debian package 0.7.1 for SPARC architectures (sparc64).

Unfortunately it's more of a test assembly, as on Sun Enterprise 250 (2 * 400MHz) I managed to achieve maximum performance: ~87Khps with "--algo c" and ~81Kps with "--algo cryptopp". Algorithms foк via, 4waySSE2 and cryptopp_asm32 on this architecture is not available. :^(

Some tech info:
Code:
uname -a
Linux debsparc 2.6.32-5-sparc64-smp #1 SMP Wed Jan 12 05:23:55 UTC 2011 sparc64 GNU/Linux

Code:
cat /proc/cpuinfo
cpu             : TI UltraSparc II  (BlackBird)
fpu             : UltraSparc II integrated FPU
pmu             : ultra12
prom            : OBP 3.22.0 2000/12/20 16:20
type            : sun4u
ncpus probed    : 2
ncpus active    : 2
D$ parity tl1   : 0
I$ parity tl1   : 0
Cpu0ClkTck      : 0000000017d78400
Cpu1ClkTck      : 0000000017d78400
MMU Type        : Spitfire
State:
CPU0:           online
CPU1:           online

Command line:
Code:
btc-cpuminer --url http://192.168.1.1:8334 -r -1 -D -s 5 --threads=2
.....
HashMeter(1): 462143 hashes, 84.75 khash/sec
HashMeter(0): 462143 hashes, 86.89 khash/sec
HashMeter(1): 462143 hashes, 84.75 khash/sec
HashMeter(0): 462143 hashes, 86.80 khash/sec

2 cpu's load at 80-100% by 3 btc-cpuminer threads.

System load: 2.09 2.02 1.74

Is there any hope for improvement in performance for this architecture?


Discussion of issues related to the Debian packages is welcome in this thread: https://bitcointalksearch.org/topic/not-oficial-bitcoin-apps-debianubuntu-packages-2207
newbie
Activity: 1
Merit: 0
March 04, 2011, 01:00:41 AM
Patch for successfull compilation of minerd under FreeBSD:

Expanding on hangover's work; I had to also patch cpu-miner.c and util.c. Complete patch-set is:
Code:
diff -u cpuminer-0.7.1.orig/cpu-miner.c cpuminer-0.7.1/cpu-miner.c
--- cpuminer-0.7.1.orig/cpu-miner.c     2011-02-17 00:54:45.000000000 -0600
+++ cpuminer-0.7.1/cpu-miner.c  2011-03-03 23:38:39.000000000 -0600
@@ -24,7 +24,7 @@
 #include
 #include
 #include
-#include
+#include
 #include "compat.h"
 #include "miner.h"
 
diff -u cpuminer-0.7.1.orig/miner.h cpuminer-0.7.1/miner.h
--- cpuminer-0.7.1.orig/miner.h 2011-02-17 00:20:34.000000000 -0600
+++ cpuminer-0.7.1/miner.h      2011-03-03 23:28:11.000000000 -0600
@@ -5,7 +5,7 @@
 #include
 #include
 #include
-#include
+#include
 
 #ifdef __SSE2__
 #define WANT_SSE2_4WAY 1
@@ -18,7 +18,12 @@
 #if ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
 #define WANT_BUILTIN_BSWAP
 #else
-#include
+/* #include */  // <-- doesn't exist under FreeBSD
+# define bswap_64 __bswap64
+# define bswap_32 __bswap32
+# define bswap_16 __bswap16
+# define __BIG_ENDIAN__ (_BYTE_ORDER == _BIG_ENDIAN)
+#include
 #endif
 
 #if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__)
Only in cpuminer-0.7.1: patch
diff -u cpuminer-0.7.1.orig/util.c cpuminer-0.7.1/util.c
--- cpuminer-0.7.1.orig/util.c  2011-03-02 21:06:20.000000000 -0600
+++ cpuminer-0.7.1/util.c       2011-03-03 23:42:56.000000000 -0600
@@ -15,7 +15,7 @@
 #include
 #include
 #include
-#include
+#include
 #include "miner.h"
 
 struct data_buffer {
hero member
Activity: 532
Merit: 500
FIAT LIBERTAS RVAT CAELVM
March 03, 2011, 07:02:08 PM
Just tried to run 0.7.1 on a q6600, ubuntu 10.10 32-bit, and got segfaults when i tried to run cryptopp_asm32. Tried compiling from git, same result. Any thoughts?

check your options. I had that happen to me when I had a malformed url in there... mining.bitboin.cz. Wink
newbie
Activity: 23
Merit: 0
March 03, 2011, 06:47:54 PM
Just tried to run 0.7.1 on a q6600, ubuntu 10.10 32-bit, and got segfaults when i tried to run cryptopp_asm32. Tried compiling from git, same result. Any thoughts?
full member
Activity: 238
Merit: 100
March 03, 2011, 06:30:10 PM
1.13 GH/s ?!?

1.13MH/s, of course. Sorry.
legendary
Activity: 1666
Merit: 1000
March 03, 2011, 05:55:16 PM
If anybody is interested, this is the assembly code from Intel Compiler which gives me the fastest 4way code on AMD K10. 1.13 GH/s per 1 GHz per physical core.
https://gist.github.com/853566
Compile cpuminer-0.7.1, download the above code, issue:
gcc -c sha256_4way.s
and do make again to link the object file to the executable.  It's about 7% faster than the gcc version.

1.13 GH/s ?!?
legendary
Activity: 1596
Merit: 1100
March 03, 2011, 05:32:48 PM
Probably because there's a whole JSON parser that's part of the miner...so might as well reuse the code!

Bingo.

full member
Activity: 238
Merit: 100
March 03, 2011, 05:04:38 PM
If anybody is interested, this is the assembly code from Intel Compiler which gives me the fastest 4way code on AMD K10. 1.13 GH/s MH/s per 1 GHz per physical core.
https://gist.github.com/853566
Compile cpuminer-0.7.1, download the above code, issue:
gcc -c sha256_4way.s
and do make again to link the object file to the executable.  It's about 7% faster than the gcc version.
newbie
Activity: 40
Merit: 0
March 03, 2011, 03:59:30 PM
Curious, how come a json format was chosen over something like yaml?

Probably because there's a whole JSON parser that's part of the miner...so might as well reuse the code!
newbie
Activity: 10
Merit: 0
March 03, 2011, 03:57:37 PM
- Add support for JSON-format configuration file.  See example
  file example-cfg.json.  Any long argument on the command line
  may be stored in the config file.
Curious, how come a json format was chosen over something like yaml?  JSON is extremely unforgiving when it comes to syntax, compared to yaml which is much more forgiving.  Personally I also find YAML to be more readable, but that's just a personal preference not based on capabilities nor function.  Are there plans to centralize configs or something (since json is so web friendly)?  Or was it just a convenient way to save/retrieve configuration?

Regards...        Todd
full member
Activity: 216
Merit: 100
March 02, 2011, 11:27:28 PM
Fine update.

I have a question though, is there a reason STDIN and STDERR aren't accessible when exec'd from Perl? I've had luck with IO::Pty on Linux, but not on Cygwin or Strawberry Perl on Win32. I ask this assuming that exec-ing it from any non-term/console would have the same issue and this isn't a Perl-specific problem.
legendary
Activity: 1596
Merit: 1100
March 02, 2011, 10:51:21 PM
Version 0.7.1 is released.  See top of thread for URLs.

Changes:
- Add support for JSON-format configuration file.  See example
  file example-cfg.json.  Any long argument on the command line
  may be stored in the config file.
- Timestamp each solution found
- Improve sha256_4way performance.  NOTE: This optimization makes
  the 'hash' debug-print output for sha256_way incorrect.
- Use __builtin_expect() intrinsic as compiler micro-optimization
- Build on Intel compiler
- HTTP library now follows HTTP redirects

SHA1: 5520112505b16f89b473ed897b89e1593aeb1371  cpuminer-installer-0.7.1.zip
MD5: 1b77192b76bf50938c005b2c26d3809f  cpuminer-installer-0.7.1.zip
member
Activity: 115
Merit: 10
February 19, 2011, 11:34:30 AM
For those of you on Linux that are itching to try out ufasoft's optimizations (see this thread: https://bitcointalksearch.org/topic/ufasoft-miner-windowslinux-x86x64-sse2opencl-open-source-3486).  one of the optimizations he does is "skip last 3 rounds, because we need not them to calc last 32-bit word of hash [h word]."  I tried this by simply commenting out the final three rounds and it successfully generated shares in slush's mining pool and made things a tiny bit faster (1 or 2 %).  I didn't verify that it works in all cases, someone more familiar with the protocol might want to.

Like this:
        //w13 = add4(SIGMA1_256(w11), w6, SIGMA0_256(w14), w13);
        //SHA256ROUND(d, e, f, g, h, a, b, c, 61, w13);
        //w14 = add4(SIGMA1_256(w12), w7, SIGMA0_256(w15), w14);
        //SHA256ROUND(c, d, e, f, g, h, a, b, 62, w14);
        //w15 = add4(SIGMA1_256(w13), w8, SIGMA0_256(w0), w15);
        //SHA256ROUND(b, c, d, e, f, g, h, a, 63, w15);

        /* store resulsts directly in thash */
Pages:
Jump to: