Author

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

-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
You have to make sure the display for all devices is exported on linux for all cards to be seen with "export DISPLAY=:0". NFI what you need to do on windows.
It was suggested on IRC that since we are exporting all the displays like an active one in linux, it may be that the lack of outputs on the displays on windows is why the adl library isn't talking to them. i.e. perhaps it's only the cards connected to monitors or dummy plugs that work.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Hey Con,

A truly amazing release !!

A quick 20mn run of the new cgminer with fan/mem/clock control
and everything seems to work peachy.

No more fiddling around with AMDOverDriveCtl, everything is now
controlled from cgminer. This rocks !!!

The only thing I can't now with cgminer do is push vddc beyond 1.05v
on my 5970s (but neither can AMDOverDriveCtl ... for this, the only thing
I've found that works is radeonvolt).

5BTC headed your way right now.
Thanks =) And thanking you muchly for your generous donation. I'm glad people appreciate how much effort this has been.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Okay, turned out that I didn't have ADL files in the folder. Con, please fix the readme file in that folder as the adl_structures file isn't checked by the ./configure but doesn't compile on make. Smiley
It checks for only one of the header files. I assumed that the instructions saying to
Quote
Copy all the *.h files in the "include" directory into cgminer's ADL_SDK directory.
were clear enough.
legendary
Activity: 1762
Merit: 1011
MASSIVE UPGRADE VERSION 2.0 - Links in top post

Major feature upgrade - GPU monitoring, (over)clocking and fan control for ATI
GPUs.

Wow, this will be great if it works on my non-reference Gigabyte Super Overclock 5870 in a ViDock/netbook setup.  The Gigabyte OC Guru tool doesn't work in that scenario (doesn't see the card), and the Catalyst Control Center isn't available for it to use the OverDrive features, either.  So far, because the OC Guru doesn't work in this setup, I've had to use reference cards with OverDrive, only, if I want to overclock.
full member
Activity: 186
Merit: 100
Okay, turned out that I didn't have ADL files in the folder. Con, please fix the readme file in that folder as the adl_structures file isn't checked by the ./configure but doesn't compile on make. Smiley
newbie
Activity: 15
Merit: 0
Wow, holy crap, way to go on the update!
newbie
Activity: 49
Merit: 0
Wow Con, you've really outdone yourself this time! That looks like a jaw-dropping changelog, more than I could have ever dreamed of. This level of control should theoretically allow for 100% stable mining since all factors are now taken into account and adjusted towards a stable mining process. This is exactly what I was looking for, I'm leaving on vacation for Mexico in two weeks, it will be nice to know that cgminer is doing its best to keep my rig stable, considering that I'll be on the other side of the planet, way too far off to push the reset button in case the driver is in a fit and crashes. Can't wait to try it out! Smiley
full member
Activity: 186
Merit: 100
Well, I did try the new version but it doesn't work for me at all. When I use a config file, it crash/reboots my system. The --auto-fan is a non-existent option and running it from command-line just locks up the console with no output whatsoever.
full member
Activity: 186
Merit: 100
cgminer -c /etc/cgminer/itzod.json --auto-fan --gpu-engine=840 --gpu-memclock=300

Sep  6 12:44:39 lt cgminer: cgminer: --auto-fan: unrecognized option

Just cloned from the repo.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
You have to make sure the display for all devices is exported on linux for all cards to be seen with "export DISPLAY=:0". NFI what you need to do on windows.
newbie
Activity: 73
Merit: 0
only one gpu temperature is visible. i use windows 7 x64. i'm not sure but i think custom overclocking settings are applied only for this gpu only as well..

-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
wow what an update! gone testing! Smiley

P.S. ckolivas, why do you use --auto-gpu and --gpu-engine 950 together in your example? how is it possible together auto and non-auto gpu? is there a reason? Wink
You need to tell it what speed you actually want auto-gpu to go up to...

I thought I covered all that in the extensive README.  Undecided
newbie
Activity: 73
Merit: 0
wow what an update! gone testing! Smiley

P.S. ckolivas, why do you use --auto-gpu and --gpu-engine 950 together in your example? how is it possible together auto and non-auto gpu? is there a reason? Wink
legendary
Activity: 1316
Merit: 1005
MASSIVE UPGRADE VERSION 2.0 - Links in top post

You've outdone yourself!

Testing now and it's a beaut so far, especially the temperature display and virtually non-existent rejects since 1.6.x. Should have more on stats after several hours.
sr. member
Activity: 383
Merit: 250
My appologies for being such a perfectionist prick but I think the quoted post might be useful to several people and so ...

If anyone is interested, thought this might be helpful to some.

If you run Cgminer on Windows 7 (should work on other versions) this startup .cmd will launch Cgminer using only one CPU core and outputs log info to a log file that has the date and time in the filename.

Open notepad.exe and put the following in (changing username and password and your servers of course):

Code:
rem del /F /Q *.bin

start /B /affinity 8 cgminer -o http://yourprimaryserver:port -u yourworkername -p your password -o http://yourbackupserver:port -u yourworkername -p yourpassword -I 9 2>"%date:~4,2%-%date:~7,2%-%date:~12,2%%time:~0,2%-%time:~3,2%-%time:~6,2%.log"

pause


This will use core number 4.

1st core = 1
2nd core = 2
3rd core = 4
4th core = 8
5th core = H ( hexadecimal 16 )
6th core = 1H ( hexadecimal 32 )

now if you want something to run on just one core, you pick the right number like this, just multiply by 2 until you get to the core you want.

if you want something to run on two cores, you ADD their values:

1st and 2nd core = 1 + 2 = 3
1st and 3rd core = 1 + 4 = 5
2nd and 3rd core = 2 + 4 = 6
2nd and 4th core = 2 + 8 = 10

Same thing if you want more than two cores, just add each core numerical value up and use the sum as the /affinity parameter


Close but there is no such thing as H in hex.

Here are the correct hex numbers for the cores:
1st core = 1
2nd core = 2
3rd core = 4
4th core = 8
5th core = 10
6th core = 20
7th core = 40
8th core = 80
9th core = 100
10th core = 200
11th core = 400
12th core = 800
13th core = 1000
14th core = 2000
15th core = 4000
16th core = 8000
etc.

You probably notice a pattern forming by this point.

Oh and to allow the 2nd and 4th cores use: 2 + 8 = A (not 10)
The same way, if for some bizarre reason you wanted to use all of the non-prime cores in a 12 core system (1,4,6,8,9,10,12) you just need to add their corresponding hex values:
1 + 8 + 20 + 80 + 100 + 200 + 800 = BA9

As one of the several people; thank you. I copied and pasted that part without really checking it in detail. I edited my original post.
newbie
Activity: 52
Merit: 0
My appologies for being such a perfectionist prick but I think the quoted post might be useful to several people and so ...

If anyone is interested, thought this might be helpful to some.

If you run Cgminer on Windows 7 (should work on other versions) this startup .cmd will launch Cgminer using only one CPU core and outputs log info to a log file that has the date and time in the filename.

Open notepad.exe and put the following in (changing username and password and your servers of course):

Code:
rem del /F /Q *.bin

start /B /affinity 8 cgminer -o http://yourprimaryserver:port -u yourworkername -p your password -o http://yourbackupserver:port -u yourworkername -p yourpassword -I 9 2>"%date:~4,2%-%date:~7,2%-%date:~12,2%%time:~0,2%-%time:~3,2%-%time:~6,2%.log"

pause

This will use core number 4.

1st core = 1
2nd core = 2
3rd core = 4
4th core = 8
5th core = H ( hexadecimal 16 )
6th core = 1H ( hexadecimal 32 )

now if you want something to run on just one core, you pick the right number like this, just multiply by 2 until you get to the core you want.

if you want something to run on two cores, you ADD their values:

1st and 2nd core = 1 + 2 = 3
1st and 3rd core = 1 + 4 = 5
2nd and 3rd core = 2 + 4 = 6
2nd and 4th core = 2 + 8 = 10

Same thing if you want more than two cores, just add each core numerical value up and use the sum as the /affinity parameter


Close but there is no such thing as H in hex.

Here are the correct hex numbers for the cores:
1st core = 1
2nd core = 2
3rd core = 4
4th core = 8
5th core = 10
6th core = 20
7th core = 40
8th core = 80
9th core = 100
10th core = 200
11th core = 400
12th core = 800
13th core = 1000
14th core = 2000
15th core = 4000
16th core = 8000
etc.

You probably notice a pattern forming by this point.

Oh and to allow the 2nd and 4th cores use: 2 + 8 = A (not 10)
The same way, if for some bizarre reason you wanted to use all of the non-prime cores in a 12 core system (1,4,6,8,9,10,12) you just need to add their corresponding hex values:
1 + 8 + 20 + 80 + 100 + 200 + 800 = BA9
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
MASSIVE UPGRADE VERSION 2.0 - Links in top post

Major feature upgrade - GPU monitoring, (over)clocking and fan control for ATI
GPUs.

Executive summary:
You have to make sure the display for all devices is exported on linux for all cards to be seen with "export DISPLAY=:0". NFI what you need to do on windows.

Add overclocking settings, GPU and fan control for all cards:

cgminer -o http://pool:port -u username -p password -I 9 --auto-fan --auto-gpu --gpu-engine 950 --gpu-memclock 300

Add overclocking settings, GPU and fan control with different engine settings for 4 cards:

cgminer -o http://pool:port -u username -p password -I 9 --auto-fan --auto-gpu --gpu-engine 950,945,930,960 --gpu-memclock 300

---

New command line switches:
--auto-fan          Automatically adjust all GPU fan speeds to maintain a target
temperature
--auto-gpu          Automatically adjust all GPU engine clock speeds to maintain
a target temperature
--gpu-engine  Set the GPU engine (over)clock in Mhz - one value for all or
separate by commas for per card.
--gpu-fan     Set the GPU fan percentage - one value for all or separate
by commas for per card.
--gpu-memclock Set the GPU memory (over)clock in Mhz - one value for all
or separate by commas for per card.
--gpu-powertune Set the GPU powertune percentage - one value for all or
separate by commas for per card.
--gpu-vddc    Set the GPU voltage in Volts - one value for all or separate
by commas for per card.
--temp-hysteresis Set how much the temperature can fluctuate outside
limits when automanaging speeds (default: 3)
--temp-overheat Set the overheat temperature when automatically managing
fan and GPU speeds (default: 85)
--temp-target Set the target temperature when automatically managing fan
and GPU speeds (default: 75)

---
OVERCLOCKING WARNING AND INFORMATION

AS WITH ALL OVERCLOCKING TOOLS YOU ARE ENTIRELY RESPONSIBLE FOR ANY HARM YOU
MAY CAUSE TO YOUR HARDWARE. OVERCLOCKING CAN INVALIDATE WARRANTIES, DAMAGE
HARDWARE AND EVEN CAUSE FIRES. THE AUTHOR ASSUMES NO RESPONSIBILITY FOR ANY
DAMAGE YOU MAY CAUSE OR UNPLANNED CHILDREN THAT MAY OCCUR AS A RESULT.

The GPU monitoring, clocking and fanspeed control incorporated into cgminer
comes through use of the ATI Display Library. As such, it only supports ATI
GPUs. Even if ADL support is successfully built into cgminer, unless the card
and driver supports it, no GPU monitoring/settings will be available.

Cgminer supports initial setting of GPU engine clock speed, memory clock
speed, voltage, fanspeed, and the undocumented powertune feature of 69x0+ GPUs.
The setting passed to cgminer is used by all GPUs unless separate values are
specified. All settings can all be changed within the menu on the fly on a
per-GPU basis.

For example:
--gpu-engine 950 --gpu-memclock 825

will try to set all GPU engine clocks to 950 and all memory clocks to 825,
while:
--gpu-engine 950,945,930,960 --gpu-memclock 300

will try to set the engine clock of card 0 to 950, 1 to 945, 2 to 930, 3 to
960 and all memory clocks to 825.

AUTO MODES:
There are two "auto" modes in cgminer, --auto-fan and --auto-gpu. These can
be used independently of each other and are complementary. Both auto modes
are designed to safely change settings while trying to maintain a target
temperature. By default this is set to 75 degrees C but can be changed with:
--temp-target

AUTO FAN:
Fan control in auto fan works off the theory that the minimum possible fan
required to maintain an optimal temperature will use less power, make less
noise, and prolong the life of the fan. In auto-fan mode, the fan speed is
limited to 85% if the temperature is below "overheat" intentionally, as
higher fanspeeds on GPUs do not produce signficantly more cooling, yet
significanly shorten the lifespan of the fans. If temperature reaches the
overheat value, fanspeed will still be increased to 100%. The overheat value
is set to 85 degrees by default and can be changed with:
--temp-overheat

AUTO GPU:
GPU control in auto gpu tries to maintain as high a clock speed as possible
while not reaching overheat temperatures. As a lower clock speed limit,
the auto-gpu mode checks the GPU card's "normal" clock speed and will not go
below this unless you have manually set a lower speed at some time. Also,
unless a higher clock speed was specified at startup, it will not raise the
clockspeed. If the temperature climbs, fanspeed is adjusted and optimised
before GPU engine clockspeed is adjusted. If fan speed control is not available
or already optimal, then GPU clock speed is only decreased if it goes over
the target temperature by the hysteresis amount, which is set to 3 by default
and can be changed with:
--temp-hysteresis
If the temperature drops below the target temperature, and engine clock speed
is not at the highest level set at startup, cgminer will raise the clock speed.
If at any time you manually set an even higher clock speed successfully in
cgminer, it will record this value and use it as its new upper limit (and the
same for low clock speeds and lower limits).

CHANGING SETTINGS:
When setting values, it is important to realise that even though the driver
may report the value was changed successfully, and the new card power profile
information contains the values you set it to, that the card itself may
refuse to use those settings. As the performance profile changes dynamically,
querying the "current" value on the card can be wrong as well. So when changing
values in cgminer, after a pause of 1 second, it will report to you the current
values where you should check that your change has taken. An example is that
6970 reference cards will accept low memory values but refuse to actually run
those lower memory values unless they're within 125 of the engine clock speed.
In that scenario, they usually set their real speed back to their default.

STARTUP / SHUTDOWN:
When cgminer starts up, it tries to read off the current profile information
for clock and fan speeds and stores these values. When quitting cgminer, it
will then try to restore the original values. Changing settings outside of
cgminer while it's running may be reset to the startup cgminer values when
cgminer shuts down because of this.

---
Full changelog:

- Implement ATI ADL support for GPU parameter monitoring now and setting later
(temp, fan, clocks etc.).
- Check for the presence of the ADL header files in ADL_SDK.
- Import adl_functions.h from amd overdrive ctrl.
- Implement a setup function that tries to detect GPUs that support the ADL and
link in the parameters into the gpus struct.
- Put a summary of monitoring information from the GPU menu.
- Implement changing memory speed and voltage on the fly.
- Implement fan speed setting.
- Minor corrections to set fan speed by percentage.
- Make sure to read off the value in RPM only.
- Implement auto fanspeed adjustment to maintain a target temperature and
fanspeed below 85%, with an overheat check that will speed the fan up to 100%.
- Add an --auto-fan command line option to allow all GPUs to have autofan
enabled from startup.
- Add a gpu autotune option which adjusts GPU speed to maintain a target
temperature within the bounds of the default GPU speed and any overclocking set.
- Avoid a dereference if the longpoll thread doesn't exist.
- Clean up by setting performance profiles and fan settings to startup levels on
exit.
- Add a small amount of hysteresis before lowering clock speed.
- Allow target, overheat and hysteresis temperatures to be set from command
line.
- Combine all stats collating into one function to avoid repeating function
calls on each variable.
- Add gpu statistics to debugging output via the watchdog thread.
- Implement menus to change temperature limits.
- Implement setting the GPU engine clock speed of all devices or each device as
a comma separated value.
- Implement setting the GPU memory clock speed of all devices or each device as
a comma separated value.
- Implement setting the GPU voltage of all devices or each device as a comma
separated value.
- Implement setting the GPU fan speed of all devices or each device as a comma
separated value.
- Add support for monitoring powertune setting.
- Implement changing of powertune value from the GPU change settings menu.
- Get the value of powertune in get_stats.
- Implement setting the GPU powertune value of all devices or each device as a
comma separated value.
- Remove the safety checks in speed setting since confirmation is done first in
the menu, then show the new current values after a short pause.
- Force the speed to high on startup and restore it to whatever the setting was
on exit.
- Add temperature to standard output where possible and use more compact output.
- Move and print at the same time in curses to avoid random trampling display
errors.
- Update the status window only from the watchdog thread, do not rewrite the top
status messages and only refresh once all the status window is complete,
clearing the window each time to avoid corruption.
- Set a safe starting fan speed if we're automanaging the speeds.
- Provide locking around all adl calls to prevent races.
- Lower profile settings cannot be higher than higher profile ones so link any
drops in settings.
- Add new needed text files to distribution.
- Queue requests ignoring the number of staged clones since they get discarded
very easily leading to false positives for pool not providing work fast enough.
- Include libgen.h in opt.c to fix win32 compilation warnings.
- Fix compilation warning on win32.
- Add the directory name from the arguments cgminer was called from as well to
allow it running from a relative pathname.
- Add a --disable-adl option to configure and only enable it if opencl support
exists.
- Retry before returning a failure to get upstream work as a failure to avoid
false positives for pool dead.
- Retry also if the decoding of work fails.
- Use the presence of X-Roll-Ntime in the header as a bool for exists unless N
is found in the response.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
No, that will launch multiple instances. Just repeat the parameters with different data:

cgminer.exe -o http://arsbitcoin.com:8344 -u user -p password -o http://mtred.com:8337 -u user -p password -v 2 -w 128

Np btw, and welcome to the cgminer crowd Wink
Awesome, and thanks!   Smiley

guiminer:  ~3.5% stales in about any pool
cgminer:   ~0.3% stales (smaller sample size, of course)
Nice feedback, thanks =)
member
Activity: 70
Merit: 10
No, that will launch multiple instances. Just repeat the parameters with different data:

cgminer.exe -o http://arsbitcoin.com:8344 -u user -p password -o http://mtred.com:8337 -u user -p password -v 2 -w 128

Np btw, and welcome to the cgminer crowd Wink
Awesome, and thanks!   Smiley

guiminer:  ~3.5% stales in about any pool
cgminer:   ~0.3% stales (smaller sample size, of course)
newbie
Activity: 49
Merit: 0
No, that will launch multiple instances. Just repeat the parameters with different data:

cgminer.exe -o http://arsbitcoin.com:8344 -u user -p password -o http://mtred.com:8337 -u user -p password -v 2 -w 128

Np btw, and welcome to the cgminer crowd Wink
Jump to: