Bitcoin Forum
June 24, 2024, 05:45:40 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Warning: One or more bitcointalk.org users have reported that they strongly believe that the creator of this topic is a scammer. (Login to see the detailed trust ratings.) While the bitcointalk.org administration does not verify such claims, you should proceed with extreme caution.
Pages: [1]
  Print  
Author Topic: [UPD][XPM] PrimeCoin Miner - CPU [Windows only][x86/x64L][pre-alpha][+18% perf.]  (Read 8619 times)
CoalChamber (OP)
Jr. Member
*
Offline Offline

Activity: 44
Merit: 10


Bitcoin Enthusiast


View Profile WWW
November 20, 2013, 06:34:16 PM
Last edit: March 27, 2018, 08:55:03 AM by CoalChamber
 #1

I started to work at PrimeCoin miner about 6.5 months ago, and here are some results.


Technically it is based on original jhPrimeminer 0.5 by jh00, but uses my own (written from scratch) HugeInteger numeric library, instead of GMP library. I did some small changes in jhPrimeminer code, including of replacement of GMP vars & calls by HugeInteger ones.

Of course, using of jhPrimeminer 0.5 as a "shell" for HugeInteger is a subject of changes in future, since this client has very restricted functionality: it supports only ypool.net as mining pool, and only XPT mining protocol... but you, probably, want more  Wink

HugeInteger library is also subject of changes - it is still unoptimized enough. Currently, it is just only 1.02 times faster in average (with 13.04.2014 update), than GMP library (this is applicable to 32-bit version only). So, there is a little progress... Smiley

Finally, there is a 64-bit version (legacy) of PrimeCoinMiner here!  Smiley Performance of 64-bit legacy version is about  1.56 times greater than performance of 32-bit version.

Note: "Legacy" (and letter "L" in the filename) means that source code, optimized for 32-bit architecture, was just recompiled as 64-bit application. For true 64-bit code, I will use the word "Native" and letter "N". Unfortunately, MSVC does not support inline assembly for 64-bit applications, so this "native" code is not available at this moment (but 32-bit inline assembly is OK), but will be available in the next release.

There are some performance numbers (just for 1 core):

System: Intel Pentium E5300 @2.6GHz (default clock)
jhPrimeminer v.0.5 r4 with GMP (x86):                                      3350-3420 "knumps"
PrimeCoinMiner-CPU [pre-alpha] with HugeInteger (x86):           4065-4110 "knumps" [for 13.04.2014 update (r9)]
PrimeCoinMiner-CPU [pre-alpha] with HugeInteger (x64 legacy): 6425-6455 "knumps" [for 13.04.2014 update (r9)]

The speed measures in "knumps" (kilonumbers per second), not in the PPS (primes per second).


Where you can download it:

Current PrimeCoinMiner's pre-alpha release has limited functionality and slow a bit (and also buggy), but nevertheless, you can still download it just for test drive  Wink

Official project's location at SourceForge: https://sourceforge.net/projects/primecoincpugpuminers/ (all old & new releases)

The eighth pre-alpha release binary (01.04.2014 (r8)) still available here (x86) and here (x64 legacy) (as separate SFX archives).

You can download the ninth pre-alpha release binary (13.04.2014 (r9)) here (both x86 and x64L in one SFX archive).


Get latest news about development via Twitter!

Yes, PrimeCoinMiner now has its own Twitter account! Join us for latest news!



How to use PrimeCoinMiner:

Same, as you have used original jhPrimeminer:

PrimeCoinMiner-prealpha-CPU-x86(x64L).exe -o http://ypool.net:10034 -u <YPoolUsername>.<worker_ID> -p <password>


Known problems/issues:

This release has a following bug:
Some shares are not accepted with "Share target too low" error.

I will try to fix this bug in one of the next releases.

Note:
Currently, PCM only fully supports "Default" mining mode. In this release, "Multipass" mode will work too, but there are no any optimizations for it.


Steps to improvement (before it could be implemented for GPU):

Since I wrote HugeInteger just from scratch, it requires some serious steps for its improvement...

Step 1. (Important step) Try to find as fastest algos, as it possible - [Partially finished...]
I have just two opportunities to check at this moment - one is the some fast multiplication method, and second is "tiling".

Step 2. Memory optimizations and assembler code optimizations - [In process...]
Looks like I need another compiler to compile HugeInteger library's inline assembly in 64-bit mode...

Step 3. Also porting it to x64 platform - [In process...]
x64 "native" version will be available in the next release.

Step 4. (Important step) Improve the sieve algo - [In process...]
Sieve now operates up to 40% faster in x86 version - great improvement! But sieve algo is still subject of research...

Step 5. (Miner improvement) Add support for other pools, protocols and solo mining... - [Later]
...or just change "shell" application  Grin

Step 6. Prepare application to be GPU-ready  Cheesy - [Later]

BitCrazy Faucet #1: http://bitcrazyfaucet1.cf

Brand new faucet rotator with high-paying faucets only: http://314pets.ml (inactive)
CoalChamber (OP)
Jr. Member
*
Offline Offline

Activity: 44
Merit: 10


Bitcoin Enthusiast


View Profile WWW
November 22, 2013, 01:06:04 PM
 #2

22.11.2013

New update is OUTSmiley Check the links!

Log:
!: Some improvements in long division = plus 26.5% - 37.5% to overall performance

BitCrazy Faucet #1: http://bitcrazyfaucet1.cf

Brand new faucet rotator with high-paying faucets only: http://314pets.ml (inactive)
CoalChamber (OP)
Jr. Member
*
Offline Offline

Activity: 44
Merit: 10


Bitcoin Enthusiast


View Profile WWW
November 24, 2013, 08:03:34 AM
 #3

Oops! It looks like download link for 2nd pre-alpha I gave, is incorrect. So I append an alternate one ("PrimeChainBuster", just a codename for second release)...


News:
Made some changes in Montgomery reduction algo, and it now runs MUCH faster! Just need to do some last tests and 3rd release will available soon.

BitCrazy Faucet #1: http://bitcrazyfaucet1.cf

Brand new faucet rotator with high-paying faucets only: http://314pets.ml (inactive)
Quartx
Hero Member
*****
Offline Offline

Activity: 1036
Merit: 504


Becoming legend, but I took merit to the knee :(


View Profile WWW
November 24, 2013, 09:26:06 AM
 #4

Has anyone used this?

CoalChamber (OP)
Jr. Member
*
Offline Offline

Activity: 44
Merit: 10


Bitcoin Enthusiast


View Profile WWW
November 24, 2013, 12:32:18 PM
 #5

24.11.2013

New great update is OUT now!  Cool Check the links in description!

Log:
!: Made some improvements to Montgomery reduction (SOS) = plus ~50% and above to overall performance!


Has anyone used this?

According to SF DL statistics - almost 100 people use this, I suppose;  Cheesy but they are too lazy to write smth. about their experience here  Grin Grin Grin

BitCrazy Faucet #1: http://bitcrazyfaucet1.cf

Brand new faucet rotator with high-paying faucets only: http://314pets.ml (inactive)
nonny12
Sr. Member
****
Offline Offline

Activity: 362
Merit: 250



View Profile
November 24, 2013, 10:05:50 PM
 #6

Eager to test this out, but ypool is intermittent. Thanks will post with results when I get it working. Since this is CPU only, it might run in parallel with some GPU miners.
skaffen
Full Member
***
Offline Offline

Activity: 124
Merit: 100


View Profile
November 25, 2013, 05:23:35 AM
 #7

Good luck to you Emilio  Wink

I'm not sure why you would bother with the 32-bit step, except to make it easier to implement?  Wouldn't 64 bit provide better performance?

Quote
HugeInteger library uses conception of "wide register", and thus could be only 32-bit

What does that mean?

BTC: 1PwXSJnmnCMKTEw8JqtjdDVoRUhtMExiNP    XPM: ANREvGk6CJYM5YWuW3eNankjGKS1ZYmAzP
CoalChamber (OP)
Jr. Member
*
Offline Offline

Activity: 44
Merit: 10


Bitcoin Enthusiast


View Profile WWW
December 04, 2013, 10:07:37 PM
 #8

05.12.2013

New update is OUT now!  Cool Check the links in description!

Log:
+: Miner now uses Montgomery multiplication algo + improved squaring  = plus ~23% and above to overall performance (in comparison to r3 pre-alpha release)!

BitCrazy Faucet #1: http://bitcrazyfaucet1.cf

Brand new faucet rotator with high-paying faucets only: http://314pets.ml (inactive)
CoalChamber (OP)
Jr. Member
*
Offline Offline

Activity: 44
Merit: 10


Bitcoin Enthusiast


View Profile WWW
December 24, 2013, 05:56:04 PM
 #9

24.12.2013

New update is OUT!  Cool Check the links in description!

Log:
!: Montgomery multiplication algo has changed from generic implementation to CIOS method (but there is a chance to supporting modified FIOS method instead of CIOS) = plus ~15% and above to overall performance (in comparison to r4 pre-alpha release)!

BitCrazy Faucet #1: http://bitcrazyfaucet1.cf

Brand new faucet rotator with high-paying faucets only: http://314pets.ml (inactive)
CoalChamber (OP)
Jr. Member
*
Offline Offline

Activity: 44
Merit: 10


Bitcoin Enthusiast


View Profile WWW
January 01, 2014, 11:25:50 PM
 #10

Happy New Year!

02.01.2014

New update is OUTCool Check the links in the first message!

Log:
!: Montgomery reduction method was replaced with optimized variant = plus ~28% and above to overall performance (in comparison to r5 pre-alpha release)!

BitCrazy Faucet #1: http://bitcrazyfaucet1.cf

Brand new faucet rotator with high-paying faucets only: http://314pets.ml (inactive)
GreekBitcoin
Legendary
*
Offline Offline

Activity: 1428
Merit: 1001


getmonero.org


View Profile WWW
January 02, 2014, 12:23:57 AM
 #11

this for Datacoin?
lmfsthefounder
Full Member
***
Offline Offline

Activity: 182
Merit: 100



View Profile
January 08, 2014, 04:24:08 AM
 #12

I never mined this coin before, can anyone explain to me why i am getting NO shares? pic related, my miner

primer-
Legendary
*
Offline Offline

Activity: 1092
Merit: 1000



View Profile
January 18, 2014, 03:40:30 PM
Last edit: January 18, 2014, 04:31:48 PM by primer-
 #13

I've been running it for 20 minutes and not a single 6ch has been found. Hp11 finds 6ch blocks every couple of seconds. Why is it so slow ?

Edit: 7ch block found after 45 min, however it was rejected by ypool with error :
01/18/14 - 08:28:36 - SHARE FOUND !!! (Th#: 0) --- DIFF: 7.258384 >6 >7
Invalid share
Reason: Share failed Primecoin's CheckPrimeProofOfWork()
PoW send: 998 bytes

CoalChamber (OP)
Jr. Member
*
Offline Offline

Activity: 44
Merit: 10


Bitcoin Enthusiast


View Profile WWW
February 23, 2014, 09:50:02 PM
 #14

24.02.2014

New update is OUTCool Check the links in the first message!

Log:
!: Modular exponentiation now uses fastest possible algo + some other performance improvements = plus ~8.7% and above to overall performance (in comparison to r6 pre-alpha release)!


Quote from: primer-
7ch block found after 45 min, however it was rejected by ypool with error :
01/18/14 - 08:28:36 - SHARE FOUND !!! (Th#: 0) --- DIFF: 7.258384 >6 >7
Invalid share
Reason: Share failed Primecoin's CheckPrimeProofOfWork()
PoW send: 998 bytes

Yes, I know about this problem, and will fix that in one of the next releases.

BitCrazy Faucet #1: http://bitcrazyfaucet1.cf

Brand new faucet rotator with high-paying faucets only: http://314pets.ml (inactive)
CoalChamber (OP)
Jr. Member
*
Offline Offline

Activity: 44
Merit: 10


Bitcoin Enthusiast


View Profile WWW
April 01, 2014, 06:49:45 PM
Last edit: April 01, 2014, 07:32:17 PM by CoalChamber
 #15

01.04.2014

New update is OUT! (and it is not the Fool's day joke) Cool Check the links in the first message!

Log:
!: Most speed-critical parts of HugeInteger library were rewritten in assembler.
!: 64-bit "legacy" version is now available = 1.53 times faster than 32-bit.
F: Bug, where shares were unable to pass the primality check, was fixed; but some shares are still rejecting by server with the "Share target too low" error message  Sad

BitCrazy Faucet #1: http://bitcrazyfaucet1.cf

Brand new faucet rotator with high-paying faucets only: http://314pets.ml (inactive)
CoalChamber (OP)
Jr. Member
*
Offline Offline

Activity: 44
Merit: 10


Bitcoin Enthusiast


View Profile WWW
April 13, 2014, 03:14:00 PM
 #16

13.04.2014

New update is OUT!  Cool Check the links in the first message!

Log:
!: Optimization of the sieve in x86 version gives plus ~15% and above to overall performance (in comparison to r8 pre-alpha release)!
!: Re-compilation of x64L code with ICC (instead of MSVC) gave additional ~18% of performance.

Join us in Twitter for latest news!

BitCrazy Faucet #1: http://bitcrazyfaucet1.cf

Brand new faucet rotator with high-paying faucets only: http://314pets.ml (inactive)
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!