Author

Topic: [XPM] [ANN] Primecoin Release - First Scientific Computing Cryptocurrency - page 151. (Read 688812 times)

sr. member
Activity: 287
Merit: 250
Found a CUDA implementation of the sieve here, too: http://www.mersenneforum.org/showthread.php?t=11900

Oh snap, things be going crazy.
Too bad the sieve is only half the problem.

If you can implement the primality tests, then we're talking.
full member
Activity: 213
Merit: 100
legendary
Activity: 1484
Merit: 1005
member
Activity: 99
Merit: 10
is there a way to optimize anything through windows?

I did a win64 build, did not make much of a difference on my older laptop cpu.  I could post it up if there is demand for it.



How did you make the windows build?  I had no luck and switched to linux...
sr. member
Activity: 406
Merit: 250
Hot damn. Started mining on a computer, and 10 seconds later I found a block! Yay!
legendary
Activity: 1065
Merit: 1077
Is there a way to set my client to use a custom port?  I think I'm getting blocked by my local firewall here...

You an put a line with 'rpcport=' in the config file.
sr. member
Activity: 574
Merit: 250
is there a way to optimize anything through windows?

I did a win64 build, did not make much of a difference on my older laptop cpu.  I could post it up if there is demand for it.

sr. member
Activity: 448
Merit: 250
People are probably block robbing on their optimized clients. Someone has got to release an optimized binary.

Yeah no friggin kidding. 40 hours at 79 PPS average and nothing. Seriously. I've asked 10 people so far to help me learn how to compile code to add my own personal flags... I'm not asking for answers, just the method to adjust some variables.

This is just as bad as instamining in my opinion. Pretty obvious by now that a 'select few' people are robbing this coin blind before most people can even find blocks. Same shit as as instamined crapcoins launched at 5 am pacific with botnets ready to go. Not sure if 100% intended by OP but releasing a coin that 'most people' take several days to even figure out how to mine is pretty damn weak.

Moving on.

Man...people are such entitled, whiny, little bitches. Do you not fucking understand variance? I am running a laptop with an i5, figured out how to edit in the optimizations and compile my first executable ever, left it running overnight, and have found three blocks already, one about twenty minutes ago. Not bad for two hours of work. Sounds like you're lazy or simple. Either way, I have no sympathy. You are experiencing probability and variance, not some grand kabbalah of more efficient miners stealing your profit.




BTW, I was reading somewhere that for the network to increase in difficulty from 7 to 7.2 would require a doubling of the computing power? Anyone know the veracity of this? If so, does that mean the computational power has roughly cubed since launch? Might explain some of this tinfoil hat block-poaching conspiracy theory garbage.
legendary
Activity: 1484
Merit: 1005
If anyone would like to give it a shot, there's an extremely optimized sieve of Eratosthenes implementation here:
https://primesieve.googlecode.com

From the software:
Quote
 The best sieving performance is achieved with a sieve size of your
  CPU's L1 data cache size (usually 32 or 64 KB) when sieving < 10^16
  and a sieve size of your CPU's L2 cache size above.

Quote
primesieve uses the segmented sieve of Eratosthenes with wheel factorization, this algorithm has a complexity of O (N log log N) operations and uses O (sqrt N) space.

Segmentation is currently the best known practical improvement to the sieve of Eratosthenes. Instead of sieving the interval [2, n] at once one subdivides the sieve interval into a number of equal sized segments that are then sieved consecutively. Segmentation drops the memory requirement of the sieve of Eratosthenes from O(N) to O(sqrt N). The segment size is usually chosen to fit into the CPU's fast L1 or L2 cache memory which significantly speeds up sieving. A segmented version of the sieve of Eratosthenes was first published by Singleton in 1969 [1], Bays and Hudson in [2] describe the algorithm in more detail.

From the source, the sieve size is small (1 * 10^6) by default if I'm interpreting it correctly.

I'm wondering if a massively parallel GPU implementation with higher memory bandwidth also benefiting from the reduced memory requirements will see much better performance.

Also,
Quote
primesieve generates the first 50,847,534 primes up to 10^9 in just 0.4 seconds on a single core of an Intel Core i7-920 2.66GHz, this is about 50 times faster than an ordinary C/C++ sieve of Eratosthenes implementation and about 10,000 times faster than trial-division. primesieve outperforms my older ecprime (fastest from 2002 to 2010) by about 30 percent and also substantially outperforms primegen the fastest sieve of Atkin implementation on the web. Here is a list of other fast sieve of Eratosthenes implementations.
full member
Activity: 238
Merit: 100
Is there a way to set my client to use a custom port?  I think I'm getting blocked by my local firewall here...
member
Activity: 84
Merit: 10
@tacotime

Any hints you want to share? Smiley


Compile with gcc 4.6.x+ x64 and these compilation flags:
Code:
-O3 -march=corei7-avx -mtune=corei7-avx
-O3 -march=native is enough/better.
-Ofast for the person who likes to live on the wild side with imprecise math.
-Ofast only really optimizes floating point (which primecoin lacks as far as I see), doesn't it?
member
Activity: 99
Merit: 10
Can anyone post some Nodes?  I'm having trouble with a few machines connecting to the network.  The node in the first page isn't replying to pings...

Thanks,
 


19:43:17

getpeerinfo


19:43:17

[
{
"addr" : "50.113.109.93:9911",
"services" : "00000001",
"lastsend" : 1373413396,
"lastrecv" : 1373413388,
"bytessent" : 113141,
"bytesrecv" : 142516,
"conntime" : 1373407288,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : false,
"startingheight" : 5582,
"banscore" : 0,
"syncnode" : true
},
{
"addr" : "37.59.68.144:9911",
"services" : "00000001",
"lastsend" : 1373413384,
"lastrecv" : 1373413387,
"bytessent" : 40687,
"bytesrecv" : 201611,
"conntime" : 1373407294,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : false,
"startingheight" : 5583,
"banscore" : 0
},
{
"addr" : "54.213.21.217:9911",
"services" : "00000001",
"lastsend" : 1373413388,
"lastrecv" : 1373413387,
"bytessent" : 83365,
"bytesrecv" : 119517,
"conntime" : 1373407294,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : false,
"startingheight" : 5583,
"banscore" : 0
},
{
"addr" : "69.141.45.70:9911",
"services" : "00000001",
"lastsend" : 1373413388,
"lastrecv" : 1373413388,
"bytessent" : 95056,
"bytesrecv" : 129730,
"conntime" : 1373407306,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : false,
"startingheight" : 5583,
"banscore" : 0
},
{
"addr" : "192.241.208.147:9911",
"services" : "00000001",
"lastsend" : 1373413388,
"lastrecv" : 1373413394,
"bytessent" : 120169,
"bytesrecv" : 125471,
"conntime" : 1373407312,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : false,
"startingheight" : 5583,
"banscore" : 0
},
{
"addr" : "74.101.104.123:9911",
"services" : "00000001",
"lastsend" : 1373413387,
"lastrecv" : 1373413397,
"bytessent" : 64671,
"bytesrecv" : 142429,
"conntime" : 1373407313,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : false,
"startingheight" : 5583,
"banscore" : 0
},
{
"addr" : "174.34.170.240:9911",
"services" : "00000001",
"lastsend" : 1373413384,
"lastrecv" : 1373413387,
"bytessent" : 57906,
"bytesrecv" : 88663,
"conntime" : 1373407313,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : false,
"startingheight" : 5583,
"banscore" : 0
},
{
"addr" : "68.13.31.242:60099",
"services" : "00000001",
"lastsend" : 1373413387,
"lastrecv" : 1373413351,
"bytessent" : 63211,
"bytesrecv" : 44896,
"conntime" : 1373410025,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : true,
"startingheight" : 5697,
"banscore" : 0
},
{
"addr" : "192.0.129.41:3867",
"services" : "00000001",
"lastsend" : 1373413387,
"lastrecv" : 1373413388,
"bytessent" : 68710,
"bytesrecv" : 78455,
"conntime" : 1373410089,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : true,
"startingheight" : 5700,
"banscore" : 0
},
{
"addr" : "142.134.202.191:52284",
"services" : "00000001",
"lastsend" : 1373413387,
"lastrecv" : 1373413388,
"bytessent" : 61410,
"bytesrecv" : 110674,
"conntime" : 1373410509,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : true,
"startingheight" : 3787,
"banscore" : 0
},
{
"addr" : "199.241.31.245:33849",
"services" : "00000001",
"lastsend" : 1373413388,
"lastrecv" : 1373413388,
"bytessent" : 66348,
"bytesrecv" : 43696,
"conntime" : 1373411309,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : true,
"startingheight" : 5747,
"banscore" : 0
},
{
"addr" : "87.121.78.84:63481",
"services" : "00000001",
"lastsend" : 1373413387,
"lastrecv" : 1373413388,
"bytessent" : 43194,
"bytesrecv" : 33013,
"conntime" : 1373411361,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : true,
"startingheight" : 5750,
"banscore" : 0
},
{
"addr" : "192.241.129.142:58921",
"services" : "00000001",
"lastsend" : 1373413387,
"lastrecv" : 1373413384,
"bytessent" : 39620,
"bytesrecv" : 22195,
"conntime" : 1373411369,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : true,
"startingheight" : 5751,
"banscore" : 0
},
{
"addr" : "192.81.212.113:9911",
"services" : "00000001",
"lastsend" : 1373413387,
"lastrecv" : 1373413387,
"bytessent" : 18538,
"bytesrecv" : 33488,
"conntime" : 1373411929,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : false,
"startingheight" : 5784,
"banscore" : 0
},
{
"addr" : "50.19.188.13:33252",
"services" : "00000001",
"lastsend" : 1373413387,
"lastrecv" : 1373413387,
"bytessent" : 35228,
"bytesrecv" : 14371,
"conntime" : 1373412255,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : true,
"startingheight" : 5795,
"banscore" : 0
},
{
"addr" : "54.213.28.6:48051",
"services" : "00000001",
"lastsend" : 1373413387,
"lastrecv" : 1373413388,
"bytessent" : 30915,
"bytesrecv" : 13803,
"conntime" : 1373412650,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : true,
"startingheight" : 5812,
"banscore" : 0
},
{
"addr" : "5.166.21.188:61155",
"services" : "00000001",
"lastsend" : 1373413395,
"lastrecv" : 1373413384,
"bytessent" : 27160,
"bytesrecv" : 6854,
"conntime" : 1373412665,
"version" : 70001,
"subver" : "/Satoshi:0.8.3/",
"inbound" : true,
"startingheight" : 5812,
"banscore" : 0
}
]

member
Activity: 79
Merit: 10
Can anyone post some Nodes?  I'm having trouble with a few machines connecting to the network.  The node in the first page isn't replying to pings...

Thanks,
 
sr. member
Activity: 287
Merit: 250
@tacotime

Any hints you want to share? Smiley


Compile with gcc 4.6.x+ x64 and these compilation flags:
Code:
-O3 -march=corei7-avx -mtune=corei7-avx
-O3 -march=native is enough/better.
-Ofast for the person who likes to live on the wild side with imprecise math.
is there a way to optimize anything through windows?
If you compile it yourself, all those flags can be set. Even if you managed to compile it through MSVC, the flags are probably similar.
full member
Activity: 244
Merit: 101
@tacotime

Any hints you want to share? Smiley


Compile with gcc 4.6.x+ x64 and these compilation flags:
Code:
-O3 -march=corei7-avx -mtune=corei7-avx
-O3 -march=native is enough/better.
-Ofast for the person who likes to live on the wild side with imprecise math.
is there a way to optimize anything through windows?
sr. member
Activity: 287
Merit: 250
@tacotime

Any hints you want to share? Smiley


Compile with gcc 4.6.x+ x64 and these compilation flags:
Code:
-O3 -march=corei7-avx -mtune=corei7-avx
-O3 -march=native is enough/better.
-Ofast for the person who likes to live on the wild side with imprecise math.
sr. member
Activity: 287
Merit: 250
7 hours of 120+ pps at 100k sieve and not a single block :/
sr. member
Activity: 462
Merit: 250
Ok!!... I think I got it... I think I have to sacrifice a virgin in a pyre meanwhile I performance a tribal dance in order to get more blocks... ok... so... I'll tell you the results in a while (when I can find a f***ing virgin... of course)  Grin

No joke, I had 12 servers on this (8 AMD phenom x4 965s and 4 Xeon 5xxx series...12 cores each) and didn't find a single frigging block.
hero member
Activity: 602
Merit: 500
@tacotime

Any hints you want to share? Smiley


Compile with gcc 4.6.x+ x64 and these compilation flags:
Code:
-O3 -march=corei7-avx -mtune=corei7-avx

Close to what i have been experimenting with, need to reinstall ubuntu first for the 64 part. Just noticed i have been sloppy earlier Smiley

Thanks
newbie
Activity: 17
Merit: 0
The client is using some sort of sieve to mine for primes. Is this so that you can check for chains starting at multiples of the origin using the same sieve?
When you hash to produce your origin why not just check for the chains using the verification tests ie the Fermat and Euler-Lagrange-Lifchitz tests? If the chain length is only seven then you would only have to perform the tests eight times for each origin or multiple of origin.
 Then you could double the origin and use the verification tests again or you could hash again for a different origin and use the verification tests again.
 Would this just simply be a slower method?
 Or have I misunderstood something?
 
 
Jump to: