Bitcoin Forum
June 18, 2018, 11:52:01 PM *
News: Latest stable version of Bitcoin Core: 0.16.1  [Torrent]. (New!)
 
   Home   Help Search Donate Login Register  
Pages: « 1 ... 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 [211] 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 ... 847 »
  Print  
Author Topic: OFFICIAL CGMINER mining software thread for linux/win/osx/mips/arm/r-pi 4.10.0  (Read 5756311 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
-ck
Moderator
Legendary
*
Offline Offline

Activity: 2548
Merit: 1092


Ruu \o/


View Profile WWW
February 23, 2012, 12:58:50 PM
 #4201

Ok, my findings so far:
5850 on SDK 2.5

2.2.7 ~400MH/s with phatk120213

2.3.0 ~320MH/s with phatk120222
2.3.0 ~400MH/s with phatk120213 *but* lots of HW errors!

So it seems the hashrate drop is in the kernel changes?  Huh
The old kernel is simply not compatible with the current one.

Well this makes me fucking angry. All I can do is shake my fist even harder at ATI for the changes just SHOULD NOT CAUSE THIS as they're meant to be trivial changes. Well more fucking quick fucking releases to deal with fucking ATI fucking fail. Rollback phatk fucking time.

Primary developer/maintainer for cgminer and ckpool/ckproxy.
ZERO FEE Pooled mining at ckpool.org 1% Fee Solo mining at solo.ckpool.org
-ck
The World's Betting Exchange

Bet with play money. Win real Bitcoin. 5BTC Prize Fund for World Cup 2018.

Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
Vbs
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


View Profile
February 23, 2012, 01:00:04 PM
 #4202

OK, fixed it:
"bool result = any(W[117] == 0)" seems to be the slow op, changing back to the bitwise AND "W[117].x & W[117].y" (and the next if to !result), gets me back at ~400MH/s.
-ck
Moderator
Legendary
*
Offline Offline

Activity: 2548
Merit: 1092


Ruu \o/


View Profile WWW
February 23, 2012, 01:03:07 PM
 #4203

OK, fixed it:
"bool result = any(W[117] == 0)" seems to be the slow op, changing back to the bitwise AND "W[117].x & W[117].y" (and the next if to !result), gets me back at ~400MH/s.
Goddamn. Thanks for that. The any() function is meant to be faster than manually unrolling it the way I did in the old version. I guess I shouldn't put any faith in their hardware functions...

sigh...

Primary developer/maintainer for cgminer and ckpool/ckproxy.
ZERO FEE Pooled mining at ckpool.org 1% Fee Solo mining at solo.ckpool.org
-ck
Vbs
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


View Profile
February 23, 2012, 01:27:30 PM
 #4204

Btw, why check for 'result' in the first place? Isn't that a redundant check?

Using now,
Code:
#elif defined VECTORS2
          if (!W[117].x) {
              output[FOUND] = FOUND;
      output[NFLAG & W[3].x] = W[3].x;
          }
  if (!W[117].y) {
              output[FOUND] = FOUND;
      output[NFLAG & W[3].y] = W[3].y;
          }
Seems to work! Grin
jamesg
VIP
Legendary
*
Offline Offline

Activity: 1358
Merit: 1000


AKA: gigavps


View Profile
February 23, 2012, 01:29:04 PM
 #4205

I have posted a bounty to get better documentation around the --scan-serial option for linux -> https://bitcointalk.org/index.php?topic=65879.0

If you have this knowledge, you can make some quick btc...  Wink
-ck
Moderator
Legendary
*
Offline Offline

Activity: 2548
Merit: 1092


Ruu \o/


View Profile WWW
February 23, 2012, 01:29:09 PM
 #4206

Btw, why check for 'result' in the first place? Isn't that a redundant check?

Using now,
Code:
#elif defined VECTORS2
          if (!W[117].x) {
              output[FOUND] = FOUND;
      output[NFLAG & W[3].x] = W[3].x;
          }
  if (!W[117].y) {
              output[FOUND] = FOUND;
      output[NFLAG & W[3].y] = W[3].y;
          }
Seems to work! Grin

No, you're doing two branches on the common path now. We want as few branches as possible in the common path. It doesn't matter if we do 2 extra checks in the uncommon (i.e. found share) path.

Primary developer/maintainer for cgminer and ckpool/ckproxy.
ZERO FEE Pooled mining at ckpool.org 1% Fee Solo mining at solo.ckpool.org
-ck
bulanula
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500



View Profile
February 23, 2012, 01:29:52 PM
 #4207

Ok, my findings so far:
5850 on SDK 2.5

2.2.7 ~400MH/s with phatk120213

2.3.0 ~320MH/s with phatk120222
2.3.0 ~400MH/s with phatk120213 *but* lots of HW errors!

So it seems the hashrate drop is in the kernel changes?  Huh
The old kernel is simply not compatible with the current one.

Well this makes me fucking angry. All I can do is shake my fist even harder at ATI for the changes just SHOULD NOT CAUSE THIS as they're meant to be trivial changes. Well more fucking quick fucking releases to deal with fucking ATI fucking fail. Rollback phatk fucking time.

Yeah and people were bashing me when I was screaming Nvidia.

ATI will probably never fix these bugs in their SDK and drivers.

CPU bug, SDK 2.6, 8 GPU hardcoded limit, needs to be linked to xserver at all times.

If only Nvidia would wake up and see that we are waiting for the 4608 shader dual GPU.

Hopefully the integer performance is much better this time around and they implement a variation of BFI_INT or bitalign.

So when will you release the fixed cgminer ?

Thank you !
kentrolla
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


View Profile
February 23, 2012, 01:30:34 PM
 #4208

awesome update. the new kernel gives me a +2% increase in mh/s.  
i have a suggestion.
i like how you can set the intensity to d and it changes the intensity to maintain desktop interactivity. but its just a little bit too intense for me in windows but is perfect while playing world of tanks (weird, i thought gaming would be more intense)  so i keep having to change the intensity depending on what i'm doing.

my suggestion is that you make an option to set the intensity to d -2  or d -1  or something. so the intensity is still dynamic but is 1 or 2 less (or more) than d.
some people might want to use d +1 or d +2. who knows?  for me, intensity of d -1 would be perfect.

-ck
Moderator
Legendary
*
Offline Offline

Activity: 2548
Merit: 1092


Ruu \o/


View Profile WWW
February 23, 2012, 01:31:43 PM
 #4209

awesome update. the new kernel gives me a +2% increase in mh/s.  
i have a suggestion.
i like how you can set the intensity to d and it changes the intensity to maintain desktop interactivity. but its just a little bit too intense for me in windows but is perfect while playing world of tanks (weird, i thought gaming would be more intense)  so i keep having to change the intensity depending on what i'm doing.

my suggestion is that you make an option to set the intensity to d -2  or d -1  or something. so the intensity is still dynamic but is 1 or 2 less (or more) than d.
some people might want to use d +1 or d +2. who knows?  for me, intensity of d -1 would be perfect.
Read what it says at startup when you run dynamic intensity... sigh.

Primary developer/maintainer for cgminer and ckpool/ckproxy.
ZERO FEE Pooled mining at ckpool.org 1% Fee Solo mining at solo.ckpool.org
-ck
kentrolla
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


View Profile
February 23, 2012, 01:34:37 PM
 #4210

awesome update. the new kernel gives me a +2% increase in mh/s.  
i have a suggestion.
i like how you can set the intensity to d and it changes the intensity to maintain desktop interactivity. but its just a little bit too intense for me in windows but is perfect while playing world of tanks (weird, i thought gaming would be more intense)  so i keep having to change the intensity depending on what i'm doing.

my suggestion is that you make an option to set the intensity to d -2  or d -1  or something. so the intensity is still dynamic but is 1 or 2 less (or more) than d.
some people might want to use d +1 or d +2. who knows?  for me, intensity of d -1 would be perfect.
Read what it says at startup when your run dynamic intensity... sigh.
lol
ty

-ck
Moderator
Legendary
*
Offline Offline

Activity: 2548
Merit: 1092


Ruu \o/


View Profile WWW
February 23, 2012, 01:38:16 PM
 #4211

Updated the 2.3.0 package with -1 extension which includes a fixed phatk kernel. Links in top post. This shouldn't affect other kernels...

If it ends up affecting other kernels, I'll have to release a full new version tomorrow.

Primary developer/maintainer for cgminer and ckpool/ckproxy.
ZERO FEE Pooled mining at ckpool.org 1% Fee Solo mining at solo.ckpool.org
-ck
Vbs
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


View Profile
February 23, 2012, 01:38:52 PM
 #4212

Ok, one unrolled branch then!  Wink

Code:
#elif defined VECTORS2
          if (!W[117].x) {
               output[FOUND] = FOUND;
       output[NFLAG & W[3].x] = W[3].x;
            if (!W[117].y)
                         output[NFLAG & W[3].y] = W[3].y;
          }
          else if (!W[117].y) {
               output[FOUND] = FOUND;
       output[NFLAG & W[3].y] = W[3].y;
          }
-ck
Moderator
Legendary
*
Offline Offline

Activity: 2548
Merit: 1092


Ruu \o/


View Profile WWW
February 23, 2012, 01:41:04 PM
 #4213

Ok, one unrolled branch then!  Wink

Code:
#elif defined VECTORS2
          if (!W[117].x) {
               output[FOUND] = FOUND;
       output[NFLAG & W[3].x] = W[3].x;
            if (!W[117].y)
                         output[NFLAG & W[3].y] = W[3].y;
          }
          else if (!W[117].y) {
               output[FOUND] = FOUND;
       output[NFLAG & W[3].y] = W[3].y;
          }
Heh, you're not a coder are you? That's still two branches unless it's positive on the first branch.

Primary developer/maintainer for cgminer and ckpool/ckproxy.
ZERO FEE Pooled mining at ckpool.org 1% Fee Solo mining at solo.ckpool.org
-ck
kentrolla
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


View Profile
February 23, 2012, 02:02:52 PM
 #4214

awesome update. the new kernel gives me a +2% increase in mh/s.  
i have a suggestion.
i like how you can set the intensity to d and it changes the intensity to maintain desktop interactivity. but its just a little bit too intense for me in windows but is perfect while playing world of tanks (weird, i thought gaming would be more intense)  so i keep having to change the intensity depending on what i'm doing.

my suggestion is that you make an option to set the intensity to d -2  or d -1  or something. so the intensity is still dynamic but is 1 or 2 less (or more) than d.
some people might want to use d +1 or d +2. who knows?  for me, intensity of d -1 would be perfect.
Read what it says at startup when you run dynamic intensity... sigh.
--gpu-dyninterval <arg> Set the refresh interval in ms for GPUs using dynamic intensity

i've been playing with this and i guess i just don't understand how it works. when i set it to 20 it stays at 4 intensity and when i set it to 1 it goes back and forth between 3 and 4 intensity.  so there is a difference between --gpu-dyninterval 1 and --gpu-dyninterval 20 but its barely even noticeable and you can't use negative numbers.  i have a radeon 4850 btw

DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1004


Gerald Davis


View Profile
February 23, 2012, 02:03:43 PM
 #4215

Ok, one unrolled branch then!  Wink

Code:
#elif defined VECTORS2
          if (!W[117].x) {
               output[FOUND] = FOUND;
       output[NFLAG & W[3].x] = W[3].x;
            if (!W[117].y)
                         output[NFLAG & W[3].y] = W[3].y;
          }
          else if (!W[117].y) {
               output[FOUND] = FOUND;
       output[NFLAG & W[3].y] = W[3].y;
          }
Heh, you're not a coder are you? That's still two branches unless it's positive on the first branch.

To save ckolivas from more frustration maybe I can help.

vbs:  AMD (and I assume Nvidia) GPU take a horrible hit on branches.  The number of total checks is irrelevant.  What matters is the number of branches on the main path.

Only one in 4.3 billion hashes will be a share thus 99.999999976716935634613037109375% of the time any subsequent share checks are never executed.  Optimizing the path which occurs one in 4.3 billion executions is silly right?

We want to make the one that occurs 4.29999999999 billlion out of 4.3 billion attempts as fast as possible.  Given the massive (and I do mean massive forget what you think you know about C++ compilers on x86 hardware) hit that AMD GPU take when it comes to branches that means making the main path have as few branches as possible. 

Neither of your code snippets do that.
-ck
Moderator
Legendary
*
Offline Offline

Activity: 2548
Merit: 1092


Ruu \o/


View Profile WWW
February 23, 2012, 02:06:53 PM
 #4216

awesome update. the new kernel gives me a +2% increase in mh/s.  
i have a suggestion.
i like how you can set the intensity to d and it changes the intensity to maintain desktop interactivity. but its just a little bit too intense for me in windows but is perfect while playing world of tanks (weird, i thought gaming would be more intense)  so i keep having to change the intensity depending on what i'm doing.

my suggestion is that you make an option to set the intensity to d -2  or d -1  or something. so the intensity is still dynamic but is 1 or 2 less (or more) than d.
some people might want to use d +1 or d +2. who knows?  for me, intensity of d -1 would be perfect.
Read what it says at startup when you run dynamic intensity... sigh.
--gpu-dyninterval <arg> Set the refresh interval in ms for GPUs using dynamic intensity

i've been playing with this and i guess i just don't understand how it works. when i set it to 20 it stays at 4 intensity and when i set it to 1 it goes back and forth between 3 and 4 intensity.  so there is a difference between --gpu-dyninterval 1 and --gpu-dyninterval 20 but its barely even noticeable and you can't use negative numbers.  i have a radeon 4850 btw
It's a fairly sensitive tuning tool. The difference between the default 7 and 1 should be quite significant to the interface. Don't get too hung up on what the intensity setting reported is since that's done once every 5 seconds but at dyninterval of 1 the value is updated 1000 times per second. 1 is very interactive desktop with lower hashrate, 1000 for example is higher hashrate less dynamic dekstop.

Primary developer/maintainer for cgminer and ckpool/ckproxy.
ZERO FEE Pooled mining at ckpool.org 1% Fee Solo mining at solo.ckpool.org
-ck
Diapolo
Hero Member
*****
Offline Offline

Activity: 769
Merit: 500



View Profile WWW
February 23, 2012, 02:26:44 PM
 #4217

Btw, why check for 'result' in the first place? Isn't that a redundant check?

Using now,
Code:
#elif defined VECTORS2
          if (!W[117].x) {
              output[FOUND] = FOUND;
     output[NFLAG & W[3].x] = W[3].x;
          }
 if (!W[117].y) {
              output[FOUND] = FOUND;
     output[NFLAG & W[3].y] = W[3].y;
          }
Seems to work! Grin

No, you're doing two branches on the common path now. We want as few branches as possible in the common path. It doesn't matter if we do 2 extra checks in the uncommon (i.e. found share) path.

That is true, I thought it would be better the above way, but think about it ... most of the time only 1 branch is checked and therefore processed. If you always check 2 branches, this will slow things down. It has to be mentioned, that if in a work-group, let's
say of size 256, a positive nonce is found, all 3 branches are checked and this slows down execution of ALL work-items in that particular work-group. So because a positive nonce is seldom, Cons current approach is the right one.

I found out in internal tests with diakgcn, that any() is indeed slower :-/.

Dia

Liked my former work for Bitcoin Core? Drop me a donation via:
1PwnvixzVAKnAqp8LCV8iuv7ohzX2pbn5x
bitcoin:1PwnvixzVAKnAqp8LCV8iuv7ohzX2pbn5x?label=Diapolo
kentrolla
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


View Profile
February 23, 2012, 02:29:10 PM
 #4218

awesome update. the new kernel gives me a +2% increase in mh/s.  
i have a suggestion.
i like how you can set the intensity to d and it changes the intensity to maintain desktop interactivity. but its just a little bit too intense for me in windows but is perfect while playing world of tanks (weird, i thought gaming would be more intense)  so i keep having to change the intensity depending on what i'm doing.

my suggestion is that you make an option to set the intensity to d -2  or d -1  or something. so the intensity is still dynamic but is 1 or 2 less (or more) than d.
some people might want to use d +1 or d +2. who knows?  for me, intensity of d -1 would be perfect.
Read what it says at startup when you run dynamic intensity... sigh.
--gpu-dyninterval <arg> Set the refresh interval in ms for GPUs using dynamic intensity

i've been playing with this and i guess i just don't understand how it works. when i set it to 20 it stays at 4 intensity and when i set it to 1 it goes back and forth between 3 and 4 intensity.  so there is a difference between --gpu-dyninterval 1 and --gpu-dyninterval 20 but its barely even noticeable and you can't use negative numbers.  i have a radeon 4850 btw
It's a fairly sensitive tuning tool. The difference between the default 7 and 1 should be quite significant to the interface. Don't get too hung up on what the intensity setting reported is since that's done once every 5 seconds but at dyninterval of 1 the value is updated 1000 times per second. 1 is very interactive desktop with lower hashrate, 1000 for example is higher hashrate less dynamic dekstop.
hmm, my friend with a 5870 is saying that --gpu-dyninterval does effect his intensity. but for me, it seems to do nothing at all. with gpu-dyninterval 1 i still have lag in windows but if i use intensity -2 the lag goes away and i only lose about 5mh/s.  i guess ill stick to just using static intensity for now

DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1004


Gerald Davis


View Profile
February 23, 2012, 02:35:33 PM
 #4219

awesome update. the new kernel gives me a +2% increase in mh/s. 
i have a suggestion.
i like how you can set the intensity to d and it changes the intensity to maintain desktop interactivity. but its just a little bit too intense for me in windows but is perfect while playing world of tanks (weird, i thought gaming would be more intense)  so i keep having to change the intensity depending on what i'm doing.

my suggestion is that you make an option to set the intensity to d -2  or d -1  or something. so the intensity is still dynamic but is 1 or 2 less (or more) than d.
some people might want to use d +1 or d +2. who knows?  for me, intensity of d -1 would be perfect.
Read what it says at startup when you run dynamic intensity... sigh.
--gpu-dyninterval <arg> Set the refresh interval in ms for GPUs using dynamic intensity

i've been playing with this and i guess i just don't understand how it works. when i set it to 20 it stays at 4 intensity and when i set it to 1 it goes back and forth between 3 and 4 intensity.  so there is a difference between --gpu-dyninterval 1 and --gpu-dyninterval 20 but its barely even noticeable and you can't use negative numbers.  i have a radeon 4850 btw
It's a fairly sensitive tuning tool. The difference between the default 7 and 1 should be quite significant to the interface. Don't get too hung up on what the intensity setting reported is since that's done once every 5 seconds but at dyninterval of 1 the value is updated 1000 times per second. 1 is very interactive desktop with lower hashrate, 1000 for example is higher hashrate less dynamic dekstop.
hmm, my friend with a 5870 is saying that --gpu-dyninterval does effect his intensity. but for me, it seems to do nothing at all. with gpu-dyninterval 1 i still have lag in windows but if i use intensity -2 the lag goes away and i only lose about 5mh/s.  i guess ill stick to just using static intensity for now

I just noticed you are using a 4850 to mine and drive the desktop.  That is kinda an edge case.  The computational power on the 4850 is so low (relatively speaking) that it is likely outside the bounds of any adjustment calculations. 
Vbs
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


View Profile
February 23, 2012, 02:57:33 PM
 #4220

Thanks for the explanations guys. I'll play a bit with the kernel when I have some free time, if I get any improvement I'll tell. I have experience with C but not much with OpenCL, but I'll probably have to get into it for my job...  Tongue
Pages: « 1 ... 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 [211] 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 ... 847 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!