cabin
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 02:31:26 PM |
|
Looking at the code, unless there is a bug in the algorithm that is say rejecting 10.5 length chains at the moment, it *should* behave linearly. Diff 9.999 should be same as 10, but but from the charts it is obviously not. I think the distribution of the Fermat's remainder is skewed. Sunny mentioned that briefly in his paper too. The skewed distribution is probably caused by the repeated exponentiation done during the Fermat's test. I wonder if this is because all the current miners are optimized to sieve for 9 chains at the moment? I wonder if the the difficulty would look more linear if miners switch to sieving for 10 chains now that most 9 chains won't solve a block. I would love for a -sievelength param to be added to the build that would sieve for chains of a set length. I would do it myself and experiment but I am having some difficulty building the project on windows, and I suspect it is at least as hard as bitcoin to build.
I can build the ypool miner easily and from those experiments the sieve length is quite effective at optimizing for chains of a desired length. I'm a bit doubtful that switching the target difficulty to 10 would be beneficial at this point. It might become beneficial when difficulty is around 9.9 but I haven't really investigated that. Also it's good to remember that optimal mining parameters are probably not the same for ypool and solo mining. Ypool miners are concerned with maximizing the value of their shares. Previously that system was exploited using shorter chains. Now that the system was changed radically it could be possible to exploit it with longer chains. The building procedure for the stock Primecoin client should be the same as for Bitcoin. For my version you also need libgmp on top of that. Would a sieve for 10 chain work just as well for 9 chains? Or would it be less efficient for 9 chains than a 9 chain sieve? Or does constructing a sieve for 10 chains take that much longer that it would not be worth it? It is less efficient for 9 and all lower chains, so it is certainly a bad idea unless the diff has a high fraction.
|
|
|
|
bidji29
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 03:08:42 PM |
|
If you look at the blockrate when the diff pass a new integer. (only happenend 2 times) You see there is no increase, so i don't think 9.996 is more difficult than 10.
|
|
|
|
cabin
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 03:39:06 PM Last edit: August 25, 2013, 04:15:23 PM by cabin |
|
The building procedure for the stock Primecoin client should be the same as for Bitcoin. For my version you also need libgmp on top of that.
I think I'm close to being able to build it. I've gone through all the steps from here: https://bitcointalk.org/index.php?topic=149479.0But I have a problem halfway through the compile with primecoin/src/compat.h c:\mingw\bin\../lib/gcc/mingw32/4.7.2/../../../../include/ws2tcpip.h:38:2: error : #error "ws2tcpip.h is not compatible with winsock.h. Include winsock2.h instead." In file included from compat.h:18:0, from netbase.h:11, from net.h:19, from rpcnet.cpp:7: I tried commenting out: //#include <mswsock.h> in compat.h but that didn't work. But this worked: Edit: C:\MinGW\include\windows.h and comment out this part around line 91 /* __USE_W32_SOCKETS is a __CYGWIN__ guard */ /* Ryan #if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__)) #include <winsock.h> #endif */ Edit2: Just saw your advice mikaelh, thanks that looks like a good fix too!
|
|
|
|
mikaelh (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 04:07:29 PM |
|
The building procedure for the stock Primecoin client should be the same as for Bitcoin. For my version you also need libgmp on top of that.
I think I'm close to being able to build it. I've gone through all the steps from here: https://bitcointalk.org/index.php?topic=149479.0But I have a problem halfway through the compile with primecoin/src/compat.h c:\mingw\bin\../lib/gcc/mingw32/4.7.2/../../../../include/ws2tcpip.h:38:2: error : #error "ws2tcpip.h is not compatible with winsock.h. Include winsock2.h instead." In file included from compat.h:18:0, from netbase.h:11, from net.h:19, from rpcnet.cpp:7: I tried commenting out: //#include <mswsock.h> in compat.h but that didn't work. I think I had a similar issue with mingw64. Try adding -DWIN32_LEAN_AND_MEAN to the compiler flags. I think the cause of the issue was some boost header file including windows.h. If WIN32_LEAN_AND_MEAN is not defined, then winsock.h would also be included.
|
|
|
|
elvisrene
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 04:50:29 PM |
|
mikaelh i cant sync wallet it shows no connections i have tried all do i need to do a config file in appdata/primecoin
|
|
|
|
elvisrene
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 04:54:24 PM |
|
![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fi.imgur.com%2FKOvop6q.png&t=665&c=tOioKksy6EfMjA) it maintains it self in this state
|
|
|
|
mikaelh (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 04:59:21 PM |
|
mikaelh i cant sync wallet it shows no connections i have tried all do i need to do a config file in appdata/primecoin
My best guess at this point is that you're behind a strict firewall/proxy. If it's your own firewall, adjust it. If not, there's not much that can be done about it.
|
|
|
|
wibtc
Newbie
Offline
Activity: 32
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 05:05:20 PM |
|
What's the best sievesize for hp 10?
|
|
|
|
Aggrophobia
Legendary
Offline
Activity: 1078
Merit: 1001
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 05:13:07 PM |
|
mikaelh i cant sync wallet it shows no connections i have tried all do i need to do a config file in appdata/primecoin
My best guess at this point is that you're behind a strict firewall/proxy. If it's your own firewall, adjust it. If not, there's not much that can be done about it. Q: How do I solve a problem with the client not being able to synchronize or connect to any nodes? A: Try adding this line to your primecoin.conf file: Code: seednode=primeseed.muuttuja.org And it will work
|
|
|
|
bidji29
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 05:20:29 PM |
|
I tried changing the Sieveextensions. Chainperday is lower with value lower than 6. But I get similar result with 6, 8, 10 and even 12. (highter than that and it crash in a few second)
Is there any purpose to rise this value or the chainperday is telling the truth?
|
|
|
|
elvisrene
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 06:15:55 PM |
|
mikaelh i cant sync wallet it shows no connections i have tried all do i need to do a config file in appdata/primecoin
My best guess at this point is that you're behind a strict firewall/proxy. If it's your own firewall, adjust it. If not, there's not much that can be done about it. Q: How do I solve a problem with the client not being able to synchronize or connect to any nodes? A: Try adding this line to your primecoin.conf file: Code: seednode=primeseed.muuttuja.org And it will work you see theres also a problem i know where to do the config file i just dont know what to put there
|
|
|
|
elvisrene
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 06:21:36 PM |
|
mikaelh,Aggrophobia
Thanks guys for helping me out +1 for both of you got it working
|
|
|
|
cabin
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 10:07:10 PM Last edit: August 25, 2013, 10:26:14 PM by cabin |
|
The building procedure for the stock Primecoin client should be the same as for Bitcoin. For my version you also need libgmp on top of that.
I think I'm close to being able to build it. I've gone through all the steps from here: https://bitcointalk.org/index.php?topic=149479.0But I have a problem halfway through the compile with primecoin/src/compat.h c:\mingw\bin\../lib/gcc/mingw32/4.7.2/../../../../include/ws2tcpip.h:38:2: error : #error "ws2tcpip.h is not compatible with winsock.h. Include winsock2.h instead." In file included from compat.h:18:0, from netbase.h:11, from net.h:19, from rpcnet.cpp:7: I tried commenting out: //#include <mswsock.h> in compat.h but that didn't work. I think I had a similar issue with mingw64. Try adding -DWIN32_LEAN_AND_MEAN to the compiler flags. I think the cause of the issue was some boost header file including windows.h. If WIN32_LEAN_AND_MEAN is not defined, then winsock.h would also be included. I can build primecoind, however the performance of my build is bad. There must be some compiler flags or other things that matter a lot. Here are rough results though: mikaelh build, 9 chain sieve, chainsperday: 0.76 (Blocks per day: 0.152) cabin build, 9 chain sieve, chainsperday: 0.40 (Blocks per day: 0.08) cabin build, 10 chain sieve, chainsperday: 0.15 (Blocks per day: 0.15) So there is a huge hit for sure to start sieving for 10 chains, but in terms of blocks per day it might be worth it.
|
|
|
|
Trillium
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 10:40:21 PM |
|
Random tip if you have more than one machine and if your client wont sync. Just use addnode <a local IP address or hostname> add And it will begin to sync within a few seconds. Port not required in my experience..
|
BTC:1AaaAAAAaAAE2L1PXM1x9VDNqvcrfa9He6
|
|
|
mikaelh (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 10:47:35 PM |
|
The building procedure for the stock Primecoin client should be the same as for Bitcoin. For my version you also need libgmp on top of that.
I think I'm close to being able to build it. I've gone through all the steps from here: https://bitcointalk.org/index.php?topic=149479.0But I have a problem halfway through the compile with primecoin/src/compat.h c:\mingw\bin\../lib/gcc/mingw32/4.7.2/../../../../include/ws2tcpip.h:38:2: error : #error "ws2tcpip.h is not compatible with winsock.h. Include winsock2.h instead." In file included from compat.h:18:0, from netbase.h:11, from net.h:19, from rpcnet.cpp:7: I tried commenting out: //#include <mswsock.h> in compat.h but that didn't work. I think I had a similar issue with mingw64. Try adding -DWIN32_LEAN_AND_MEAN to the compiler flags. I think the cause of the issue was some boost header file including windows.h. If WIN32_LEAN_AND_MEAN is not defined, then winsock.h would also be included. I can build primecoind, however the performance of my build is bad. There must be some compiler flags or other things that matter a lot. Here are rough results though: mikaelh build, 9 chain sieve, chainsperday: 0.76 (Blocks per day: 0.152) cabin build, 9 chain sieve, chainsperday: 0.40 (Blocks per day: 0.08) cabin build, 10 chain sieve, chainsperday: 0.15 (Blocks per day: 0.15) So there is a huge hit for sure to start sieving for 10 chains, but in terms of blocks per day it might be worth it. Did you compile a 32-bit or 64-bit version? Where did you get your libgmp?
|
|
|
|
cabin
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 11:09:40 PM |
|
The building procedure for the stock Primecoin client should be the same as for Bitcoin. For my version you also need libgmp on top of that.
I think I'm close to being able to build it. I've gone through all the steps from here: https://bitcointalk.org/index.php?topic=149479.0But I have a problem halfway through the compile with primecoin/src/compat.h c:\mingw\bin\../lib/gcc/mingw32/4.7.2/../../../../include/ws2tcpip.h:38:2: error : #error "ws2tcpip.h is not compatible with winsock.h. Include winsock2.h instead." In file included from compat.h:18:0, from netbase.h:11, from net.h:19, from rpcnet.cpp:7: I tried commenting out: //#include <mswsock.h> in compat.h but that didn't work. I think I had a similar issue with mingw64. Try adding -DWIN32_LEAN_AND_MEAN to the compiler flags. I think the cause of the issue was some boost header file including windows.h. If WIN32_LEAN_AND_MEAN is not defined, then winsock.h would also be included. I can build primecoind, however the performance of my build is bad. There must be some compiler flags or other things that matter a lot. Here are rough results though: mikaelh build, 9 chain sieve, chainsperday: 0.76 (Blocks per day: 0.152) cabin build, 9 chain sieve, chainsperday: 0.40 (Blocks per day: 0.08) cabin build, 10 chain sieve, chainsperday: 0.15 (Blocks per day: 0.15) So there is a huge hit for sure to start sieving for 10 chains, but in terms of blocks per day it might be worth it. Did you compile a 32-bit or 64-bit version? Where did you get your libgmp? I got the source from here and compiled it myself: http://ftp://ftp.gnu.org/gnu/gmp/gmp-5.1.2.tar.bz2I'm embarrassed to say to I don't know if it is 32 or 64 bit.. it is whatever the default is in github ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) These build scripts aren't really my thing.. is it easy to find out and change? I've got -march=i686 in the CFLAGS but that was to fix something else and I don't think that's it.
|
|
|
|
mikaelh (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2013, 11:16:16 PM |
|
Well, you probably compiled a 32-bit version. I checked the instructions you linked. They are pointing towards the 32-bit version of MinGW. You need a MinGW-w64 compiler to produce 64-bit binaries. I haven't installed that on Windows so I can't really help you there.
|
|
|
|
cabin
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 26, 2013, 12:30:29 AM Last edit: August 26, 2013, 01:40:52 AM by cabin |
|
Well, you probably compiled a 32-bit version. I checked the instructions you linked. They are pointing towards the 32-bit version of MinGW. You need a MinGW-w64 compiler to produce 64-bit binaries. I haven't installed that on Windows so I can't really help you there.
ya both GMP and the whole project had to be using 32 bit compilers. GMP doesn't want to compile using the 64 bit compilers either.. so I guess it is not simple to switch at all. When you make a win64 binary do you just make it from Linux somehow? If someone is knowledgeable about GMP on win64 this is the type of errors I get: configure: summary of build options: Version: GNU MP 5.1.2 Host type: x86_64-w64-mingw32 ABI: 64 Install prefix: /c/data/miner2/deps/gmp Compiler: gcc -std=gnu99 Static libraries: yes Shared libraries: no
/c/data/miner2/deps/gmp-5.1.2 $ make make all-recursive make[1]: Entering directory `/c/data/miner2/deps/gmp-5.1.2' Making all in tests make[2]: Entering directory `/c/data/miner2/deps/gmp-5.1.2/tests' Making all in . make[3]: Entering directory `/c/data/miner2/deps/gmp-5.1.2/tests' make[3]: Nothing to be done for `all-am'.
...
Making all in cxx make[3]: Entering directory `/c/data/miner2/deps/gmp-5.1.2/tests/cxx' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/c/data/miner2/deps/gmp-5.1.2/tests/cxx' make[2]: Leaving directory `/c/data/miner2/deps/gmp-5.1.2/tests' Making all in mpn make[2]: Entering directory `/c/data/miner2/deps/gmp-5.1.2/mpn' /bin/sh ../libtool --tag=CC --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_`echo fib_table | sed 's/_$//'` -O2 -pedantic -fomit-frame-pointer -m64 -mtune=k8 -march=k8 -c -o fib_table.lo fib_t able.c libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I .. -DOPERATION_fib_table -O2 -pedantic -fomit-frame-pointer -m64 -mtune=k8 -marc h=k8 -c fib_table.c -o fib_table.o In file included from ../gmp-impl.h:135:0, from fib_table.c:4: ../fib_table.h:4:1: warning: data definition has no type or storage class [enabl ed by default] Error, error, this data is for 32 bits
mpir DOES compile in x64 and is similar.. I'll see if that can be substituted...
|
|
|
|
BChydro
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 26, 2013, 06:02:54 AM |
|
I run 3 computers with shitty Athlon II X4 640s and together they seem to produce a block every 2 days using the latest hp client. Individually they seem to out perform my main computer with a mid level sandy bridge i5. Are AMD CPUs better for xpm mining?
|
|
|
|
Trillium
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 26, 2013, 10:13:02 AM |
|
I run 3 computers with shitty Athlon II X4 640s and together they seem to produce a block every 2 days using the latest hp client. Individually they seem to out perform my main computer with a mid level sandy bridge i5. Are AMD CPUs better for xpm mining?
Probably not. I will leave it to OP to confirm support for various instruction sets / types. A lot of people think an AMD is 'better' than a intel CPU because they arn't aware that AMD CPUs complete more computational operations per cycle than intel CPUs. This allows them to do 'more work' in any period of time compared to a intel CPU, even one that has a faster frequency (GHz). For example, what do you think would be faster: A server with one dual-core AMD Opteron CPU @ 2.4 GHz or, A server with two physical intel Xeon CPUs, each single core, with hyper threading @ 3.6 GHz As it turns out, the AMD will GREATLY outperform the intel CPUs. --- In reality even comparing frequency is meaningless now. There are other important differences like bus / HT speed, cache size and allotment (shared or dedicated between cores etc). I would recommend this page: http://www.cpubenchmark.net/cpu_list.phpas a reasonably good source of estimates for comparing CPUs. Be careful though: if you must make an important comparison (eg when buying things) then click the link of each CPU listed and check that the score is a good average of several submitted scores. CPUs with only a handful - or worse only one - submitted score can have huge score variances (20%+) and mislead you.
|
BTC:1AaaAAAAaAAE2L1PXM1x9VDNqvcrfa9He6
|
|
|
|