mustyoshi
|
 |
July 09, 2013, 01:59:12 PM |
|
nMaxSieveSize = 1000000u ~130 - 230 pps nMaxSieveSize = 100000u ~230 - 400 pps nMaxSieveSize = 10000u ~ 350 - 800 pps Running the second one now, no idea if this will make me mine more blocks or none. Also not sure about the other thing you mentioned, goes above my head.  I'm not sure that reducing the sieve size is the best optimization, since by reducing it you also reduce the amount of potential numbers you are testing for the PoW... Who knows what that actually does to the potential of finding a correct PoW though. Running different Sieve values per thread rather than the current all threads same Sieve, could spread out that risk, even if it's just 1 out of 4 running at 10k and the other 3 at 1M There's an idea. Then run that setup for a day and figure out proportionally which sieve size resulted in the most correct PoWs.
|
|
|
|
eule
|
 |
July 09, 2013, 02:01:42 PM |
|
Who knows what that actually does to the potential of finding a correct PoW though.
Indeed, might go horribly wrong. But I didn't mine anything since 1800 blocks on that machine, nothing to lose.  Running different Sieve values per thread rather than the current all threads same Sieve, could spread out that risk, even if it's just 1 out of 4 running at 10k and the other 3 at 1M
Hmm, is it possible to run multiple instances of primecoind? Or how to assign different sieves to different threads, VMs?
|
|
|
|
illpoet
|
 |
July 09, 2013, 02:03:35 PM |
|
WTS Primecoin asic. 20,000 primespersec for just 1 watt of electricity. 10,000 btc. will ship sometime soon, i promise.
wait, too soon?
|
Tym's Get Rich Slow scheme: plse send .00001 to btc: 1DKRaNUnMQkeby6Dk1d8e6fRczSrTEhd8p ltc: LV4Udu7x9aLs28MoMCzsvVGKJbSmrHESnt thank you.
|
|
|
mpr20rt
|
 |
July 09, 2013, 02:05:10 PM |
|
Left my somewhat optimized version running over night and came back to 3 additional blocks mined. Getting roughly ~60 pps with 500K sieve size and basic optimization flags. Running on a single thread of a stock i3 2120.
Dude. Post it. Keeping optimized miners secret is a bad move for your rep and the coin. Don't make me get my own optimized one to post. Other than the sieve size change. I also opted to pass the blockheader hash through the functions, instead of making calls to block->GetHeaderHash() every time. I'm not sure what kind of improvements that actually made since I also changed the sieve size when I first did it. But it stops me from running double SHA256 like 3 times more than I used to. could you please post the codelines you've changed? cheers!
|
I'd like to thank eduffield and the other developers for this critically important evolution in virtual currency. DarkCoin is what bitcoin should have been. Some might call it "Bitcoin 2.0" but would do better by saying: "DarkCoin is digital cash." - Child Harold - February 28, 2014 https://bitcointalk.org/index.php?topic=421615.msg5424980#msg5424980
|
|
|
E.Sam
|
 |
July 09, 2013, 02:08:33 PM |
|
My first solo mined coin
Was starring at screen, wondering if anything would actually happen... and 18.77 XPM just appeared :]
Took me 6:30 hours on a iMac 3.4GH i7
Wow, that's a long time to be staring at the screen but whatever helps...  -tb- Was worth the excitement :]
|
|
|
|
bidji29
|
 |
July 09, 2013, 02:11:21 PM |
|
Any hope of a gpu version? At least with my current (still incomplete) comprehension of the algorithm, it requires a bignum library. With this in mind, I don't plan to do a GPU port on my spare time. Maybe later, after CPU is working, if someone is willing to sponsor the development time. LukeJr, do you have any hints for people getting started on where to look or what to look for? Are you running Linux? Well, the most obvious one was hashing the block header once per nonce instead of 1-3x... I think the rest of my optimizations required actually comprehending the code  Any idea how to "hashing the block header once per nonce instead of 1-3x..."
|
|
|
|
paulthetafy
|
 |
July 09, 2013, 02:12:22 PM |
|
Is it possible to have multiple primecoind instances on different machines use a single wallet? I thought that this could be achieved by using connect=<ip of server> for all of the slave primecoind instances, is that right?
|
|
|
|
ReCat
|
 |
July 09, 2013, 02:12:39 PM |
|
WTS Primecoin asic. 20,000 primespersec for just 1 watt of electricity. 10,000 btc. will ship sometime soon, i promise.
wait, too soon?
You forgot to say that you're BFL.
|
BTC: 1recatirpHBjR9sxgabB3RDtM6TgntYUW Hold onto what you love with all your might, Because you can never know when - Oh. What you love is now gone.
|
|
|
nmersulypnem
|
 |
July 09, 2013, 02:13:38 PM |
|
nMaxSieveSize = 1000000u ~130 - 230 pps nMaxSieveSize = 100000u ~230 - 400 pps nMaxSieveSize = 10000u ~ 350 - 800 pps Running the second one now, no idea if this will make me mine more blocks or none. Also not sure about the other thing you mentioned, goes above my head.  I'm not sure that reducing the sieve size is the best optimization, since by reducing it you also reduce the amount of potential numbers you are testing for the PoW... Who knows what that actually does to the potential of finding a correct PoW though. Is there only one correct PoW? How does the program choose where to start looking in the range? Is it random?
|
|
|
|
|
mustyoshi
|
 |
July 09, 2013, 02:15:19 PM |
|
could you please post the codelines you've changed?
cheers!
My lines are gonna be off since I also removed the printf statements that were inside the loops. The debug file isn't important to me anymore so eh. But here ya go, no changes to the algorithm itself yet, my knowledge of math isn't in this area. main.cpp 4610: uint256 phash = pblock->GetHeaderHash();
4611 - 4614: while ((phash < hashBlockHeaderLimit || CBigNum(phash) % bnHashFactor != 0) && pblock->nNonce < 0xffff0000){ pblock->nNonce++; phash = pblock->GetHeaderHash(); }
4644: CBigNum bnMultiplierMin = bnPrimeMin * bnHashFactor / CBigNum(phash) + 1; 4655: if (MineProbablePrimeChain(*pblock, bnFixedMultiplier, fNewBlock, nTriedMultiplier, nProbableChainLength, nTests, nPrimesHit,phash))
prime.h 10: static const unsigned int nMaxSieveSize = 500000u; 60: bool MineProbablePrimeChain(CBlock& block, CBigNum& bnFixedMultiplier, bool& fNewBlock, unsigned int& nTriedMultiplier, unsigned int& nProbableChainLength, unsigned int& nTests, unsigned int& nPrimesHit,uint256& headerhash);
prime.cpp 342: bool MineProbablePrimeChain(CBlock& block, CBigNum& bnFixedMultiplier, bool& fNewBlock, unsigned int& nTriedMultiplier, unsigned int& nProbableChainLength, unsigned int& nTests, unsigned int& nPrimesHit,uint256& headerhash)
360: psieve.reset(new CSieveOfEratosthenes(nMaxSieveSize, block.nBits, headerhash, bnFixedMultiplier)); 380: bnChainOrigin = CBigNum(headerhash) * bnFixedMultiplier * nTriedMultiplier;
|
|
|
|
PSL
Member

Offline
Activity: 166
Merit: 10
|
 |
July 09, 2013, 02:29:30 PM |
|
Do you know diff utility? Could you try to create a patch? $ diff -u main.cpp main.cpp.new
|
|
|
|
nmersulypnem
|
 |
July 09, 2013, 02:29:48 PM |
|
could you please post the codelines you've changed?
cheers!
My lines are gonna be off since I also removed the printf statements that were inside the loops. The debug file isn't important to me anymore so eh. But here ya go, no changes to the algorithm itself yet, my knowledge of math isn't in this area. ... If you're changing the max sieve size, I think you can also change the vector sizes on lines 102-104. ....but what's the point? You're obviously just proportionately reducing the chance of finding something...
|
|
|
|
mustyoshi
|
 |
July 09, 2013, 02:31:27 PM |
|
could you please post the codelines you've changed?
cheers!
My lines are gonna be off since I also removed the printf statements that were inside the loops. The debug file isn't important to me anymore so eh. But here ya go, no changes to the algorithm itself yet, my knowledge of math isn't in this area. ... If you're changing the max sieve size, I think you can also change the vector sizes on lines 102-104. ....but what's the point? You're obviously just proportionately reducing the chance of finding something... I believe people are having trouble running this on multi-core machines because of cache issues, reducing the amount of memory that goes into each thread might improve the issue? I don't have a 32 core machine to test on though. I just linked those vectors to my nMaxSieveSize, we'll see if it offers any improvement.
|
|
|
|
akspa
Newbie
Offline
Activity: 53
Merit: 0
|
 |
July 09, 2013, 02:33:18 PM |
|
Now we wait for an improved miner to be created. This is quite fun to watch and be a part of. My question now is how quickly the difficulty will go up, even if we're all on cpu miners for the foreseeable future?
|
|
|
|
maka
Newbie
Offline
Activity: 54
Merit: 0
|
 |
July 09, 2013, 02:34:43 PM |
|
Maybe the improvement should be tested with shorter chains on the testnet first. Or it takes days or probably weeks to show its effects...
|
|
|
|
shinkicker
|
 |
July 09, 2013, 02:38:51 PM |
|
My client is '24 hours behind' and taking a long time to sync? Anyone else see this issue (if it is an issue?)
|
|
|
|
Chemisist
Member

Offline
Activity: 99
Merit: 10
|
 |
July 09, 2013, 02:40:57 PM |
|
My client is '24 hours behind' and taking a long time to sync? Anyone else see this issue (if it is an issue?)
Restart it?
|
btc 1ChemaH12nRmd75M8BmPSiqd8x7B2wxFNF ltc LaWX7jgJDyQ2oFaQYJvo5kqC1e1KYPoCfd xpm Ab8NSgxHgGUJvHgSHYqMYBMWai6ZdsA91s
|
|
|
mustyoshi
|
 |
July 09, 2013, 02:41:40 PM |
|
Maybe the improvement should be tested with shorter chains on the testnet first. Or it takes days or probably weeks to show its effects...
Do you know a way to become your own chain? Timing how long it takes to create a blockchain x blocks long would be an interesting test of your miner's performance.
|
|
|
|
lucasjkr
|
 |
July 09, 2013, 02:43:33 PM |
|
I saw someone else ask, but didn't see the answer. I've got 4 or 5 computers mining, have found a couple of blocks so far. If they all had the same wallet.dat file, would all the coins be in the same wallet? Or is having the same wallet on different computers a bad thing? For BTC, I have different wallets on different computers, but when coins come in to one, I don't need to wait all this time for them to "mature", so when they arrive, i can send them to an offline wallet in a short period of time....
Since i'm stuck waiting and waiting for coins to mature before I can consolidate them, I'm wondering if i can just replicate the same wallet.dat across all the computers and have each computers coins appear in the same wallet?
Thanks!
|
|
|
|
|