Pages:
Author

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

-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
June 14, 2011, 06:53:34 AM
I agree with ancow. The tools to do this exist already. Since cpuminer will run idle and niced priority, setting an ondemand cpu frequency governor with ignore nice load will do precisely what you want.
full member
Activity: 373
Merit: 100
June 14, 2011, 06:31:00 AM
Now if that doesn't deter you, then sure there are ways I can implement this crudely on linux. I haven't got a clue how to do it for other OSs, nor do I care to figure it out.
Personally, I don't think building throttling into the program is the best way to do this, especially on Linux. You can use frequency scaling and CPU throttling. Also, you can set your frequency governor to ignore niced processes (at least for ondemand and conservative), keeping the CPU speed down when nothing else needs the higher frequency. Works quite well for me.

Also, at least with some distros, there's a tool called "cpulimit" that will periodically put your process to sleep and then wake it again that could achieve the desired effect.
newbie
Activity: 51
Merit: 0
June 14, 2011, 06:27:31 AM
[...] power usage and heat generation. Of course they may be issues in their own right. Is there really a demand for this?

I for one would like to have it. I would have been a long time user of BOINC if it weren't for this.

Yeah but you do realise that at the current level of difficulty (which will increase soon), it would take a modern cpu over 50 years to solve one block successfully? Slow it down even more and it's... never. Of course you could use them to add MH/s but even then 1GHz of modern CPU adds about 1MH/s, so a throttled 3Ghz machine would only give you just 1 MH/s per core. Which really is... nothing by today's standards and will be even less as time goes on.

Now if that doesn't deter you, then sure there are ways I can implement this crudely on linux. I haven't got a clue how to do it for other OSs, nor do I care to figure it out.

I was more thinking that even at a low hash rate, 5k of PC's all connecting to one or two pools, would equate out to maybe about 300GH/s... kind of like distributed processing. Not only does this happen, but at a low cpu usage, it can run all the time in the background and the users won't be affected.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
June 14, 2011, 06:10:00 AM
[...] power usage and heat generation. Of course they may be issues in their own right. Is there really a demand for this?

I for one would like to have it. I would have been a long time user of BOINC if it weren't for this.

Yeah but you do realise that at the current level of difficulty (which will increase soon), it would take a modern cpu over 50 years to solve one block successfully? Slow it down even more and it's... never. Of course you could use them to add MH/s but even then 1GHz of modern CPU adds about 1MH/s, so a throttled 3Ghz machine would only give you just 1 MH/s per core. Which really is... nothing by today's standards and will be even less as time goes on.

Now if that doesn't deter you, then sure there are ways I can implement this crudely on linux. I haven't got a clue how to do it for other OSs, nor do I care to figure it out.
legendary
Activity: 1974
Merit: 1030
June 14, 2011, 06:03:42 AM
[...] power usage and heat generation. Of course they may be issues in their own right. Is there really a demand for this?

I for one would like to have it. I would have been a long time user of BOINC if it weren't for this.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
June 14, 2011, 05:29:18 AM
hi all... im experimenting with using this on a few different types on machines and i havn't found anything for the following question:

is there a way to throttle the minderd.exe process to say take only 35% of cpu when busy? and maybe 90% when idle ?
is there a switch?? i can open numbers of threads, but i can't actually find a away of controlling those threads.

The reason is i'd like to deploy this on a lot of workstations im looking after, roughly about 5k of them, but i need to keep control over what and how they are utilising the cpu usage.

No there is not... yet(?) The threads run at ultra-low priority and should not have any impact on the machine at all except in terms of power usage and heat generation. Of course they may be issues in their own right. Is there really a demand for this?
newbie
Activity: 51
Merit: 0
June 14, 2011, 05:22:24 AM
hi all... im experimenting with using this on a few different types on machines and i havn't found anything for the following question:

is there a way to throttle the minderd.exe process to say take only 35% of cpu when busy? and maybe 90% when idle ?
is there a switch?? i can open numbers of threads, but i can't actually find a away of controlling those threads.

The reason is i'd like to deploy this on a lot of workstations im looking after, roughly about 5k of them, but i need to keep control over what and how they are utilising the cpu usage.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
June 14, 2011, 04:22:10 AM
I added some ifdefs to cope with distributions that still have older headers so if you grab my latest git tree (from the master branch) it should build for you.

Thanks. Git branch is working now. A small contribution is going your way.
Sweet, I appreciate the gesture and it makes me want to work on the code more, thanks!
legendary
Activity: 1148
Merit: 1001
Radix-The Decentralized Finance Protocol
June 14, 2011, 02:43:37 AM
Success!

I can now compile the latest code, thank you so much for your swift fix there team Smiley

Is the 4way algorithm still the best?

Im trying it with an Atom 330 that is reported to have SS2, but I get better results with c and cryptopp (almost identical results with both).
c_k
donator
Activity: 242
Merit: 100
June 14, 2011, 02:30:32 AM
Success!

I can now compile the latest code, thank you so much for your swift fix there team Smiley

Is the 4way algorithm still the best?
legendary
Activity: 1148
Merit: 1001
Radix-The Decentralized Finance Protocol
June 14, 2011, 02:28:06 AM
I added some ifdefs to cope with distributions that still have older headers so if you grab my latest git tree (from the master branch) it should build for you.

Thanks. Git branch is working now. A small contribution is going your way.
legendary
Activity: 1596
Merit: 1100
June 14, 2011, 01:47:21 AM
Version 1.0.2 released.

Changes:

Christian Ludwig (2):
      Fix libcurl include path
      configure.ac: Beautify yasm test output

Jeff Garzik (3):
      only read processor count via sysconf on non-Windows platforms
      Fix number-of-threads init logic on Windows
      Version 1.0.2.

ckolivas (2):
      Linux + x86_64 optimisations.
      Cope with older linux kernel headers that don't have the newer scheduling

-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
June 13, 2011, 11:12:03 PM
I added some ifdefs to cope with distributions that still have older headers so if you grab my latest git tree (from the master branch) it should build for you.
legendary
Activity: 1596
Merit: 1100
June 13, 2011, 11:06:16 PM
cpu-miner.c:43: error: ‘SCHED_IDLE’ undeclared (first use in this function)

Your OS needs to update /usr/include/sched.h to include this definition.

If you add
   #include

does it fix the problem for you?

c_k
donator
Activity: 242
Merit: 100
June 13, 2011, 10:03:00 PM
I can get the tarball 1.0.1 to compile OK however the source from github gives the following problem when compiling on debian 6 (amd64):

Quote
me@machine:~$ git clone git://github.com/jgarzik/cpuminer.git
Cloning into cpuminer...
remote: Counting objects: 633, done.
remote: Compressing objects: 100% (273/273), done.
remote: Total 633 (delta 404), reused 575 (delta 356)
Receiving objects: 100% (633/633), 138.30 KiB | 196 KiB/s, done.
Resolving deltas: 100% (404/404), done.
me@machine:~$ cd cpuminer
me@machine:~/cpuminer$ ./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'
me@machine:~/cpuminer$ CFLAGS="-O3 -Wall -msse2" ./configure
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
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... /bin/grep
checking for egrep... /bin/grep -E
checking whether gcc needs -traditional... no
checking whether gcc and cc understand -c and -o together... yes
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 working alloca.h... yes
checking for alloca... yes
checking for json_loads in -ljansson... no
checking for pthread_create in -lpthread... yes
checking for yasm... /usr/bin/yasm
checking if yasm version is greater than 1.0.1... no
configure: yasm is required for the sse2_64 algorithm. It will be skipped.
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for gawk... (cached) mawk
checking for curl-config... /usr/bin/curl-config
checking for the version of libcurl... 7.21.0
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 x86_64/Makefile
config.status: creating cpuminer-config.h
config.status: executing depfiles commands
me@machine:~/cpuminer$ make
make  all-recursive
make[1]: Entering directory `/home/me/cpuminer'
Making all in compat
make[2]: Entering directory `/home/me/cpuminer/compat'
Making all in jansson
make[3]: Entering directory `/home/me/cpuminer/compat/jansson'
gcc -DHAVE_CONFIG_H -I. -I../..     -O3 -Wall -msse2 -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../..     -O3 -Wall -msse2 -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../..     -O3 -Wall -msse2 -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../..     -O3 -Wall -msse2 -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../..     -O3 -Wall -msse2 -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../..     -O3 -Wall -msse2 -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 `/home/me/cpuminer/compat/jansson'
make[3]: Entering directory `/home/me/cpuminer/compat'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/me/cpuminer/compat'
make[2]: Leaving directory `/home/me/cpuminer/compat'
make[2]: Entering directory `/home/me/cpuminer'
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -I./compat/jansson    -O3 -Wall -msse2 -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
cpu-miner.c: In function ‘drop_policy’:
cpu-miner.c:43: error: ‘SCHED_IDLE’ undeclared (first use in this function)
cpu-miner.c:43: error: (Each undeclared identifier is reported only once
cpu-miner.c:43: error: for each function it appears in.)
make[2]: *** [minerd-cpu-miner.o] Error 1
make[2]: Leaving directory `/home/me/cpuminer'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/me/cpuminer'
make: *** [all] Error 2

I get the same error with the code from ckolivas' repo Undecided
legendary
Activity: 1148
Merit: 1001
Radix-The Decentralized Finance Protocol
June 13, 2011, 01:30:17 PM
Im getting this error in Ubuntu 10.04 LTS when running autogen.sh:

~/cpuminer$ sh 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'
configure.ac:96: error: possibly undefined macro: AC_MSG_ERROR
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.

Any suggestion?

Standard advice -- your autotools installation is old or broken.  Use release tarball.



Its a server with Ubuntu 10.04 LTS. I guess its "old". Ill try the tarball, thanks.

EDIT: The tarball worked.
legendary
Activity: 1596
Merit: 1100
June 13, 2011, 12:07:09 PM
Im getting this error in Ubuntu 10.04 LTS when running autogen.sh:

~/cpuminer$ sh 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'
configure.ac:96: error: possibly undefined macro: AC_MSG_ERROR
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.

Any suggestion?

Standard advice -- your autotools installation is old or broken.  Use release tarball.

legendary
Activity: 1148
Merit: 1001
Radix-The Decentralized Finance Protocol
June 13, 2011, 10:31:25 AM
try :-
./configure

I actually tried ./configure just for the sake of it and does nothing as expected. Autogen is failing.
hero member
Activity: 792
Merit: 1000
Bite me
June 13, 2011, 10:19:47 AM
try :-
./configure
legendary
Activity: 1148
Merit: 1001
Radix-The Decentralized Finance Protocol
June 13, 2011, 09:58:04 AM
Im getting this error in Ubuntu 10.04 LTS when running autogen.sh:

~/cpuminer$ sh 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'
configure.ac:96: error: possibly undefined macro: AC_MSG_ERROR
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.

Any suggestion?
Pages:
Jump to: