NameTaken
|
|
June 29, 2017, 03:48:38 PM |
|
AMD just announced Ryzen PRO with "Built-in AES 128-bit Encryption engine" so will that have any impact on mining?
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
June 29, 2017, 04:59:12 PM |
|
AMD just announced Ryzen PRO with "Built-in AES 128-bit Encryption engine" so will that have any impact on mining?
I found the announcement, it would have been nice if you had posted the link. https://www.amd.com/en/ryzen-proIt's all marketing speak so I have no idea what it means technically. AES_NI is already a 128 bit encryption and decryption engine so I have no idea what improvements are implied, maybe a faster implementation. Another implied improvement is the mention of low-latency cache. Intel cache performance is currently better than AMD so maybe the're catching up. That combined with the larger-than-Intel cache size could further give an edge to AMD in the CPU market. With Ryzen they have pulled ahead of Intel with threads, price, cache size, HW SHA. Between Threadripper (4 channel DDR4, more threads, even bigger cache) and whatever improvements come in the Ryzen Pro there's not much left where Intel has an edge. It's nice to see some real competition in the CPU market. It will be interesting to see how Intel will respond. On a bit of a tangent... I am still curious about AVX2 performance on Ryzen. I have read that their implementation isn't native but I haven't seen any performance comparisons. If anyone has a Ryzen I would be interested in a performance comparison of AVX vs AVX2 on algos that have AVX2 optimizations.
|
|
|
|
dinamx
Newbie
Offline
Activity: 84
Merit: 0
|
|
July 01, 2017, 05:37:29 AM |
|
Op, i know you are busy and somehow you are selective about what you optimize but please, how about... is it possible that you could optimize this cpuminer version below for this awesome algo that its using this incredible DNR cryptocurrency? Its a new algo: tribus The cpuminer they use is the classic one but its suitable to be optimized because it runs with the same base you are working your version, it is 3 of the top NIST5 algos and its being used to mine Denarius [DNR] Not to be confused with the old coin of two years ago aprox, this one its new algo, new dev, new project: tribus algo the links to the sources if you are curious to optimize it: binary `argh, they remove the link as its an exe but its in the main thread` source https://github.com/tpruvot/cpuminer-multithe main thread of the new algo https://bitcointalk.org/index.php?topic=1969480.0hope you like it the optimization idea for us the little cpu miners thanks for reading
|
|
|
|
|
dinamx
Newbie
Offline
Activity: 84
Merit: 0
|
|
July 02, 2017, 04:55:42 AM |
|
OMG thanks joblo for adding tribus algo will try it when arriving home you rock! tequila toast in your name!
|
|
|
|
jimlite
Legendary
Offline
Activity: 1848
Merit: 1018
|
|
July 02, 2017, 05:03:40 AM |
|
How fast is this for tribus DNR?
|
|
|
|
dinamx
Newbie
Offline
Activity: 84
Merit: 0
|
|
July 02, 2017, 05:35:16 AM |
|
How fast is this for tribus DNR?
go and test it my friend you will be surprised for sure if compare it with the regular version for the algo
|
|
|
|
dimka8
Newbie
Offline
Activity: 8
Merit: 0
|
|
July 03, 2017, 04:36:53 PM |
|
Reluctance to disappoint, added a parenthesis and a semicolon ");" .but still: sysinfo.c:120:2: error: impossible constraint in "asm" asm volatile("cpuid" : "=a"(a), "=b"(b), "=c"(c), "=d"(d) : "a"(functionnumber), "c"(0));
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
July 03, 2017, 04:56:36 PM |
|
Reluctance to disappoint, added a parenthesis and a semicolon ");" .but still: sysinfo.c:120:2: error: impossible constraint in "asm" asm volatile("cpuid" : "=a"(a), "=b"(b), "=c"(c), "=d"(d) : "a"(functionnumber), "c"(0)); I don't understand the error, that code did not change. How did you compile?
|
|
|
|
dimka8
Newbie
Offline
Activity: 8
Merit: 0
|
|
July 03, 2017, 05:01:14 PM Last edit: July 03, 2017, 05:15:56 PM by dimka8 |
|
Reluctance to disappoint, added a parenthesis and a semicolon ");" .but still: sysinfo.c:120:2: error: impossible constraint in "asm" asm volatile("cpuid" : "=a"(a), "=b"(b), "=c"(c), "=d"(d) : "a"(functionnumber), "c"(0)); I don't understand the error, that code did not change. How did you compile? This error flies out when ./build.sh Linux ARM GCC5
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
July 03, 2017, 05:28:10 PM |
|
This error flies out when ./build.sh Linux ARM GCC5
ARM is not supported.
|
|
|
|
dimka8
Newbie
Offline
Activity: 8
Merit: 0
|
|
July 03, 2017, 05:36:40 PM |
|
This error flies out when ./build.sh Linux ARM GCC5
ARM is not supported. Why then asm _arm_ ?
|
|
|
|
kawaiicrypto
|
|
July 03, 2017, 10:12:48 PM |
|
Testing this on the tribus algorithm, seems to work very well. Thank you dev.
|
|
|
|
g1itch
Member
Offline
Activity: 228
Merit: 10
|
|
July 04, 2017, 07:36:43 AM |
|
Cannot compile 3.6.6 ): x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -fno-strict-aliasing -I. -Wno-pointer-sign -Wno-pointer-to-int-cast -O3 -mtune=broadwell -pipe -c -o algo/groestl/aes_ni/cpuminer-ha sh-groestl.o `test -f 'algo/groestl/aes_ni/hash-groestl.c' || echo './'`algo/groestl/aes_ni/hash-gro estl.c In file included from algo/echo/aes_ni/vperm.h:20:0, from algo/echo/aes_ni/hash.c:21: algo/echo/aes_ni/hash.c: In function ‘Compress’: /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline ‘_mm_shuffle_epi8’: target specific option mismatch _mm_shuffle_epi8 (__m128i __X, __m128i __Y) ^
... and many similar errors
|
|
|
|
Elder III
|
|
July 04, 2017, 11:52:12 AM |
|
Testing this on the tribus algorithm, seems to work very well. Thank you dev.
I'm curious about your results. What hashrate did you get and which CPU did you test on? I tested on an Intel i7 6700K (stock clocks) and got ~200 Kh/s per thread but only got ~175 Kh/s per thread on an AMD R7 1700X (stock clocks). Typically my Ryzen CPU beats the i7 very easily, even if set to use the same number of threads, so these results surprised me a little bit. (I used aes-avx2 for both CPUs with the best results compared to other options).
|
|
|
|
hmage
Member
Offline
Activity: 83
Merit: 10
|
|
July 04, 2017, 01:41:50 PM |
|
Cannot compile 3.6.6 ): x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -fno-strict-aliasing -I. -Wno-pointer-sign -Wno-pointer-to-int-cast -O3 -mtune=broadwell -pipe -c -o algo/groestl/aes_ni/cpuminer-ha sh-groestl.o `test -f 'algo/groestl/aes_ni/hash-groestl.c' || echo './'`algo/groestl/aes_ni/hash-gro estl.c In file included from algo/echo/aes_ni/vperm.h:20:0, from algo/echo/aes_ni/hash.c:21: algo/echo/aes_ni/hash.c: In function ‘Compress’: /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline ‘_mm_shuffle_epi8’: target specific option mismatch _mm_shuffle_epi8 (__m128i __X, __m128i __Y) ^
... and many similar errors This particular one you quoted -- your compiler options did not enable SSSE3 support. Please use -march=native instead of -mtune=broadwell
|
|
|
|
g1itch
Member
Offline
Activity: 228
Merit: 10
|
|
July 04, 2017, 02:10:43 PM |
|
This particular one you quoted -- your compiler options did not enable SSSE3 support. Please use -march=native instead of -mtune=broadwell
Thank you! Adding -march=native helped.
|
|
|
|
zhq123456
|
|
July 06, 2017, 12:58:44 PM |
|
algo-gate-api.c:215: error: #pragma GCC diagnostic not allowed inside functions make[1]: *** [cpuminer-algo-gate-api.o] Error 1 make[1]: Leaving directory `/usr/cpuminer-opt' make: *** [install-recursive] Error 1
|
|
|
|
hmage
Member
Offline
Activity: 83
Merit: 10
|
|
July 06, 2017, 01:00:27 PM |
|
algo-gate-api.c:215: error: #pragma GCC diagnostic not allowed inside functions make[1]: *** [cpuminer-algo-gate-api.o] Error 1 make[1]: Leaving directory `/usr/cpuminer-opt' make: *** [install-recursive] Error 1 You're likely using gcc 4.4. Use newer compiler.
|
|
|
|
zhq123456
|
|
July 06, 2017, 01:25:50 PM |
|
[root@CC ~]# rpm -qa|grep gcc libgcc-4.4.7-18.el6.x86_64 gcc-c++-4.4.7-18.el6.x86_64 gcc-4.4.7-18.el6.x86_64 libgcc-4.4.7-18.el6.i686
|
|
|
|
|