New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add algo - yespower (cryply coin) #155

Open
wants to merge 24 commits into
base: master
from

Conversation

Projects
None yet
4 participants
@bubasik

bubasik commented Jul 3, 2018

Add algo - yespower (cryply coin)

Tested on two pool - ok (http://cryply-pool.ml, http://cpu-pool.com)

Yespower algo - https://github.com/cryply/yespower

And compile under windows.

bubasik added some commits Jul 3, 2018

@solardiz

This comment has been minimized.

Show comment
Hide comment
@solardiz

solardiz Jul 3, 2018

FYI, the rename of SHA-256 file and functions should be totally unnecessary for yespower, with the problem having been worked around differently with the #define's in its sha256.h.

Also, you should be able to drop the old yescrypt from the tree, by invoking yespower with .version = YESPOWER_0_5 instead. This should provide a few percent speedup for those coins that still use yescrypt 0.5.

solardiz commented on 2326d91 Jul 3, 2018

FYI, the rename of SHA-256 file and functions should be totally unnecessary for yespower, with the problem having been worked around differently with the #define's in its sha256.h.

Also, you should be able to drop the old yescrypt from the tree, by invoking yespower with .version = YESPOWER_0_5 instead. This should provide a few percent speedup for those coins that still use yescrypt 0.5.

@bubasik

This comment has been minimized.

Show comment
Hide comment
@bubasik

bubasik Jul 4, 2018

I'll try to make a change. But I know very little about C++. Help me.

bubasik commented Jul 4, 2018

I'll try to make a change. But I know very little about C++. Help me.

bubasik added some commits Jul 14, 2018

add optimizations sse2 and sha
add optimizations sse2 and sha
fix bug - compile win x64
fix bug - compile win x64
@cryptozeny

This comment has been minimized.

Show comment
Hide comment
@cryptozeny

cryptozeny Jul 17, 2018

@bubasik yenten yespower 0.5 not work. could you open issue tab on your repo?

[2018-07-17 17:25:29] Starting Stratum on stratum+tcp://yenten.bluepool.info:3001
[2018-07-17 17:25:29] 4 miner threads started, using 'yespower' algorithm.
[2018-07-17 17:25:30] Stratum difficulty set to 0.01
[2018-07-17 17:25:33] yespower block 185002, network diff 0.036
[2018-07-17 17:25:39] Share submitted.
[2018-07-17 17:25:39] CPU #1: 438 H, 75.25 H/s
[2018-07-17 17:25:39] Rejected 1/1 (100.0%), diff 6.89e-07, 75.25 H/s, 56C
[2018-07-17 17:25:39] reject reason: low difficulty share of 0.00003420959252280564

cryptozeny commented Jul 17, 2018

@bubasik yenten yespower 0.5 not work. could you open issue tab on your repo?

[2018-07-17 17:25:29] Starting Stratum on stratum+tcp://yenten.bluepool.info:3001
[2018-07-17 17:25:29] 4 miner threads started, using 'yespower' algorithm.
[2018-07-17 17:25:30] Stratum difficulty set to 0.01
[2018-07-17 17:25:33] yespower block 185002, network diff 0.036
[2018-07-17 17:25:39] Share submitted.
[2018-07-17 17:25:39] CPU #1: 438 H, 75.25 H/s
[2018-07-17 17:25:39] Rejected 1/1 (100.0%), diff 6.89e-07, 75.25 H/s, 56C
[2018-07-17 17:25:39] reject reason: low difficulty share of 0.00003420959252280564
@bubasik

This comment has been minimized.

Show comment
Hide comment
@bubasik

bubasik Jul 17, 2018

@cryptozeny only for yespower 0.9 and cryply coin.
yespower 0.5 is faster than the yescryptr16?

bubasik commented Jul 17, 2018

@cryptozeny only for yespower 0.9 and cryply coin.
yespower 0.5 is faster than the yescryptr16?

@cryptozeny

This comment has been minimized.

Show comment
Hide comment
@cryptozeny

cryptozeny Jul 17, 2018

solardiz said it makes faster a few

cryptozeny commented Jul 17, 2018

solardiz said it makes faster a few

@cryptozeny

This comment has been minimized.

Show comment
Hide comment
@cryptozeny

cryptozeny Jul 17, 2018

yescrypt 0.5 will work with yesPower 0
.5 compatibel mode he said 😅

cryptozeny commented Jul 17, 2018

yescrypt 0.5 will work with yesPower 0
.5 compatibel mode he said 😅

@bubasik

This comment has been minimized.

Show comment
Hide comment
@bubasik

bubasik Jul 17, 2018

@cryptozeny
You're right. yespower 0.5 faster than yescryptr16

my tests on pentium G3250:

YESPOWER 0.5

CPU: Intel(R) Pentium(R) CPU G3250 @ 3.20GHz.
SW built on Jul 17 2018 with GCC 5.4.0.
CPU features: SSE2 SSE4.2.
SW features: SSE2 SSE4.2.
Algo features: SSE2 SHA.
Start mining with SSE2.

[2018-07-17 10:08:52] Starting Stratum on stratum+tcp://cpu-pool.com:63368
[2018-07-17 10:08:52] 2 miner threads started, using 'yespower' algorithm.
[2018-07-17 10:08:52] Stratum difficulty set to 0.1
[2018-07-17 10:09:46] Share submitted.
[2018-07-17 10:09:46] CPU #0: 9217 H, 184.28 H/s
[2018-07-17 10:09:46] Accepted 1/1 (100%), diff 1.84e-06, 184.28 H/s, 0C
[2018-07-17 10:10:12] Share submitted.
[2018-07-17 10:10:12] CPU #1: 13.90 kH, 181.56 H/s
[2018-07-17 10:10:12] Accepted 2/2 (100%), diff 1.85e-06, 365.84 H/s, 0C
[2018-07-17 10:10:16] Share submitted.
[2018-07-17 10:10:16] CPU #0: 5573 H, 184.47 H/s
[2018-07-17 10:10:16] Accepted 3/3 (100%), diff 3.82e-06, 366.03 H/s, 0C
[2018-07-17 10:10:33] Share submitted.
[2018-07-17 10:10:33] CPU #0: 3129 H, 185.19 H/s
[2018-07-17 10:10:33] Accepted 4/4 (100%), diff 4.1e-05, 366.75 H/s, 0C
[2018-07-17 10:10:57] Share submitted.
[2018-07-17 10:10:57] CPU #0: 4533 H, 184.90 H/s
[2018-07-17 10:10:58] Accepted 5/5 (100%), diff 4.83e-06, 366.46 H/s, 0C

YESCRYPTR16

[2018-07-17 10:05:38] Starting Stratum on stratum+tcp://cpu-pool.com:63368
[2018-07-17 10:05:38] 2 miner threads started, using 'yescryptr16' algorithm.
[2018-07-17 10:05:38] Stratum difficulty set to 0.1
[2018-07-17 10:05:43] Share submitted.
[2018-07-17 10:05:43] CPU #0: 117 H, 158.88 H/s
[2018-07-17 10:05:43] Accepted 1/1 (100%), diff 1.78e-06, 158.88 H/s, 0C
[2018-07-17 10:05:59] Share submitted.
[2018-07-17 10:05:59] CPU #0: 2663 H, 169.25 H/s
[2018-07-17 10:05:59] Accepted 2/2 (100%), diff 2.41e-06, 169.25 H/s, 0C
[2018-07-17 10:06:06] CPU #1: 4096 H, 169.75 H/s
[2018-07-17 10:06:19] Share submitted.
[2018-07-17 10:06:19] CPU #1: 2174 H, 169.78 H/s
[2018-07-17 10:06:19] Accepted 3/3 (100%), diff 2.12e-06, 339.02 H/s, 0C
[2018-07-17 10:06:41] Share submitted.
[2018-07-17 10:06:41] CPU #0: 7266 H, 169.42 H/s
[2018-07-17 10:06:42] Accepted 4/4 (100%), diff 2.9e-06, 339.19 H/s, 0C
[2018-07-17 10:07:19] CPU #1: 10.19 kH, 169.73 H/s
[2018-07-17 10:07:19] Stratum difficulty set to 0.258621
[2018-07-17 10:07:37] Share submitted.
[2018-07-17 10:07:37] CPU #0: 9288 H, 167.59 H/s
[2018-07-17 10:07:37] Accepted 5/5 (100%), diff 5.17e-06, 337.32 H/s, 0C
[2018-07-17 10:07:41] Share submitted.
[2018-07-17 10:07:41] CPU #1: 3747 H, 168.41 H/s
[2018-07-17 10:07:41] Accepted 6/6 (100%), diff 1.6e-06, 335.99 H/s, 0C
[2018-07-17 10:08:02] Share submitted.
[2018-07-17 10:08:02] CPU #1: 3580 H, 170.12 H/s
[2018-07-17 10:08:02] Accepted 7/7 (100%), diff 7.41e-06, 337.71 H/s, 0C
[2018-07-17 10:08:37] CPU #0: 10.06 kH, 168.51 H/s

366 h/s VS 339 h/s = yespower 0.5 faster 7%

bubasik commented Jul 17, 2018

@cryptozeny
You're right. yespower 0.5 faster than yescryptr16

my tests on pentium G3250:

YESPOWER 0.5

CPU: Intel(R) Pentium(R) CPU G3250 @ 3.20GHz.
SW built on Jul 17 2018 with GCC 5.4.0.
CPU features: SSE2 SSE4.2.
SW features: SSE2 SSE4.2.
Algo features: SSE2 SHA.
Start mining with SSE2.

[2018-07-17 10:08:52] Starting Stratum on stratum+tcp://cpu-pool.com:63368
[2018-07-17 10:08:52] 2 miner threads started, using 'yespower' algorithm.
[2018-07-17 10:08:52] Stratum difficulty set to 0.1
[2018-07-17 10:09:46] Share submitted.
[2018-07-17 10:09:46] CPU #0: 9217 H, 184.28 H/s
[2018-07-17 10:09:46] Accepted 1/1 (100%), diff 1.84e-06, 184.28 H/s, 0C
[2018-07-17 10:10:12] Share submitted.
[2018-07-17 10:10:12] CPU #1: 13.90 kH, 181.56 H/s
[2018-07-17 10:10:12] Accepted 2/2 (100%), diff 1.85e-06, 365.84 H/s, 0C
[2018-07-17 10:10:16] Share submitted.
[2018-07-17 10:10:16] CPU #0: 5573 H, 184.47 H/s
[2018-07-17 10:10:16] Accepted 3/3 (100%), diff 3.82e-06, 366.03 H/s, 0C
[2018-07-17 10:10:33] Share submitted.
[2018-07-17 10:10:33] CPU #0: 3129 H, 185.19 H/s
[2018-07-17 10:10:33] Accepted 4/4 (100%), diff 4.1e-05, 366.75 H/s, 0C
[2018-07-17 10:10:57] Share submitted.
[2018-07-17 10:10:57] CPU #0: 4533 H, 184.90 H/s
[2018-07-17 10:10:58] Accepted 5/5 (100%), diff 4.83e-06, 366.46 H/s, 0C

YESCRYPTR16

[2018-07-17 10:05:38] Starting Stratum on stratum+tcp://cpu-pool.com:63368
[2018-07-17 10:05:38] 2 miner threads started, using 'yescryptr16' algorithm.
[2018-07-17 10:05:38] Stratum difficulty set to 0.1
[2018-07-17 10:05:43] Share submitted.
[2018-07-17 10:05:43] CPU #0: 117 H, 158.88 H/s
[2018-07-17 10:05:43] Accepted 1/1 (100%), diff 1.78e-06, 158.88 H/s, 0C
[2018-07-17 10:05:59] Share submitted.
[2018-07-17 10:05:59] CPU #0: 2663 H, 169.25 H/s
[2018-07-17 10:05:59] Accepted 2/2 (100%), diff 2.41e-06, 169.25 H/s, 0C
[2018-07-17 10:06:06] CPU #1: 4096 H, 169.75 H/s
[2018-07-17 10:06:19] Share submitted.
[2018-07-17 10:06:19] CPU #1: 2174 H, 169.78 H/s
[2018-07-17 10:06:19] Accepted 3/3 (100%), diff 2.12e-06, 339.02 H/s, 0C
[2018-07-17 10:06:41] Share submitted.
[2018-07-17 10:06:41] CPU #0: 7266 H, 169.42 H/s
[2018-07-17 10:06:42] Accepted 4/4 (100%), diff 2.9e-06, 339.19 H/s, 0C
[2018-07-17 10:07:19] CPU #1: 10.19 kH, 169.73 H/s
[2018-07-17 10:07:19] Stratum difficulty set to 0.258621
[2018-07-17 10:07:37] Share submitted.
[2018-07-17 10:07:37] CPU #0: 9288 H, 167.59 H/s
[2018-07-17 10:07:37] Accepted 5/5 (100%), diff 5.17e-06, 337.32 H/s, 0C
[2018-07-17 10:07:41] Share submitted.
[2018-07-17 10:07:41] CPU #1: 3747 H, 168.41 H/s
[2018-07-17 10:07:41] Accepted 6/6 (100%), diff 1.6e-06, 335.99 H/s, 0C
[2018-07-17 10:08:02] Share submitted.
[2018-07-17 10:08:02] CPU #1: 3580 H, 170.12 H/s
[2018-07-17 10:08:02] Accepted 7/7 (100%), diff 7.41e-06, 337.71 H/s, 0C
[2018-07-17 10:08:37] CPU #0: 10.06 kH, 168.51 H/s

366 h/s VS 339 h/s = yespower 0.5 faster 7%

@bubasik

This comment has been minimized.

Show comment
Hide comment
@bubasik

bubasik Jul 17, 2018

Soon I will make edits code and support for yespower 0.5.

fast hack for support yespower 0.5:
edit file algo/yespower/yespower.c
replace string yespower_tls( (yespower_binary_t*)input, len, &v2, (yespower_binary_t*)output );
to string yespower_tls( (yespower_binary_t*)input, len, &v1, (yespower_binary_t*)output );

and compile code. (run ./build.sh)

bubasik commented Jul 17, 2018

Soon I will make edits code and support for yespower 0.5.

fast hack for support yespower 0.5:
edit file algo/yespower/yespower.c
replace string yespower_tls( (yespower_binary_t*)input, len, &v2, (yespower_binary_t*)output );
to string yespower_tls( (yespower_binary_t*)input, len, &v1, (yespower_binary_t*)output );

and compile code. (run ./build.sh)

@cryptozeny

This comment has been minimized.

Show comment
Hide comment
@cryptozeny

cryptozeny Jul 17, 2018

great! i'll try it! 😃

cryptozeny commented Jul 17, 2018

great! i'll try it! 😃

@cryptozeny

This comment has been minimized.

Show comment
Hide comment
@cryptozeny

cryptozeny Jul 17, 2018

@bubasik great it works and faster 7% !! awesome 😆

cryptozeny commented Jul 17, 2018

@bubasik great it works and faster 7% !! awesome 😆

bubasik added some commits Jul 17, 2018

add yespowerr16
add support tespower 0_5 - algo yespowerr16, for mining yenten
add yespowerr16
add support yespower 0_5 - algo yespowerr16, for mining yenten
add yespowerr16
add support yespower 0_5 - algo yespowerr16, for mining yenten
@bubasik

This comment has been minimized.

Show comment
Hide comment
@bubasik

bubasik Jul 17, 2018

Add algo yespowerr16 (yewspower 0.5) for yenten coin
please tests
./cpuminer -a yespowerr16 -o stratum+tcp://cpu-pool.com:63368 -u YENTEN_WALLET

bubasik commented Jul 17, 2018

Add algo yespowerr16 (yewspower 0.5) for yenten coin
please tests
./cpuminer -a yespowerr16 -o stratum+tcp://cpu-pool.com:63368 -u YENTEN_WALLET

@Daniel-Medeiros

This comment has been minimized.

Show comment
Hide comment
@Daniel-Medeiros

Daniel-Medeiros Aug 22, 2018

Please add support to yespower algorithm

Daniel-Medeiros commented Aug 22, 2018

Please add support to yespower algorithm

@solardiz

This comment has been minimized.

Show comment
Hide comment
@solardiz

solardiz Sep 28, 2018

This effectively disables explicit use of mmap() even on systems that have it (Unix-like), because MAP_ANON would have been defined by this very include file (so isn't yet defined at this point). This is a bug you introduce, and it might result in worse performance (although luckily chances are that libc will use mmap() for an allocation this large anyway). A better fix had been included in the yespower 1.0 release (I guess you took version 0.9 from cryply's repo? we should remind them to update or drop that repo), as well as in cryply's core tree:

#ifdef __unix__
#include <sys/mman.h>
#endif

solardiz commented on 308d5b0 Sep 28, 2018

This effectively disables explicit use of mmap() even on systems that have it (Unix-like), because MAP_ANON would have been defined by this very include file (so isn't yet defined at this point). This is a bug you introduce, and it might result in worse performance (although luckily chances are that libc will use mmap() for an allocation this large anyway). A better fix had been included in the yespower 1.0 release (I guess you took version 0.9 from cryply's repo? we should remind them to update or drop that repo), as well as in cryply's core tree:

#ifdef __unix__
#include <sys/mman.h>
#endif
@solardiz

This comment has been minimized.

Show comment
Hide comment
@solardiz

solardiz Sep 28, 2018

That's weird. I think you should have reused the existing yescryptr16 algo name to use the new yespower code in YESPOWER_0_5 mode. Ditto for the rest of yescrypt* algo names. (And you'd drop the old yescrypt 0.5 code at that point, since it would be totally redundant, slower, and thus unneeded.) That wouldn't be ideal, but it wouldn't burn yet another new algo name string on something that's effectively the old thing, just faster. Alternatively, a proper modern name for this thing would be e.g. yespower-0.5-4096-16.

solardiz commented on e5b171a Sep 28, 2018

That's weird. I think you should have reused the existing yescryptr16 algo name to use the new yespower code in YESPOWER_0_5 mode. Ditto for the rest of yescrypt* algo names. (And you'd drop the old yescrypt 0.5 code at that point, since it would be totally redundant, slower, and thus unneeded.) That wouldn't be ideal, but it wouldn't burn yet another new algo name string on something that's effectively the old thing, just faster. Alternatively, a proper modern name for this thing would be e.g. yespower-0.5-4096-16.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment