Pages:
Author

Topic: An (even more) optimized version of cpuminer (pooler's cpuminer, CPU-only) - page 63. (Read 1958601 times)

sr. member
Activity: 475
Merit: 265
Ooh La La, C'est Zoom!
I used CFLAGS="-O3 -mcpu=G5 -mtune=G5 -maltivec -fstrict-aliasing" when I built both.

I hate when I do stuff like that. I left off a critical three letters. Memory is not so good when it's late.

- Zed
newbie
Activity: 19
Merit: 0
I built pooler's code on my PowerMac G5 (PowerMac9,1 ppc970fx, 1.8 GHz) running Ubuntu 11.10 and achieved ~1.45 kH/s. ssvb's code on the same machine provides ~3.10-3.25 kH/s.

I used CFLAGS="-O3 -mcpu=G5 -mtune=G5 -maltivec -fstrict-alias" when I built both.

Cool, I didn't know about the -mtune flag, thanks. Still, I have to keep OSX on my machines, so compiling is... challenging. Smiley
sr. member
Activity: 475
Merit: 265
Ooh La La, C'est Zoom!
I got pooler's code to compile for PPC OSX as well (he made the code work for big endian systems now, thanks pooler!), but it fails on some systems I tested on. I'm going to recompile on Monday with a different machine and see how it goes. If I get a good binary, I'll post that as well.

ssvb's code would likely work better for PPC, but I'm having more serious problems compiling it. There are missing header files, etc. I'm sure it's because OSX 10.4 is so old.  (I don't have any machines running 10.5, so I haven't tested ssvb's code there)

Anyway, I'll post a PPC binary if I can get it to work well. If I ever get ssvb's code to compile, I'll post that as well.

I built pooler's code on my PowerMac G5 (PowerMac9,1 ppc970fx, 1.8 GHz) running Ubuntu 11.10 and achieved ~1.45 kH/s. ssvb's code on the same machine provides ~3.10-3.25 kH/s.

I used CFLAGS="-O3 -mcpu=G5 -mtune=G5 -maltivec -fstrict-alias" when I built both.

- Zed
newbie
Activity: 19
Merit: 0
I got pooler's code to compile for PPC OSX as well (he made the code work for big endian systems now, thanks pooler!), but it fails on some systems I tested on. I'm going to recompile on Monday with a different machine and see how it goes. If I get a good binary, I'll post that as well.

ssvb's code would likely work better for PPC, but I'm having more serious problems compiling it. There are missing header files, etc. I'm sure it's because OSX 10.4 is so old.  (I don't have any machines running 10.5, so I haven't tested ssvb's code there)

Anyway, I'll post a PPC binary if I can get it to work well. If I ever get ssvb's code to compile, I'll post that as well.
full member
Activity: 131
Merit: 100
OH MY GOD! This increased my hash rate on my laptop alone by almost a factor of 10! Thank you so much!
full member
Activity: 188
Merit: 100
Is it possible to compile it under ubuntu 10.04? I am getting the following error.

./configure: line 5013: syntax error near unexpected token `,'
./configure: line 5013: `LIBCURL_CHECK_CONFIG(, 7.10.1, ,'


I have the previous version running without issues on the system getting this error.


Thank you!

You need libcurl and libcurl-dev.  Run automake again, then configure.

Edit: You'll have to undo what automake did.  It seems like there's a command, but I forgot it, so I just deleted the directory and unzipped it again.

Problem Solved
1) sudo apt-get install libcurl4-openssl-dev
2) delete directory
3) unzip
4) build
5) Working!!!! TY!

newbie
Activity: 28
Merit: 0
blabla
Did you use pooler's expanded macro code?

No. I don't really understand what you want me to do. I think I'll have to stay with the christmas binary.
sr. member
Activity: 413
Merit: 250
Yet more cheers for Pooler!

Previous is the Dec 20th miner vs the current one(per thread):

Mobile i7 q 720 - 1.7kh/s vs 1.9kh/s
I7-2600k @ 4.8ghz w/HT 5kh/s vs 6.25! (50kh/s from a single CPU!)

I started mining on one of my older ESXi machines:

Dual AMD Opteron 2216 (2.4ghz) - 1.7kh/s per thread
hero member
Activity: 560
Merit: 501
newbie
Activity: 28
Merit: 0
Hi!

I just tried to build this form github on OsX 10.7.2 and got an error at ./configure :

checking pkg-config is at least version 0.9.0... yes
./configure: line 5107: syntax error near unexpected token `,'
./configure: line 5107: `LIBCURL_CHECK_CONFIG(, 7.10.1, ,'

I don't know if it's just my system as i quite often fail to build something from source  Sad


Hm I got ./configure to finish normally after removing everything from macports and installing fink and libcurl via fink.

Now i'm getting these errors from make:

Code:
noname:cpuminer Matthias$ 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 -I/sw/include   -g -O2 -MT minerd-cpu-miner.o -MD -MP -MF .deps/minerd-cpu-miner.Tpo -c -o minerd-cpu-miner.o `test -f 'cpu-miner.c' || echo './'`cpu-miner.c
mv -f .deps/minerd-cpu-miner.Tpo .deps/minerd-cpu-miner.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -I./compat/jansson -I/sw/include   -g -O2 -MT minerd-util.o -MD -MP -MF .deps/minerd-util.Tpo -c -o minerd-util.o `test -f 'util.c' || echo './'`util.c
mv -f .deps/minerd-util.Tpo .deps/minerd-util.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -I./compat/jansson -I/sw/include   -g -O2 -MT minerd-scrypt.o -MD -MP -MF .deps/minerd-scrypt.Tpo -c -o minerd-scrypt.o `test -f 'scrypt.c' || echo './'`scrypt.c
mv -f .deps/minerd-scrypt.Tpo .deps/minerd-scrypt.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -I./compat/jansson -I/sw/include   -g -O2 -MT minerd-scrypt-x86.o -MD -MP -MF .deps/minerd-scrypt-x86.Tpo -c -o minerd-scrypt-x86.o `test -f 'scrypt-x86.S' || echo './'`scrypt-x86.S
mv -f .deps/minerd-scrypt-x86.Tpo .deps/minerd-scrypt-x86.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -I./compat/jansson -I/sw/include   -g -O2 -MT minerd-scrypt-x64.o -MD -MP -MF .deps/minerd-scrypt-x64.Tpo -c -o minerd-scrypt-x64.o `test -f 'scrypt-x64.S' || echo './'`scrypt-x64.S
scrypt-x64.S:147:Alignment too large: 15. assumed.
scrypt-x64.S:11:expecting operand before ','; got nothing
scrypt-x64.S:11:expecting operand before ','; got nothing
scrypt-x64.S:11:expecting operand before ','; got nothing
scrypt-x64.S:11:expecting operand before ','; got nothing
scrypt-x64.S:11:suffix or operands invalid for `rol'
scrypt-x64.S:11:suffix or operands invalid for `rol'
scrypt-x64.S:11:suffix or operands invalid for `rol'
scrypt-x64.S:11:suffix or operands invalid for `rol'

...and so on...


that was before from ./configure (looks ok to me) :

Code:
noname:cpuminer Matthias$ aclocal
noname:cpuminer Matthias$ ./autogen.sh
configure.ac:15: installing `./compile'
configure.ac:4: installing `./config.guess'
configure.ac:4: installing `./config.sub'
configure.ac:6: installing `./install-sh'
configure.ac:6: installing `./missing'
compat/jansson/Makefile.am: installing `./depcomp'
Makefile.am: installing `./INSTALL'
noname:cpuminer Matthias$ ./configure
checking build system type... x86_64-apple-darwin11.2.0
checking host system type... x86_64-apple-darwin11.2.0
checking target system type... x86_64-apple-darwin11.2.0
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking whether gcc needs -traditional... no
checking whether gcc and cc understand -c and -o together... yes
checking dependency style of gcc... gcc3
checking for ranlib... ranlib
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for json_loads in -ljansson... no
checking for pthread_create in -lpthread... yes
checking for pkg-config... /sw/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for gawk... (cached) awk
checking for curl-config... /sw/bin/curl-config
checking for the version of libcurl... 7.23.1
checking for libcurl >= version 7.10.1... yes
checking whether libcurl is usable... yes
checking for curl_free... yes
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: executing depfiles commands
sr. member
Activity: 392
Merit: 250
A quick update w/ the newer binaries for windows 64bit.
I tested them on a BD FX4100 @ stock speeds and it now gets 4.55kh/s / thread.
Quite an improvement! =)
Before, I got maybe 2.3kh/s / thread.
Same impressive increase for me: with the version published around December 20 I got like 3.6-3.8kh/s, now I'm at 5.0-5.1kh/s, on a P2X4 955 @ 3.6GHz (all that being per thread, of course). Going to try that on my Linux C2D E6550 ASAP...

Edit: no improvement for the C2DE6550. Well, this restored the AMD/Intel balance then  Grin
legendary
Activity: 2450
Merit: 1002
A quick update w/ the newer binaries for windows 64bit.
I tested them on a BD FX4100 @ stock speeds and it now gets 4.55kh/s / thread.
Quite an improvement! =)
Before, I got maybe 2.3kh/s / thread.
newbie
Activity: 11
Merit: 0
Is it possible to compile it under ubuntu 10.04? I am getting the following error.

./configure: line 5013: syntax error near unexpected token `,'
./configure: line 5013: `LIBCURL_CHECK_CONFIG(, 7.10.1, ,'


I have the previous version running without issues on the system getting this error.


Thank you!

You need libcurl and libcurl-dev.  Run automake again, then configure.

Edit: You'll have to undo what automake did.  It seems like there's a command, but I forgot it, so I just deleted the directory and unzipped it again.
full member
Activity: 188
Merit: 100
Is it possible to compile it under ubuntu 10.04? I am getting the following error.

./configure: line 5013: syntax error near unexpected token `,'
./configure: line 5013: `LIBCURL_CHECK_CONFIG(, 7.10.1, ,'


I have the previous version running without issues on the system getting this error.


Thank you!
hero member
Activity: 518
Merit: 500
These machines are on anyway, and the added power draw is on the order of 40W per CPU, depending on CPU (laptop is substantially less, main rig a tad more). That doesnt cost me $12 per month, but thats for everyone to calculate.
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time

Yes, I have considered this, but haven't messed with it just yet.  I drop the priority for the dedicated cores I put to it, but haven't messed with running both a GPU and a CPU associated with the same core with the minerd at lower priority.

It works just fine. No need to mess with assigning cores to threads. There is no bitcoin mining performance impact on my rigs from running litecoin miner.

Quote
I may fiddle with it eventually, but it's only 6 cores that I have right now.  Not too much I'm leaving on the table given CPU chain value ATM.

No fortunes no, but I mine about 1000 LTC per month with 2 rigs. For now at least, thats a bitcoin or two. Still nice.
If you are realling mining a bitcoin or two per month, is it not better to give up? You are wasting more electricity than you are earning money...
legendary
Activity: 1484
Merit: 1005
On the windows version, I get ~11.34 kh/s per core on a 2600K @ 4.5GHz, or a total of 45.36 kh/s

Pretty fast!
hero member
Activity: 518
Merit: 500

Yes, I have considered this, but haven't messed with it just yet.  I drop the priority for the dedicated cores I put to it, but haven't messed with running both a GPU and a CPU associated with the same core with the minerd at lower priority.

It works just fine. No need to mess with assigning cores to threads. There is no bitcoin mining performance impact on my rigs from running litecoin miner.

Quote
I may fiddle with it eventually, but it's only 6 cores that I have right now.  Not too much I'm leaving on the table given CPU chain value ATM.

No fortunes no, but I mine about 1000 LTC per month with 2 rigs. For now at least, thats a bitcoin or two. Still nice.
hero member
Activity: 914
Merit: 500
Saw a 30-40% increase in speed on my 1090T! Fantastic work Smiley
Pages:
Jump to: