Author

Topic: OFFICIAL CGMINER mining software thread for linux/win/osx/mips/arm/r-pi 4.11.0 - page 792. (Read 5805728 times)

-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
I found some temporarily fix to reduce the cpu consumption in windows...
use this tool http://www.adsciengineering.com/StartAffinity/
to set the affinity of cgminer to one core. Use quotes on your cgminer cmdline and the id you would set in the taskmanager.


Or is there a way to actually get rid of it yet?
It only uses a total amount of CPU that amounts to 100% of one CPU core due to the strange way the ATI driver is written, and binding the application to one core just means all the work will go to that one core; it does not actually decrease CPU usage.
Yeah but 100% of one core is less than ~70% of 4 cores. (I'm sure i can say that since the cpu fan runs much slower then)
Okay that is much crappier than I'd even imagined it would be on windows.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
New release: Version 1.6.1, Links in first post. Smiley

Executive summary of user visible changes:
Hopefully fixed the zero sized binary bug \o/
Hopefully fixed the (old ncurses) resize crash
Hopefully fixed the memory leak in cpu mining and the inappropriately high rejects
Tidier build and smarter config and new --disable-opencl option
Less false positives for "unable to provide work fast enough"
New --shares option (mine X shares and exit)
New --enable-cpu and --disable-gpu options
Version info


Full changelog:
- Copy cgminer path, not cat it.
- Switching between redrawing windows does not fix the crash with old
libncurses, so redraw both windows, but only when the window size hasn't
changed.
- Reinstate minimum 1 extra in queue to make it extremely unlikely to ever have
0 staged work items and any idle time.
- Return -1 if no input is detected from the menu to prevent it being
interpreted as a 0.
- Make pthread, libcurl and libcurses library checks mandatory or fail.
- Add a --disable-opencl configure option to make it possible to override
detection of opencl and build without GPU mining support.
- Confusion over the variable name for number of devices was passing a bogus
value which likely was causing the zero sized binary issue.
- cgminer no longer supports default url user and pass so remove them.
- Don't show value of intensity since it's dynamic by default.
- Add options to explicitly enable CPU mining or disable GPU mining.
- Convert the opt queue into a minimum number of work items to have queued
instead of an extra number to decrease risk of getting idle devices without
increasing risk of higher rejects.
- Statify tv_sort.
- Check for SSE2 before trying to build 32 bit SSE2 assembly version. Prevents
build failure when yasm is installed but -msse2 is not specified.
- Add some defines to configure.ac to enable exporting of values and packaging,
and clean up output.
- Give convenient summary at end of ./configure.
- Display version information and add --version command line option, and make
sure we flush stdout.
- Enable curses after the mining threads are set up so that failure messages
won't be lost in the curses interface.
- Disable curses after inputting a pool if we requested no curses interface.
- Add an option to break out after successfully mining a number of accepted
shares.
- Exit with a failed return code if we did not reach opt_shares.
- The cpu mining work data can get modified before we copy it if we submit it
async, and the sync submission is not truly sync anyway, so just submit it sync.


---
If you're wondering why I include the entire build in the linux binary tarball, it's so you can do 'make install' to install it into a system location.  Wink
legendary
Activity: 1666
Merit: 1057
Marketing manager - GO MP
I found some temporarily fix to reduce the cpu consumption in windows...
use this tool http://www.adsciengineering.com/StartAffinity/
to set the affinity of cgminer to one core. Use quotes on your cgminer cmdline and the id you would set in the taskmanager.


Or is there a way to actually get rid of it yet?
It only uses a total amount of CPU that amounts to 100% of one CPU core due to the strange way the ATI driver is written, and binding the application to one core just means all the work will go to that one core; it does not actually decrease CPU usage.
Yeah but 100% of one core is less than ~70% of 4 cores. (I'm sure i can say that since the cpu fan runs much slower then)
full member
Activity: 186
Merit: 100
Nice commits yesterday, thanks! Really polishing it up.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
I never had any compile errors form cgminer so this is the first one:

Code:
.../usr/lib/gcc/i686-pc-linux-gnu/4.4.5/include/xmmintrin.h:32:3: error: #error "SSE instruction set not enabled"

That's the new 32 bit assembly cpu mining code which is only being half compiled. A workaround for the moment is to add -msse2 to your CFLAGS till I can figure out how to fix it.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
I found some temporarily fix to reduce the cpu consumption in windows...
use this tool http://www.adsciengineering.com/StartAffinity/
to set the affinity of cgminer to one core. Use quotes on your cgminer cmdline and the id you would set in the taskmanager.


Or is there a way to actually get rid of it yet?
It only uses a total amount of CPU that amounts to 100% of one CPU core due to the strange way the ATI driver is written, and binding the application to one core just means all the work will go to that one core; it does not actually decrease CPU usage.
legendary
Activity: 910
Merit: 1000
Quality Printing Services by Federal Reserve Bank
I never had any compile errors form cgminer so this is the first one:

Code:
In file included from sha256_sse2_i386.c:21:
...
mv -f .deps/cgminer-sha256_sse4_amd64.Tpo .deps/cgminer-sha256_sse4_amd64.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -I./compat/jansson -I./lib -I./lib  -DHAS_YASM -g -O2 -MT cgminer-sha256_sse2_i386.o -MD -MP -MF .deps/cgminer-sha256_sse2_i386.Tpo -c -o cgminer-sha256_sse2_i386.o `test -f 'sha256_sse2_i386.c' || echo './'`sha256_sse2_i386.c
/usr/lib/gcc/i686-pc-linux-gnu/4.4.5/include/xmmintrin.h:32:3: error: #error "SSE instruction set not enabled"
sha256_sse2_i386.c:25: error: expected ‘)’ before ‘*’ token
sha256_sse2_i386.c:50: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_4sha256_k’
sha256_sse2_i386.c:51: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘sha256_consts_m128i’
sha256_sse2_i386.c: In function ‘scanhash_sse2_32’:
sha256_sse2_i386.c:62: error: ‘__m128i’ undeclared (first use in this function)
sha256_sse2_i386.c:62: error: (Each undeclared identifier is reported only once
sha256_sse2_i386.c:62: error: for each function it appears in.)
sha256_sse2_i386.c:62: error: expected ‘;’ before ‘m_4w’
sha256_sse2_i386.c:63: error: expected ‘;’ before ‘m_4hash’
sha256_sse2_i386.c:64: error: expected ‘;’ before ‘m_4hash1’
sha256_sse2_i386.c:65: error: expected ‘;’ before ‘offset’
sha256_sse2_i386.c:72: error: expected specifier-qualifier-list before ‘__m128i’
sha256_sse2_i386.c:80: error: ‘m_4hash’ undeclared (first use in this function)
sha256_sse2_i386.c:84: error: ‘m_4w’ undeclared (first use in this function)
sha256_sse2_i386.c:87: error: ‘m_4hash1’ undeclared (first use in this function)
sha256_sse2_i386.c:90: error: ‘sha256_consts_m128i’ undeclared (first use in this function)
sha256_sse2_i386.c:92: error: ‘offset’ undeclared (first use in this function)
sha256_sse2_i386.c:105: error: ‘union ’ has no member named ‘m’
sha256_sse2_i386.c:106: error: ‘union ’ has no member named ‘i’
sha256_sse2_i386.c:114: error: ‘union ’ has no member named ‘m’
sha256_sse2_i386.c:115: error: ‘union ’ has no member named ‘i’
make[2]: *** [cgminer-sha256_sse2_i386.o] Error 1
make[2]: Leaving directory `/blah/cgminer-1.6.0'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/blah/cgminer-1.6.0'
make: *** [all] Error 2


legendary
Activity: 1666
Merit: 1057
Marketing manager - GO MP
I found some temporarily fix to reduce the cpu consumption in windows...
use this tool http://www.adsciengineering.com/StartAffinity/
to set the affinity of cgminer to one core. Use quotes on your cgminer cmdline and the id you would set in the taskmanager.


Or is there a way to actually get rid of it yet?
full member
Activity: 373
Merit: 100
P.S. I really want to kill AMD, upgraded to latest Debian testing and the 10.7 or 10.8 or whatever they are consume 100% CPU. Argh...
I know what you mean. You can get the old package versions from here: http://snapshot.debian.org/package/fglrx-driver/1:11-6-3/

I really haven't noticed a difference in either gaming or mining performance, and this way the CPU usage is minimised, so I see no reason not to downgrade.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Another couple:

1) So what does more exactly longpoll do and how to enable it with cgminer? I was under impression that it should be enabled by default, unless I specify --no-longpoll, but somehow it doesn't work for me on Slush pool. Shall I add LP to the pool URL?

2) So what's the best kernel for Radeon 5xxx ATM, shall I add -k phatk for optimum performance?

P.S. I really want to kill AMD, upgraded to latest Debian testing and the 10.7 or 10.8 or whatever they are consume 100% CPU. Argh...
I believe slush doesn't have longpoll. cgminer detects it by default and tries to enable it. Luckily cgminer is very good at minimising rejects even without longpoll.

Best kernel is likely phatk, and I'm pretty sure it will use that anyway by default.
newbie
Activity: 59
Merit: 0
Another couple:

1) So what does more exactly longpoll do and how to enable it with cgminer? I was under impression that it should be enabled by default, unless I specify --no-longpoll, but somehow it doesn't work for me on Slush pool. Shall I add LP to the pool URL?

2) So what's the best kernel for Radeon 5xxx ATM, shall I add -k phatk for optimum performance?

P.S. I really want to kill AMD, upgraded to latest Debian testing and the 10.7 or 10.8 or whatever they are consume 100% CPU. Argh...
newbie
Activity: 59
Merit: 0
Couple of observations:

1) Since cgminer is unusable with older curses, maybe make a compile-time switch to disable them completely? Especially now that there is a monitor option etc.
2) ./configure doesn't fail if no curses development files were detected, but compilation fails subsequently.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Is ask rate and scan time the same thing?
There is no official terminology for any of this stuff, but I'm assuming what ask-rate is, I guess the answer is yes.
member
Activity: 84
Merit: 10
Is ask rate and scan time the same thing?
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Found the problem. It has to do with the fact that I hadn't changed to the cgminer directory when I was still on battery:

The problem is that cgminer uses whatever crud malloc returns and simply appends the path of the install directory. The following patch fixes this for me:
Code:
--- cgminer-git/main.c  2011-08-26 10:18:44.314759040 +0200
+++ cgminer_build/main.c        2011-08-26 16:31:27.905487304 +0200
@@ -4495,7 +4495,7 @@
        sigaction(SIGINT, &handler, &inthandler);
 
        opt_kernel_path = malloc(PATH_MAX);
-       strcat(opt_kernel_path, CGMINER_PREFIX);
+       strcpy(opt_kernel_path, CGMINER_PREFIX);
 
        // Hack to make cgminer silent when called recursively on WIN32
        int skip_to_bench = 0;
Well spotted, thanks.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Code:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                              
  682 user      39  19 1915m  37m  11m S  389  0.5   4944:21 /opt/cgminer/bin/cgminer --algo auto --cpu-threads 4 --gpu-threads 1 ...

I noticed this already with 1.5.3, which I left running for awhile and got like 29g VIRT at some point, but now the history repeats itself with 1.6.0. It really looks like if there were a memleak somewhere that is not fixed. It's not a ncurses thing, I am still running the text interface, because the WINCH bug is back again in 1.6.0. Also, this doesn't manifest itself if CPU mining is disabled and doesn't depend on which algorithm exactly one does use.
Ah, knowing it's only with cpu mining will help. I'll investigate further.
newbie
Activity: 59
Merit: 0
Code:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                              
  682 user      39  19 1915m  37m  11m S  389  0.5   4944:21 /opt/cgminer/bin/cgminer --algo auto --cpu-threads 4 --gpu-threads 1 ...

I noticed this already with 1.5.3, which I left running for awhile and got like 29g VIRT at some point, but now the history repeats itself with 1.6.0. It really looks like if there were a memleak somewhere that is not fixed. It's not a ncurses thing, I am still running the text interface, because the WINCH bug is back again in 1.6.0. Also, this doesn't manifest itself if CPU mining is disabled and doesn't depend on which algorithm exactly one does use.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
No it should just work from the directory like it always did. HOWEVER if you have old .cl files in /usr/bin it might be using those. If you do make install with the binary version it will end up in /usr/bin (that's why I included the entire build tree this time instead of a stripped down tarball).

OMG what a total fail! I just downloaded and unpacked, copied my configuration and started with the usual scripts... Tried fiddling with config, then your suggestions, didn't work. Unfortunately, I failed to notice that I had downloaded the *source* release, no wonder the new terminal stays blank... Cheesy Nice going phase Cool Thanks though! Works like a charm!
We all have days like this  Cheesy
newbie
Activity: 49
Merit: 0
No it should just work from the directory like it always did. HOWEVER if you have old .cl files in /usr/bin it might be using those. If you do make install with the binary version it will end up in /usr/bin (that's why I included the entire build tree this time instead of a stripped down tarball).

OMG what a total fail! I just downloaded and unpacked, copied my configuration and started with the usual scripts... Tried fiddling with config, then your suggestions, didn't work. Unfortunately, I failed to notice that I had downloaded the *source* release, no wonder the new terminal stays blank... Cheesy Nice going phase Cool Thanks though! Works like a charm!
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Hmm, Ubuntu 64bit binaries were working fine for me on Linuxcoin up until now, 1.6.0 won't start. Is this because of the make install changes? Do I have to run make install from the directory, even for the binary release? And where do the files end up, where do I put configuration files, and what about newer versions? Will these automatically overwrite the previous binary from now on?
No it should just work from the directory like it always did. HOWEVER if you have old .cl files in /usr/bin it might be using those. If you do make install with the binary version it will end up in /usr/bin (that's why I included the entire build tree this time instead of a stripped down tarball).
Jump to: