Author

Topic: [ANN][RIC] Riecoin: constellations POW *CPU* HARD FORK successful, world record - page 163. (Read 685207 times)

full member
Activity: 141
Merit: 100
On multi-socket, if you have the memory for it, I'd run one process per socket, with N+1 threads on each socket (where N is the number of cores).

There's some coarse-grained sharing between threads.  I haven't found it to be a problem on a 2 socket machine, but on a huge AMD with 4 sockets and 8 different NUMA domains, things got bad.

Interesting that it works on windows.  Gives me hope that it's a mingw or something bug, not a "my use of critical sections or cond vars is wrong" bug.  This is *not* mingw, right?  Is there some way I should be doing a compile for windows peeps other than mingw on linux?  I'd love to provide an official windows binary.

Msys is a unix-like environment for windows that uses mingw compilers, so my build isn't a cross-compile.  (Still working fine for over 40 minutes now, seems very slightly faster with 4cores).  Hopefully the mingw linux cross-compile environment will be updated soon after gcc4.9 is released, which might fix whatever bug you're running into.

It's using only 30% of the memory that b14 does with the same -s setting ??
dga
hero member
Activity: 737
Merit: 511
Just compiled b15 with msys, using 64bit gcc4.8.2 and gmp6 -- 2 shares found so far in the 5 minutes it's been running on win7sp1.  I see that with b15 the startup message says "using 4+1 cpu threads".  I'm wondering how the threads should be pinned on multi-socket machines. Does it now have 4 worker threads and 1 synchronizer/memory-handling thread ? Or can the extra 1 thread be run on a separate processor than the workers without too much any penalty?  Will benchmark later to find out.

On multi-socket, if you have the memory for it, I'd run one process per socket, with N+1 threads on each socket (where N is the number of cores).

There's some coarse-grained sharing between threads.  I haven't found it to be a problem on a 2 socket machine, but on a huge AMD with 4 sockets and 8 different NUMA domains, things got bad.

Interesting that it works on windows.  Gives me hope that it's a mingw or something bug, not a "my use of critical sections or cond vars is wrong" bug.  This is *not* mingw, right?  Is there some way I should be doing a compile for windows peeps other than mingw on linux?  I'd love to provide an official windows binary.
dga
hero member
Activity: 737
Merit: 511
hi, Dave, thanks a lot for updated miner !
I tested b15 compiled on Linux, but it seems to be slower than b14. it says using 4+1 cpu threads - is that right ?
I tested different sieve sizes, but after couple minutes, everything was slower than b14 ... any idea what shall I try ?


Define slower.  If you're running with the default sieve on both b14 and b15, you will see fewer 2ch/s and more 4ch/s because of the sieve size increase from 500m to 900m.  Only 4ch matter.

What CPU?

Also, be sure you're comparing at the same diff.

Yes, to both previous posts:  it's using 5 threads if you say -t 4.  One of the threads is a master thread that runs at about 15% load.  It may be better or worse to use 1 fewer thread;  I haven't compared too extensively.
sr. member
Activity: 259
Merit: 250
hi, Dave, thanks a lot for updated miner !
I tested b15 compiled on Linux, but it seems to be slower than b14. it says using 4+1 cpu threads - is that right ?
I tested different sieve sizes, but after couple minutes, everything was slower than b14 ... any idea what shall I try ?
full member
Activity: 141
Merit: 100
Just compiled b15 with msys, using 64bit gcc4.8.2 and gmp6 -- 2 shares found so far in the 5 minutes it's been running on win7sp1.  I see that with b15 the startup message says "using 4+1 cpu threads".  I'm wondering how the threads should be pinned on multi-socket machines. Does it now have 4 worker threads and 1 synchronizer/memory-handling thread ? Or can the extra 1 thread be run on a separate processor than the workers without too much any penalty?  Will benchmark later to find out.
sr. member
Activity: 308
Merit: 250
Riecoin and Huntercoin to rule all!
Hey Gatra,

will the next client fix OpenSSL problem?
sr. member
Activity: 308
Merit: 250
Riecoin and Huntercoin to rule all!
I've updated the optimized miner to b15.  This version currently works only on Linux - I would greatly appreciate some help figuring out what I broke on windows/mingw!  I've left the b14 binaries for both linux and windows online.

Source and binaries are in the usual spots:

  ChangeLog:  https://github.com/dave-andersen/fastrie/blob/master/ChangeLog
  Source:  https://github.com/dave-andersen/fastrie
  Binaries:  http://www.cs.cmu.edu/~dga/crypto/ric/

The basic summary of the below:  It uses a lot less memory and is about 15% faster on most platforms.  Single-core machines will be unchanged, and on huge machines (64 core) you'll want to run multiple copies, one per processor slot, for best performance.  But for most of us on single or dual CPU platforms with 4-24 cores, this should produce a nice speedup.  As always, test for yourself.

b15 (2013-04-26)
   - Major internal architectural overhaul.  Sieving and
   primality testing are now divided among all threads
   instead of having each do a single operation.

   The current consequence of this is a good speedup on
   modest-core architectures while using substantially less
   memory.  4-16 core machines should be particularly happy with
   this upgrade.

   Sieves can now be up to -s 4100000000 (4 billion) in size, though
   this does not appear to be a particularly useful setting from
   a performance perspective.

   Single-core machines may suffer a 5-10% slowdown.  If this is
   prohibitive, let me know, but for now I plan to let it stay
   that way.

   Very large, slow core machines (e.g., 64 core AMD) are running
   MUCH slower.  Please either continue to use b14 or run multiple
   copies of the miner, one per physical CPU, using taskset.

   Windows users must use at least Vista (2006, NT 6.0) or later.  XP and
   Windows Server 2003 are no longer supported.


Excellent work and thanks for your contributions!
dga
hero member
Activity: 737
Merit: 511
I've updated the optimized miner to b15.  This version currently works only on Linux - I would greatly appreciate some help figuring out what I broke on windows/mingw!  I've left the b14 binaries for both linux and windows online.



Btw - you want to run this with a larger sieve.  Try various values, but I find that two billion works pretty well  ( -s 2000000000 )

I'm boosting the default from 500m to 900m to be conservative, but 2b is typically better.
dga
hero member
Activity: 737
Merit: 511
I've updated the optimized miner to b15.  This version currently works only on Linux - I would greatly appreciate some help figuring out what I broke on windows/mingw!  I've left the b14 binaries for both linux and windows online.

Source and binaries are in the usual spots:

  ChangeLog:  https://github.com/dave-andersen/fastrie/blob/master/ChangeLog
  Source:  https://github.com/dave-andersen/fastrie
  Binaries:  http://www.cs.cmu.edu/~dga/crypto/ric/

The basic summary of the below:  It uses a lot less memory and is about 15% faster on most platforms.  Single-core machines will be unchanged, and on huge machines (64 core) you'll want to run multiple copies, one per processor slot, for best performance.  But for most of us on single or dual CPU platforms with 4-24 cores, this should produce a nice speedup.  As always, test for yourself.

b15 (2013-04-26)
   - Major internal architectural overhaul.  Sieving and
   primality testing are now divided among all threads
   instead of having each do a single operation.

   The current consequence of this is a good speedup on
   modest-core architectures while using substantially less
   memory.  4-16 core machines should be particularly happy with
   this upgrade.

   Sieves can now be up to -s 4100000000 (4 billion) in size, though
   this does not appear to be a particularly useful setting from
   a performance perspective.

   Single-core machines may suffer a 5-10% slowdown.  If this is
   prohibitive, let me know, but for now I plan to let it stay
   that way.

   Very large, slow core machines (e.g., 64 core AMD) are running
   MUCH slower.  Please either continue to use b14 or run multiple
   copies of the miner, one per physical CPU, using taskset.

   Windows users must use at least Vista (2006, NT 6.0) or later.  XP and
   Windows Server 2003 are no longer supported.
sr. member
Activity: 308
Merit: 250
Riecoin and Huntercoin to rule all!
Update:

As promised, I've updated mini apps for Android on Google Play for Riecoin. I havn't published all of them yet because I ran across some problems and will wait to fix it until releasing it confidently on Google Play

Here is the first mini-app for Riecoin: https://play.google.com/store/apps/details?id=org.riecoinfoundation.paper

It is a paper wallet for android forged from bitcoin paper wallet.

This way, you don't need to go to a browser to generate an address. For people using phone to generate addresses, this is a great app to use for Riecoin!

It has been tested but as with all services, I cannot warranty anything. I can only promise to fix a bug if one is found.
sr. member
Activity: 308
Merit: 250
Riecoin and Huntercoin to rule all!
I think what can help a lot right now are community members posting on this thread daily to keep it on the first page constantly.
sr. member
Activity: 308
Merit: 250
Riecoin and Huntercoin to rule all!
This is excellent news. Getting Riecoin stablie will be the first step towards the moon.
dga
hero member
Activity: 737
Merit: 511
Hi Riecoiners!

I'm woking on a new client version that will include changes from Bitcoin 0.8.6 to 0.9.1 besides some Riecoin specific speed improvements. It's a lot of changes, and Bitcoin has changed so much that cherry-picking or rebasing commits results in lots on conflicts that have to be manually merged, that's why it's taking longer than expected, but the good news is that we'll have a much better client soon.
There will be a Windows installer, and also 32 and 64 bits versions for Windows. This means block verification will be much faster for Windows users with 64 bits CPUs and OSs.

Regarding the miners, keeping miners updated with all the latest optimizations is a lot of work so I'll focus on an xpt to stratum proxy.

gatra

Thanks Gatra!

Would the 0.9.1 include the improvements from dga's xptminer? Also, would there be an independent solo miner that incorporates dga's improvements? or does it make sense to have an xpt to stratum & GetBlockTemplate proxy?

I'd rather keep the miner embedded in the client as simple as possible, so it works as a reference of what does the miner calculate. An xpt to GetBlockTemplate proxy is a nice idea, I'll look into it

For b15, I've stripped out everything but the Riecoin part of xptMiner as a first step towards simplifying the codebase and making it easier to port.

There's another possibility - adding stratum support to my miner instead of having two different versions.  Let me think about this a little - I'm not sure off the top of my head how hard it will be.  Pulling in cgminer to get stratum would be horrible, but maybe there's another way these days?
hero member
Activity: 583
Merit: 505
CTO @ Flixxo, Riecoin dev
Hi Riecoiners!

I'm woking on a new client version that will include changes from Bitcoin 0.8.6 to 0.9.1 besides some Riecoin specific speed improvements. It's a lot of changes, and Bitcoin has changed so much that cherry-picking or rebasing commits results in lots on conflicts that have to be manually merged, that's why it's taking longer than expected, but the good news is that we'll have a much better client soon.
There will be a Windows installer, and also 32 and 64 bits versions for Windows. This means block verification will be much faster for Windows users with 64 bits CPUs and OSs.

Regarding the miners, keeping miners updated with all the latest optimizations is a lot of work so I'll focus on an xpt to stratum proxy.

gatra

Thanks Gatra!

Would the 0.9.1 include the improvements from dga's xptminer? Also, would there be an independent solo miner that incorporates dga's improvements? or does it make sense to have an xpt to stratum & GetBlockTemplate proxy?

I'd rather keep the miner embedded in the client as simple as possible, so it works as a reference of what does the miner calculate. An xpt to GetBlockTemplate proxy is a nice idea, I'll look into it
sr. member
Activity: 336
Merit: 250
Dave ran out of good names?  Roll Eyes
I get these when not using -std=gnu++11

Code:
xptMiner/riecoinMiner.cpp: In function ‘void riecoin_process(minerRiecoinBlock_t*)’:
xptMiner/riecoinMiner.cpp:512:37: warning: name lookup of ‘i’ changed
        mpz_mul_ui(z_temp2, z_temp2, i);
                                     ^
xptMiner/riecoinMiner.cpp:438:17: warning:   matches this ‘i’ under ISO standard rules
      for(uint32 i=1; i                 ^
xptMiner/riecoinMiner.cpp:486:17: warning:   matches this ‘i’ under old rules
        for (int i = 1; i < 6; i++) {
                 ^
sr. member
Activity: 308
Merit: 250
 

Not too sure about the performance hit .. but I was running some of my miners on Windows using Cygwin.

Um..is there a calculator somewhere  that estimates the number of coins/day? Is that even possible?

Also,how does running on Cygwin affect the rate? Is it slower or the same and do we need to install anything other than the preinstalled dependencies?
dga
hero member
Activity: 737
Merit: 511
is the source to your miner available,  i never found it but it is hard to find things here sometimes !!
And a heads-up update on the miner so people can plan ahead a bit - I'll be releasing the b15 source and Linux binaries on Saturday.  Maybe a 10-15% speed boost, but fairly platform specific.  Single-core performance will be unchanged, but 4-24 core systems should be happier.  There's a horrible slowdown on the one 64 core system I've tried it on, though, so people with huge machines will need to set up scripts that run multiple copies of it using numactl.


https://github.com/dave-andersen/fastrie
sr. member
Activity: 249
Merit: 250
And a heads-up update on the miner so people can plan ahead a bit - I'll be releasing the b15 source and Linux binaries on Saturday.  Maybe a 10-15% speed boost, but fairly platform specific.  Single-core performance will be unchanged, but 4-24 core systems should be happier.  There's a horrible slowdown on the one 64 core system I've tried it on, though, so people with huge machines will need to set up scripts that run multiple copies of it using numactl.

It's a huge change to the way the miner works and will probably introduce bugs, but I've been running it in testing on Linux for a while and it seems stable.  There's a bug there where my code is deadlocking on windows, which is why I haven't released it yet.  The most likely change is that I moved from code that uses only mutexes (windows CRITICAL_SECTION) to code that has both mutexes and condition variables.  Or there's some other bug that's only manifesting on windows.

In any event, if there are some windows-clueful programmers who are interested in taking a peek and sending me a bug report / patch / bop on the head, that'll let us get this in everyones hands regardless of operating system.  I'd be happy to throw in a bit of dev fee share or a RIC bounty if it seems appropriate.

I'll keep b14 binaries around, regardless, until it's proved stable for more people and there's a working version for windows.

This release should let the diff float comfortably above 1700.  It's designed in particular to be better at higher diffs.

  -Dave

Not too sure about the performance hit .. but I was running some of my miners on Windows using Cygwin.
sr. member
Activity: 308
Merit: 250
Riecoin and Huntercoin to rule all!
Just a reminder that the foundation is always accepting donations: 3Pvb65ey4a1oFRRRkTYH5WYvg8hoLEr1Tu
sr. member
Activity: 308
Merit: 250
Riecoin and Huntercoin to rule all!
Hi Riecoiners!

I'm woking on a new client version that will include changes from Bitcoin 0.8.6 to 0.9.1 besides some Riecoin specific speed improvements. It's a lot of changes, and Bitcoin has changed so much that cherry-picking or rebasing commits results in lots on conflicts that have to be manually merged, that's why it's taking longer than expected, but the good news is that we'll have a much better client soon.
There will be a Windows installer, and also 32 and 64 bits versions for Windows. This means block verification will be much faster for Windows users with 64 bits CPUs and OSs.

Regarding the miners, keeping miners updated with all the latest optimizations is a lot of work so I'll focus on an xpt to stratum proxy.

gatra
Very nice Cheesy Thanks for the update. Hopefully this could be finished soon.
Jump to: