Bitcoin Forum
June 17, 2024, 06:33:35 PM *
News: Voting for pizza day contest
 
   Home   Help Search Login Register More  
Warning: One or more bitcointalk.org users have reported that they strongly believe that the creator of this topic is a scammer. (Login to see the detailed trust ratings.) While the bitcointalk.org administration does not verify such claims, you should proceed with extreme caution.
Pages: [1]
  Print  
Author Topic: Why did x11 fail?  (Read 1025 times)
JY360 (OP)
Newbie
*
Offline Offline

Activity: 18
Merit: 0


View Profile
April 05, 2015, 04:37:12 PM
Last edit: April 05, 2015, 04:53:59 PM by JY360
 #1

Hey,

I'm very curious, why did the x11 algorithm suddenly fall into irrelevance?

Thanks.
bathrobehero
Legendary
*
Offline Offline

Activity: 2002
Merit: 1051


ICO? Not even once.


View Profile
April 05, 2015, 04:38:14 PM
 #2

What? Most altcoins use x11.

Not your keys, not your coins!
Joshuar
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


eidoo wallet


View Profile
April 05, 2015, 04:40:25 PM
 #3

X11 is just a "watered" down version of Scrypt, it's less memory intensive and isn't as efficient as Scrypt.

https://bitcointalk.org/index.php?topic=842446.0

I've seen a few threads full of people wondering and coming up with ideas as to why X11 runs cooler than Scrypt. The leading theory seems to be that because Scrypt is memory intensive, it causes more power use. This is incorrect; in fact, I believe the opposite may be true - that the memory accesses of Scrypt may make it run cooler than it otherwise would. X11 actually uses far more memory than it needs to, which causes it to be a lot easier on the core than it should - it's waiting for memory half the time. While it's nowhere near as memory-intensive as Scrypt, it's still slow for partially this reason. That's why it runs cooler - the compute capability isn't being used very much.

Along those same lines, it runs cool because of a lack of occupancy, causing there to be less concurrency. AMD calls them "concurrent waves" or "waves in-flight." If you'll see here (nsfw): https://ottrbutt.com/tmp/skein-analysis.png - you see Skein is using 73 registers, limiting it to three waves in flight. Many of the hashes in X11 have the same level or worse occupancy because of their VGPR usage. An analysis of a rewritten Skein that hasn't been optimized well yet you can see here (nsfw): https://ottrbutt.com/tmp/skein-analysis2.png - 51 registers, allowing another wave in flight, which is a big win. Additionally, drop three more registers from that, and you get yet another. This uses a lot more of the card's compute capabilities.

The X11 kernel also takes a hit because AMD is quite sensitive to code size - the code cache on GCN devices (7xxx and up) is 32kb - the Shavite implementation used in SGMiner 5 weighs in at 76,680 bytes. This might not be so bad if it doesn't use many registers - more waves in flight help you hide memory access times - but it's limited to 4 waves in flight by the local memory usage, and worse, to two waves in flight by the VGPR usage. Since I found reducing the VGPR usage enough to gain more waves in flight increased branching (decision making, something GPUs don't do very well) to a point where it was slower than the original, I instead worked to make it fit in the code cache. In the process, I increased the SGPR usage from 18 to 19, decreased the VGPR usage from 107 to 93, but most importantly, shrunk the code size to 29,820 bytes with a simpler, more elegant implementation.

JH needed the opposite approach - the SG 5 code comes to 52,796 bytes, over 32k - but in this case, the implementation is so fucked that it's using 91 VGPRs, limiting it to two concurrent waves. A rewritten, decent version drops that to 71 VGPRs, allowing three waves in flight. While the code size is 52,676 bytes - basically the same - the extra wave in flight helps hide memory access times, causing it to be faster.

There are more examples, but I think this serves to make the point, and put the question to rest.

██
█║█
║║║
║║║
█║█
██

                    ▄██▄
                  ▄██████▄
                ▄██████████
              ▄██████████▀   ▄▄
            ▄██████████▀   ▄████▄
          ▄██████████▀    ████████▄
         ██████████▀      ▀████████
         ▀███████▀   ▄███▄  ▀████▀   ▄█▄
    ▄███▄  ▀███▀   ▄███████▄  ▀▀   ▄█████▄
  ▄███████▄      ▄██████████     ▄█████████
  █████████    ▄██████████▀    ▄██████████▀
   ▀█████▀   ▄██████████▀    ▄██████████▀
     ▀▀▀   ▄██████████▀    ▄██████████▀
          ██████████▀    ▄██████████▀
          ▀███████▀      █████████▀
            ▀███▀   ▄██▄  ▀█████▀
                  ▄██████▄  ▀▀▀
                  █████████
                   ▀█████▀
                     ▀▀▀
e i d o o
██


                    ▄██▄
                  ▄██████▄
                ▄██████████
              ▄██████████▀   ▄▄
            ▄██████████▀   ▄████▄
          ▄██████████▀    ████████▄
         ██████████▀      ▀████████
         ▀███████▀   ▄███▄  ▀████▀   ▄█▄
    ▄███▄  ▀███▀   ▄███████▄  ▀▀   ▄█████▄
  ▄███████▄      ▄██████████     ▄█████████
  █████████    ▄██████████▀    ▄██████████▀
   ▀█████▀   ▄██████████▀    ▄██████████▀
     ▀▀▀   ▄██████████▀    ▄██████████▀
          ██████████▀    ▄██████████▀
          ▀███████▀      █████████▀
            ▀███▀   ▄██▄  ▀█████▀
                  ▄██████▄  ▀▀▀
                  █████████
                   ▀█████▀
                     ▀▀▀
██
█║█
║║║
║║║
█║█
██
JY360 (OP)
Newbie
*
Offline Offline

Activity: 18
Merit: 0


View Profile
April 05, 2015, 04:47:34 PM
 #4

Oh I see, okay. Thank you for the technical description.

So, at the moment what is the best all-round algorithm? In terms of ASIC-resistance, compute efficiency and whatnot. I know there's probably a difference in opinion here.
Eastwind
Hero Member
*****
Offline Offline

Activity: 896
Merit: 1000



View Profile
April 06, 2015, 08:37:37 AM
 #5

The algorithms used by Monero and boolberry.
MaxDZ8
Hero Member
*****
Offline Offline

Activity: 672
Merit: 500



View Profile
April 07, 2015, 06:56:11 AM
 #6

X11 is just a "watered" down version of Scrypt, it's less memory intensive and isn't as efficient as Scrypt.
You have a major misunderstanding of what you've quoted. I honestly cannot find any similarity between scrypt and Xn algos (and there's no such statement in your quote) but if there is, by the same metric we can state safely all algorithms are the same.

X11 has been very successful as far as I am concerned and it's still far from being "failed"; I'd be interested in hearing OP argumentation in that sense.

I'd agree long chain algos seem to be getting less attention lately. This is possibly because of at least a few reasons:
  • Besides Dash, nothing running long chained hashing seemed to be successful;
  • There are persistent rumors of X11 FPGA miners. Those rumors appear unsubstantiated to me but others can have their own opinion;
  • People insisting on putting GPU out of the picture (aka: let's just pretend 20 years of evolution in computing architectures never happened);
  • This "memory hard" thing. While being "memory hard" is a necessary requirement for ASIC resistance, Xn algos have no memory hardness at all so they get the boot;
  • From a purely theoretical point of view, chained hashing is nonsense (the hash of an hash is just as strong as the first hash), but I bet this is basically irrelevant in making it less trendy;
  • New algos are new so they are BETTAR!!!!eleven! What's wrong with you! We are obviously making progress here! It's not rocket science, just applied cryptography, even my dog could figure it out in the time of a walk in the park while being trained in playing the lyra!
  • ... ?
dmatthewstewart
Sr. Member
****
Offline Offline

Activity: 439
Merit: 250



View Profile
April 09, 2015, 09:42:04 PM
 #7

Is everyone still using SGminer or BFGminer? I'd like to start mining alts again. Its been a long time

dmatthewstewart
Sr. Member
****
Offline Offline

Activity: 439
Merit: 250



View Profile
April 10, 2015, 12:09:05 AM
 #8

Is everyone still using SGminer or BFGminer? I'd like to start mining alts again. Its been a long time

SGMiner, yes.

Thanks wolf. Actually, I saw your post on Reddit about the modded bins and thought I should get back into this. Im just trying to figure out why SGminer doesnt display when its running. Im also getting extremely high invalid shares. BTW, this is without your bins. IM just trying to get myself running again first; completely vanilla. Then I guess I will make adjustments and add mods

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!