Bitcoin Forum

Bitcoin => Mining software (miners) => Topic started by: iopq on July 29, 2011, 09:11:30 PM



Title: Why doesn't anyone write a way to fake cores?
Post by: iopq on July 29, 2011, 09:11:30 PM
Is there any way to write a program that fakes a third core on a dual core CPU that runs at like 10 Mhz (1/300 of the power of a real core) and set the affinity of the miner to it?


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: Zagitta on July 29, 2011, 10:18:12 PM
Because even if it's possible it would be easier to just reverse engineer ATI's stream SDK and fix the bug...


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: PLaci1982 on July 30, 2011, 08:13:26 AM
Because even if it's possible it would be easier to just reverse engineer ATI's stream SDK and fix the bug...
OK, go on! :)


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: dikidera on July 30, 2011, 10:48:09 AM
Is there any way to write a program that fakes a third core on a dual core CPU that runs at like 10 Mhz (1/300 of the power of a real core) and set the affinity of the miner to it?
How did you get out of the newbie section exactly?


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: iopq on July 30, 2011, 05:02:18 PM
Is there any way to write a program that fakes a third core on a dual core CPU that runs at like 10 Mhz (1/300 of the power of a real core) and set the affinity of the miner to it?
How did you get out of the newbie section exactly?
spamming until 5 posts


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: Grinder on July 30, 2011, 07:40:06 PM
Is there any way to write a program that fakes a third core on a dual core CPU that runs at like 10 Mhz (1/300 of the power of a real core) and set the affinity of the miner to it?
How did you get out of the newbie section exactly?
If this is a newbie question we need more newbies. It's a brilliant idea and there already exist a program for Linux called CPU limit that does what he needs, just not quite the way he suggests.


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: flyswatta on July 31, 2011, 12:55:24 PM
Absolutely brilliant!  This got me thinking and googling.  It appears that you can throttle CPU usage by SID (user) in Windows 7 http://technet.microsoft.com/en-us/library/ff384148%28WS.10%29.aspx

You can run a process, say guiminer (and maybe poclbm?) as a different user: http://www.sevenforums.com/tutorials/419-run-different-user.html

So it should be possible to run the miner under a different id, then then throttle the cpu usage of that user.  I haven't tried this out yet - The family and I are about to go to the circus, but I thought I'd throw my thoughts out to the brain trust and see what they come up with.  Otherwise, i'll dork around with it this afternoon.



Title: Re: Why doesn't anyone write a way to fake cores?
Post by: flyswatta on July 31, 2011, 06:58:51 PM
Okay so as an update.  I was able to create a new user, run guiminer under that user which also ran poclbm.   I then throttled the user account to 5% CPU....and watched my miners only pull in 50 Mh/s  >:(

I bumped it up to 20% and the Mh/s increased to 100.  So it would appear that the CPU usage is tied to the hashrate of poclbm. 


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: hawks5999 on July 31, 2011, 07:06:12 PM
Is there any way to write a program that fakes a third core on a dual core CPU that runs at like 10 Mhz (1/300 of the power of a real core) and set the affinity of the miner to it?
How did you get out of the newbie section exactly?

How did you get out from under your bridge exactly?

Trolling should be renamed 'diking'.


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: xurious on August 04, 2011, 02:17:56 AM
Okay so as an update.  I was able to create a new user, run guiminer under that user which also ran poclbm.   I then throttled the user account to 5% CPU....and watched my miners only pull in 50 Mh/s  >:(

I bumped it up to 20% and the Mh/s increased to 100.  So it would appear that the CPU usage is tied to the hashrate of poclbm. 

A bit of it is tied, but I underclock my cpu's without affecting hashrate. You just need to reasonably do it. Having one program hog all the cpu resources in any way, leaves a bottleneck for lack of cpu to do basic OS management and do the network to gpu work. 


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: flyswatta on August 04, 2011, 12:55:36 PM
I ended up installeding 11.6 and use a dummy plug that I have to move from one card to the other every time I reboot.  It sucks, but no CPU usage problem.


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: joulesbeef on August 05, 2011, 02:04:47 AM
you can use something like
process lasso

you could probably vmware it as well


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: kripz on September 19, 2011, 09:27:47 AM
Okay so as an update.  I was able to create a new user, run guiminer under that user which also ran poclbm.   I then throttled the user account to 5% CPU....and watched my miners only pull in 50 Mh/s  >:(

I bumped it up to 20% and the Mh/s increased to 100.  So it would appear that the CPU usage is tied to the hashrate of poclbm.  

So all these people running drivers > 11.6 and forcing the miner to a single core are losing hashes?

I'm guessing there's a breaking point otherwise the above would be true (probably 1/#cores % ;D), surely people would notice before and after rates.


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: flyswatta on September 19, 2011, 01:42:08 PM
Okay so as an update.  I was able to create a new user, run guiminer under that user which also ran poclbm.   I then throttled the user account to 5% CPU....and watched my miners only pull in 50 Mh/s  >:(

I bumped it up to 20% and the Mh/s increased to 100.  So it would appear that the CPU usage is tied to the hashrate of poclbm.  

So all these people running drivers > 11.6 and forcing the miner to a single core are losing hashes?

I'm guessing there's a breaking point otherwise the above would be true (probably 1/#cores % ;D), surely people would notice before and after rates.
Correct about the breaking point.   IIRC, I played with it a little bit and found that around 80% throttle would let me reach my full hashrate. If I set it to 90% it was the same hashrate as 90%.  Since having the CPU run at 80% isn't much different than 100% for the effort to set it all up and maintain, I dropped it and just let it run at 100%


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: P4man on September 19, 2011, 01:48:20 PM
Is this a windows only problem perhaps? CPU load under ubuntu is 0.5% while producing 320MH/s (5850).
 ???


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: -ck on September 19, 2011, 02:01:23 PM
Is this a windows only problem perhaps? CPU load under ubuntu is 0.5% while producing 320MH/s (5850).
 ???
If you want to reproduce the nice high CPU loads on linux as well, you can too, by upgrading from the 11.6 catalyst driver to 11.7 or 11.8.


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: P4man on September 19, 2011, 02:14:10 PM
Im not sure what version Im running.. its the one recommended, and AMD numbering doesnt make a lot of sense to me. Which version is this?

http://img823.imageshack.us/img823/4204/screenshotcatalystcontr.th.png (http://imageshack.us/photo/my-images/823/screenshotcatalystcontr.png/)

[/URL]


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: bcforum on September 19, 2011, 04:06:58 PM
Im not sure what version Im running.. its the one recommended, and AMD numbering doesnt make a lot of sense to me. Which version is this?

Looks like 11.3 to me.


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: P4man on September 19, 2011, 04:47:19 PM
Looks like 11.3 to me.

That could explain it. Its the one jockey-gtk ("hardware drivers" app) installs by default for ubuntu 11.04.


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: bcforum on September 19, 2011, 06:59:04 PM
That could explain it. Its the one jockey-gtk ("hardware drivers" app) installs by default for ubuntu 11.04.
Yeah, you gotta get the latest and install them by hand. I use:

http://foreverrising.wordpress.com/2011/04/16/bitcoin-mining-and-ubuntu-10-10-ati-radeon-5xxx/ (http://foreverrising.wordpress.com/2011/04/16/bitcoin-mining-and-ubuntu-10-10-ati-radeon-5xxx/)

for Linux mining, and I've had no issues. I use Phoenix with a custom kernel instead of what they recommend (poclbm?) but if you follow all the steps it should work.


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: P4man on September 19, 2011, 07:23:33 PM
Yeah, you gotta get the latest and install them by hand. I use:

Seems like I better not. Works fine with 11.3 or whatever I have. Pretty much no CPU load at all.


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: DeathAndTaxes on September 20, 2011, 03:26:55 AM
The shitty thing is that  if you have a decent CPU the "CPU big" is costing a lot of wasted wattage.

Restricting CGMiner to a single core (@ 100%) reduced power consumption at the wall by 40W.  Make me think we would save another ~10W if it had no CPU bug.

Is there any way to setup an "automatic CPU afinnity?".  i.e. anytime program "CGMINER.EXE" launches it is restricted to core #3?


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: deslok on September 20, 2011, 04:08:13 AM
The shitty thing is that  if you have a decent CPU the "CPU big" is costing a lot of wasted wattage.

Restricting CGMiner to a single core (@ 100%) reduced power consumption at the wall by 40W.  Make me think we would save another ~10W if it had no CPU bug.

Is there any way to setup an "automatic CPU afinnity?".  i.e. anytime program "CGMINER.EXE" launches it is restricted to core #3?

The closest thing to that that comes to mind would be disableing the cores in the bios, although someone could probably cook up a script to set a program to core4 anytime it's launched


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: jkminkov on September 20, 2011, 03:27:39 PM
The shitty thing is that  if you have a decent CPU the "CPU big" is costing a lot of wasted wattage.

Restricting CGMiner to a single core (@ 100%) reduced power consumption at the wall by 40W.  Make me think we would save another ~10W if it had no CPU bug.

Is there any way to setup an "automatic CPU afinnity?".  i.e. anytime program "CGMINER.EXE" launches it is restricted to core #3?

for win7, use shortcut like that:

C:\Windows\System32\cmd.exe /c start /affinity 2 /d  C:\bitcoin\phoenix-1.60 C:\bitcoin\phoenix-1.60\phoenix.exe -u http://user:pass@localhost:8332 -k phatk DEVICE=0 VECTORS AGGRESSION=12 BFI_INT WORKSIZE=256 -q 1

affinity 2 is 3rd core


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: DeathAndTaxes on September 20, 2011, 04:09:12 PM
Awesome jkminkov  thanks.


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: FalconFour on September 27, 2011, 02:56:41 AM
Hmm... I see people haven't heard of this utility.
*hhrrnnnggghhh*

http://mion.faireal.net/BES/

*splat*

There 'ya go kids, have a blast. It's a process CPU-throttling application. Yours to keep.


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: c_k on September 27, 2011, 10:00:10 AM
On Catalyst 11.8 drivers I get a drop in hashrate in cgminer when I throttle the CPU with BES.

Catalyst 11.9 drivers will be out in a few days anyway :)


Title: Re: Why doesn't anyone write a way to fake cores?
Post by: DeathAndTaxes on September 27, 2011, 12:30:43 PM
I have found jkminov script above to be very effective.  It sets affinity to a single core limiting power consumption.

C:\Windows\System32\cmd.exe /c start /affinity 2 /d  <normal miner command line goes here>

One thing that may be confusing is that the cores are in powers of 2
1 = core 1
2 = core 2
4 = core 3
8 = core 4
16 = core 5
32 = core 6

The reason this is done is for people who want to set affinity to 2+ cores at same time.  For example affinity 3 would set affinity to core 1 & 2.  Obviously we don't want to do that but just be aware of how it works.