Bitcoin Forum
May 27, 2024, 11:01:45 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 »
81  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 25, 2013, 09:36:08 AM
Difficulty is clearly on the rise again !

http://192.241.170.170/

Actually, the difficulty is CLEARLY stable at the moment. It has increased <5% over diff 9 in the last two weeks.

The optimizations made in HP10 may or may not increase block rate and hence the network may increase the difficulty, although HP10 has been out for a while now and the diff has barely budged, so it's not looking like we'll see an increase.

Well, I'm pretty impressed with the difficulty increase so far. You have to remember that it's scaling logarithmically which means that a 5% increase is pretty big at this point. HP10 is probably still being deployed so the difficulty will keep going up. Also ypool seems to be down which means the network may have lost quite a lot of power at the same time. If ypool really is down and difficulty is still going up, I'll be very impressed.
82  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 25, 2013, 09:01:37 AM
If you want to get an estimation of your block/day :
Take one minus the decimal part of the difficulty and multiply it with your chain/day.

block/day = (1 - dec(difficulty) ) * chainsperday

From your example :
    "chainsperday" : 0.28633614,
    "difficulty" : 9.68146938,
block/day = (1 - 0.68146938) * 0.28633614 = 0,091206828 = around one block every 11 days !



firstly, finally a forum search where i found what I was looking for Smiley

secondly..  since we dont use the whole number of the diff, can I assume that the chainsperday calculation takes into account the whole number?

The formula posted by SlyWax isn't accurate. He assumed that the decimal part would behave linearly while in reality it seems to behave logarithmically. The chains/day estimate does account for the integer part.
83  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 25, 2013, 08:54:42 AM
I start primecoin and it crashes...  Huh

Used to work fine and suddenly started acting out...replaced with the new hp10 and same thing.
Gonna have to fiddle some more with it. ARGH

I haven't seen a crash like that. Can you post your debug.log and primecoin.conf?
84  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 24, 2013, 11:21:50 PM
-hp10 released! Downloads are on the first page as usual.

Changes in -hp10:
 * Major rewrite of the sieve to support extending the sieve (originally implemented by jh000).
 * Added a new parameter 'sieveextensions' which controls how many times the sieve is extended.
 * Removed the problematic and unnecessary fast-division test.
 * Changed the value of nL1CacheElements to 224000 which is slightly faster (thanks to nushor on IRC).
 * The 'roundsievepercentage' parameter is gone. The round primorial is now automatically adjusted.
 * New RPC command 'listtopprimes' by Sunny.
85  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 24, 2013, 08:53:25 PM
ok I got the sources, thx !

I'm compiling it the same way that you showed on your Linux Compilation Guide. Is this the right way to do it ?

It should still work just fine. You just need to change in which directory you compile.
86  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 24, 2013, 08:38:24 PM
holy crap hp10 is 2x as fast as hp9

wow, are the sources available ? I'm not used to git :/

You can download a ZIP from github if you want.
87  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 24, 2013, 08:37:54 PM
Do you compile with make -f makefile.unix USE_UPNP=- or is there some optimization flags to set? A bunch of other miners and posts mention msse2 -O3 and some others I think.

Compiling the client with -O3, -msse2 or -march=native is not going to make a big difference. The sieve currently doesn't benefit from SSE2 or any other special instruction set. The default -O2 optimization level is more than enough.

GMP does benefit from compiler flags. The "configure" script that comes with it tries to detect the best settings if you compile it yourself.
88  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 24, 2013, 08:08:19 PM
"Roundsievepercentage" doesn't show on the mininginfo anymore.
It's replaced by "sieveextensions" (default value : 6 )

Any info on that?

"Roundsievepercentage" is gone. The round primorial is now adjusted automatically.

"Sieveextensions" is a new parameter which controls the new big optimization. jh00 discovered that the sieve can be "extended" efficiently to numbers that are two times bigger. That parameter determines how many times the sieve is extended (each further extension will produce numbers two times bigger than the previous extension). Bigger numbers will have a lower probability of hitting primes and prime chains but each extension is pretty cheap. Six extensions seemed like the optimal value for mainnet.
89  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 24, 2013, 06:26:06 PM
I pushed some big optimizations for -hp10 to github so that more people can test them.
90  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 21, 2013, 08:29:14 PM

AFAIK mtrlt's GPU miner is not out yet. So please stop spamming that link in these threads.
91  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 20, 2013, 03:12:23 PM
hey guys my wallet dose not update it dose not work at all no matter were i download it can some one help please i am using windows 7 64

It seems there may be issues with the seed nodes again. I'm putting up my own seed node. Try adding this to your primecoin.conf:
Code:
addnode=primeseed.muuttuja.org

Out of curiosity, how does one set up a seed node?

I simply added maxconnections=750 to the config file so that it will be able to handle plenty of connections. Beyond that you'll obviously want a static IP address and some bandwidth.

EDIT: It's not an official seed node. Those are hard-coded into the client. My seed node is more like a backup node.
92  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 20, 2013, 01:02:28 PM
hey guys my wallet dose not update it dose not work at all no matter were i download it can some one help please i am using windows 7 64

It seems there may be issues with the seed nodes again. I'm putting up my own seed node. Try adding this to your primecoin.conf:
Code:
addnode=primeseed.muuttuja.org
93  Alternate cryptocurrencies / Altcoin Discussion / Re: [XPM] CUDA enabled qt client miner for primecoins. Source code inside. WIP on: August 16, 2013, 11:16:26 AM
I think there might be a bug in hp-9 somewhere, so that the trial division doesn't work quite right in that version and sorts out wrong candidates. I will need to confirm this with the hp-9 sources without my changes, so that I'm sure I didn't introduce that bug. The CUDA trial division seems to be doing the right think and it doesn't find any candidates to discard, because if I understand it right, the sieve already did that. To put it in different words: this idea is likely a dead end.

I can confirm that fast division is buggy in hp9. It's also not needed in hp9 anymore because of Sunny's optimization. I'll remove the code in my next release. Thanks for spotting the bug.

So uhh... should we not be using HP9 then?

The fast-div test seems to be filtering out about 6% of candidates. HP9 should still be faster than HP8 despite that.
94  Alternate cryptocurrencies / Altcoin Discussion / Re: [XPM] CUDA enabled qt client miner for primecoins. Source code inside. WIP on: August 16, 2013, 06:51:20 AM
I think there might be a bug in hp-9 somewhere, so that the trial division doesn't work quite right in that version and sorts out wrong candidates. I will need to confirm this with the hp-9 sources without my changes, so that I'm sure I didn't introduce that bug. The CUDA trial division seems to be doing the right think and it doesn't find any candidates to discard, because if I understand it right, the sieve already did that. To put it in different words: this idea is likely a dead end.

I can confirm that fast division is buggy in hp9. It's also not needed in hp9 anymore because of Sunny's optimization. I'll remove the code in my next release. Thanks for spotting the bug.
95  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 10, 2013, 08:04:42 AM
It seems that 32-bit version of hp9 is still considerably slower than 64-bit version, at least on win7 x86 and x64 respectively. The difference is like 0.26cpd vs 0.38cpd on i3-540@3.6.
 mikaelh, are you going to do something about it? Would be great.

There's not much that can be done about it. I think it comes down to modular exponentiation being faster on x64.

Also as I have said before, haveged is probably not useful for mining. I don't see why the mining process would need entropy. It shouldn't really be detrimental either except for the fact that a few CPU cycles are being wasted.
96  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 08, 2013, 04:44:45 PM
The nL1CacheElements constant was not meant to be changed and there's a good reason for that. nL1CacheElements needs to be a multiple of 64 on a 64-bit platform (or a multiple of 32 on a 32-bit platform). Otherwise the sieve code will start misbehaving which seems to be what razibuzouzou is seeing. The sieve will start producing false candidates which will distort the metrics. The tests/h is the number of candidates produced by the sieve which is directly impacted. The chains/day estimate relies on tests/h being accurate so that will also be heavily impacted.

With the latest version, there could also be a small negative impact on block rate if the sieve is misbehaving. The false candidates will always be marked as bi-twin candidates. If it in reality is a candidate of another type, it will not get recognized properly.

Summary: Don't touch nL1CacheElements unless you know exactly what you're doing.

Mikael, thank you for the clarification. Indeed after checking the code I found the reason why it has to be a multiple of 64/32. It's a shame I didn't checked this before.
Anyway I've run some more tests and using the default settings of the primecoin client there was no significant gain for different nL1CacheElements, but in the moment the sieve size and the sieve percentage was raised  the nL1CacheElements size had more affect. For example with sievesize=2000000 and sievepercentage=50 a higher nL1CacheElements (1056000) speeds up the Wave by ~30%. (my CPU is i7)
In any case because 50% is probably not the optimal sievepercentage this measurement is less relevant.

BTW: I'm compiling the 64bit version of jhPrimeminer under Windows with Visual Studio, where the size of 'unsigned long' is 32bit and not 64bit like in Linux (GNU). I've tried replacing the "unsigned long" with uint64_t (unsigned long long)  but it makes the Wave function run slower ( ~15-25%). I'm thinking maybe it worth a try to replace the "unsigned long' to uint32 in the Wave() function in primecoin (HP9) client where the nL1CacheElements  is also used.
Does it makes sense what I'm talking about?

Well, it's good to know that long is always 32-bits in Visual Studio. I haven't really worked with that compiler. One unfortunate side-effect of that is being unable to pass 64-bit values directly to GMP/MPIR because the interface uses unsigned longs.

I think 64-bits integer are better for this part of the code because it performs logical operations on bits.
Thus, you process twice more bits with 64-bits integers than with 32-bits.
I think you may have a performance loss because Visual Studio does not vectorize 64-bits integers operations very well.

Yup, I also suspect that the Visual Studio compiler isn't optimizing properly there. But I haven't looked at the generated code.

Back to the nL1CacheElements constant. I am having a small (>3%) but clear performance improvement with 256000 (chainsperday increases and primesperday is preserved).
Tested and confirmed on two different architectures (AMD & Intel).
I know it's micro-optimization garbage (sorry!), but Mikaelh, does this value sound good to you ?

Well, I did check that most Intel processors have a 32 kB L1 data cache while AMD processors typically have a 64 kB data cache. 256000 is pretty much pushing the L1 cache to its limits on Intel CPUs. If it also shows good performance in my testing, I will probably incorporate that change. The annoying issue with 256000 is that it doesn't divide 1M (sieve size) evenly.

I have also considered discovering the L1 cache size automatically and adjusting the parameters based on that. The problem with that is that I don't have a lot of CPUs to test on.
97  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 08, 2013, 09:00:44 AM
The nL1CacheElements constant was not meant to be changed and there's a good reason for that. nL1CacheElements needs to be a multiple of 64 on a 64-bit platform (or a multiple of 32 on a 32-bit platform). Otherwise the sieve code will start misbehaving which seems to be what razibuzouzou is seeing. The sieve will start producing false candidates which will distort the metrics. The tests/h is the number of candidates produced by the sieve which is directly impacted. The chains/day estimate relies on tests/h being accurate so that will also be heavily impacted.

With the latest version, there could also be a small negative impact on block rate if the sieve is misbehaving. The false candidates will always be marked as bi-twin candidates. If it in reality is a candidate of another type, it will not get recognized properly.

Summary: Don't touch nL1CacheElements unless you know exactly what you're doing.
mikeal, what about using values that ARE a multiple of both 64 and 32 then?  Is that safe and will it yield improved performance if done correctly?

If you use multiples of 64 (or 32), then that should work in theory. I haven't really tested that exhaustively though. I would expect minimal gains from adjusting it in most cases.
98  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 08, 2013, 08:42:35 AM
The nL1CacheElements constant was not meant to be changed and there's a good reason for that. nL1CacheElements needs to be a multiple of 64 on a 64-bit platform (or a multiple of 32 on a 32-bit platform). Otherwise the sieve code will start misbehaving which seems to be what razibuzouzou is seeing. The sieve will start producing false candidates which will distort the metrics. The tests/h is the number of candidates produced by the sieve which is directly impacted. The chains/day estimate relies on tests/h being accurate so that will also be heavily impacted.

With the latest version, there could also be a small negative impact on block rate if the sieve is misbehaving. The false candidates will always be marked as bi-twin candidates. If it in reality is a candidate of another type, it will not get recognized properly.

Summary: Don't touch nL1CacheElements unless you know exactly what you're doing.
99  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 06, 2013, 08:40:09 AM
I found hyper threading adds no perf increase on my end...so I run 4 threads on a sandy bridge i7 and it's faster.

Are you running Windows? If so, which version? Hyper threading performance depends on the CPU scheduler and lots of other things. The CPU scheduler in Windows isn't that great in my experience but I haven't witnessed it actually being detrimental.

I see something similar to this on my end right now but not that bad - On my 3930k I can set genproclimit to 6 and I get 2517 pps and 1.2 cpd and with genproclimit set to 12 I get 2900 pps and 1.4 cpd. Something seems wrong with this right now. I also set genproclimit to 1 and I'm getting about 450 pps/ 0.23 cpd. If the performance scaled linearly I would be getting ~5kpps/2.7 or 2.8 cpd. Yes, I know that I should never expect anything like this but it seems like the performance scales linearly up until hyperthreading is involved and then it steeply drops off.

Edit: I just tried a few values between 6 and 12 and I'm getting at most a 100 pps increase in performance from one to another, and in some cases no significant increase whatsoever (going from 9 to 10 increased from 2784 to 2832).

That seems pretty much normal to me. The idea behind hyper threading is that the CPU core switches threads when one thread is blocked waiting for memory. My code is nearly always hitting the L1 or L2 caches which keeps the CPU core busy at all times even with one thread. So in theory you only need enough threads to keep all the physical cores busy.
100  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [XPM] [ANN] Primecoin High Performance on: August 05, 2013, 11:06:42 PM
So with HP9 on a 24 core 1.7GHz AMD system I was getting 8300PPS, I just upgraded to a 32 Core 2.2GHz set-up and I'm getting 7100PPS, Anyone have experience with 32 core systems? What setting might I need to adjust?
You appear to have uncovered an issue with the miner with high thread counts - I get almost no performance gain when using more than 16 threads on a 32 core system. 

mikael / sunny any thoughts where this bottleneck might be?

Well, as far as I know there are 2 bottlenecks when it comes to scaling out:

1) Block generation. Only 1 thread at a time can be generating new blocks. This was already mostly fixed by Sunny.

2) Memory allocation. The default malloc implementation uses mutexes internally which reduces performance with multiple thread trying to allocate memory. This shouldn't be an issue with my client because I have reduced the amount of memory allocations needed.

So as far as the code is concerned there shouldn't really be any bottlenecks. If the caches on the CPU are completely inadequate, some performance issues would start appearing. But as far as I know, most server CPUs have pretty big caches.

And of course if you have a VPS, remember that you may be sharing the CPU time with other people's instances.
Pages: « 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!