Pages:
Author

Topic: [ANN]: cpuminer-opt v3.8.8.1, open source optimized multi-algo CPU miner - page 87. (Read 444067 times)

legendary
Activity: 1470
Merit: 1114
I'm looking at updating the errata for old AMD CPUs and would like more precision on which CPUs work
and which don't.

Athlon 64 x2 and Phenom II x4 are confirmed not to work. It appears anything less than Bulldozer, which
introduced AVX, will not work with all algos.

If no one has data that says otherwise I'll update the errata in the OP.
legendary
Activity: 1470
Merit: 1114
joblo, it seems that XEVAN is broken on all non-AES AMD CPU's

CPU: Athlon 64 X2 Dual Core Processor 6000+ (MMX, SSE, SSE2, SSE3)
OS: Ubuntu 14.04 x64
miner versions:
v3.4.12-legacy / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.4.12-legacy / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.5.9.1-legacy / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.5.9.1-legacy / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.5.12 / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.5.12 / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)"

CPU: AMD Phenom II X4 965 (MMX (+), 3DNow! (+), SSE, SSE2, SSE3, SSE4A, x86-64, AMD-V)
OS: Win 7 Ultimate x64 SP1
miner versions:
v3.4.12-legacy / -march=core2 - After miner and stratum start > APPCRASH
v3.4.12-legacy / -march=btver1 - After miner and stratum start > APPCRASH
v3.5.9.1-legacy / -march=core2 - After miner and stratum start > APPCRASH
v3.5.9.1-legacy / -march=btver1 - After miner and stratum start > APPCRASH
v3.5.12 / -march=core2 - After miner and stratum start > APPCRASH
v3.5.12 / -march=btver1 - After miner and stratum start > APPCRASH

CPU: AMD FX-7600P (MMX (+), SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, SSE4A, x86-64, AMD-V, AES, AVX, XOP, FMA3, FMA4)
OS: Win 7 Ultimate x64 SP1
miner versions:
v3.4.12-legacy / -march=bdver3 - XEVAN Works
v3.4.12-legacy / -march=native - XEVAN Works
v3.5.9.1-legacy / -march=bdver3 - XEVAN Works
v3.5.9.1-legacy / -march=native - XEVAN Works
v3.5.12 / -march=bdver3 - XEVAN Works
v3.5.12 / -march=native - XEVAN Works

Illegal instruction pretty much tells the story. With a lot of help I can probably figure out which instruction AMD is
tripping over but I won't be able to fix. The instruction isn't implemented in the CPU, it's as simple as that.
This kind of imcompatibility is probably worked around by the compiler but that doesn't work for intrinsic
functions or assembly code.

The only alternative is to use a miner that is free of SSE2 code such as cpuminer-multi.

sr. member
Activity: 312
Merit: 250
joblo, it seems that XEVAN is broken on all non-AES AMD CPU's

CPU: Athlon 64 X2 Dual Core Processor 6000+ (MMX, SSE, SSE2, SSE3)
OS: Ubuntu 14.04 x64
miner versions:
v3.4.12-legacy / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.4.12-legacy / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.5.9.1-legacy / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.5.9.1-legacy / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.5.12 / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.5.12 / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)"

CPU: AMD Phenom II X4 965 (MMX (+), 3DNow! (+), SSE, SSE2, SSE3, SSE4A, x86-64, AMD-V)
OS: Win 7 Ultimate x64 SP1
miner versions:
v3.4.12-legacy / -march=core2 - After miner and stratum start > APPCRASH
v3.4.12-legacy / -march=btver1 - After miner and stratum start > APPCRASH
v3.5.9.1-legacy / -march=core2 - After miner and stratum start > APPCRASH
v3.5.9.1-legacy / -march=btver1 - After miner and stratum start > APPCRASH
v3.5.12 / -march=core2 - After miner and stratum start > APPCRASH
v3.5.12 / -march=btver1 - After miner and stratum start > APPCRASH

CPU: AMD FX-7600P (MMX (+), SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, SSE4A, x86-64, AMD-V, AES, AVX, XOP, FMA3, FMA4)
OS: Win 7 Ultimate x64 SP1
miner versions:
v3.4.12-legacy / -march=bdver3 - XEVAN Works
v3.4.12-legacy / -march=native - XEVAN Works
v3.5.9.1-legacy / -march=bdver3 - XEVAN Works
v3.5.9.1-legacy / -march=native - XEVAN Works
v3.5.12 / -march=bdver3 - XEVAN Works
v3.5.12 / -march=native - XEVAN Works
member
Activity: 129
Merit: 10
is there any particular reason as to why theres no zec algo with your miner

many thanks
newbie
Activity: 6
Merit: 0
This is the home of cpuminer-opt, The optimized CPU miner.

cpuminer-opt now supports over 50 algorithms with more than 20 optimized to use
AES_NI, AVX and AVX2 on capable CPUs.

cpuminer-opt v3.5.12 is now released and available for download.

Source code:

git: https://github.com/JayDDee/cpuminer-opt

tarball: https://drive.google.com/file/d/0B0lVSGQYLJIZbUgwcGRjUXlhYzA/view?usp=sharing

Windows binaries

https://drive.google.com/file/d/0B0lVSGQYLJIZbU5ydlhiYjk0SkU/view?usp=sharing

New in v3.5.12

New algo sha256t for Onecoin (OC), 29% faster than ocminer version.
Lyra2zoin algo renamed to lyra2z330, lyra2zoin and zoin still work as aliases.

Legacy version 3.5.9.1 May provide better performance on some algos with older CPUs that
don't have AES NI

Legacy branch updated with new algos from master branch.

git clone https://github.com/JayDDee/cpuminer-opt -b legacy

Tarball: https://drive.google.com/file/d/0B0lVSGQYLJIZcDg0d0QzbzJBUDA/view?usp=sharing

Windows Binaries: https://drive.google.com/file/d/0B0lVSGQYLJIZT0tlY3o4ZjEycXM/view?usp=sharing

Errata:

Users with older AMD CPUs have reported many problems with varius versions of cpuminer-opt.
The early versions of SSE2 on AMD are not always compatible with the code in cpuminer-opt.
This creates challenges both compiling and running cpuminer-opt on AMD CPUs. Some algos
jusy won't work on these CPUs and users will need a miner without SSE2 such as cpuminer-multi.

Bench stats collection enabled (-p stats) when mining timetravel causes miner to exit after
50 share submissions.

cpuminer-opt does not work mining Decred algo at Nicehash and produces only
"invalid extranonce2 size" rejects.

Benchmark testing does not work for x11evo.

Requirements:

1. A x86_64 architecture CPU with a minimum of SSE2 support. This includes Intel
Core2 and newer and AMD equivalents. In order to take advantage of AES_NI
optimizations a CPU with AES_NI is required. This includes Intel Westbridge
and newer and AMD equivalents. Further optimizations are available on some algos
for CPUs with AVX and AVX2, Sandybridge and Haswell respectively.

Older CPUs are supported by cpuminer-multi by TPruvot but at reduced performance.

2. 64 bit Linux OS. Ubuntu and Fedora based distributions, including Mint and Centos are known
to work and have all dependencies in their repositories. Others may work but may require
more effort.

64 bit Windows OS is supported using the pre-compiled binaries package or may be compiled
with mingw_w64 and msys.

3. Stratum pool, cpuminer-opt only supports stratum minning. Anything else is YMMV.
Hello. Please, can you give us static compilled binaries for linux64? I have user-accounts on some servers, but will never have a root access to compile your miner.
Need same as windows-binaries, but for linux64.
It is possible?
Thanks.
member
Activity: 129
Merit: 10
Hi
   took me a while to get the miner running  on xmr but mainly down to me not knowing what i was doing with bat files etc
 running a xeon E5 2670 v2  10cores 20 threads  was hashing at 340h/s using 12 threads
 What im looking for is a ZEC  cpu miner are you doing the algo  so that can be mined

   many thanks  for your  work

cpuminer-opt doesn't support zcash mining. There are a few miners available for zcash, refer to the pool's instructions.

 thanks for the fast reply  i have looked at other miners  inc nheqminer  which only seems to run 2 threads no matter what i do
i have read the pools instructions as well
legendary
Activity: 1470
Merit: 1114
Hi
   took me a while to get the miner running  on xmr but mainly down to me not knowing what i was doing with bat files etc
 running a xeon E5 2670 v2  10cores 20 threads  was hashing at 340h/s using 12 threads
 What im looking for is a ZEC  cpu miner are you doing the algo  so that can be mined

   many thanks  for your  work

cpuminer-opt doesn't support zcash mining. There are a few miners available for zcash, refer to the pool's instructions.
legendary
Activity: 1470
Merit: 1114
cpuminer-opt v3.5.12 is released with support for sha256t, 29% faster than ocminer version.


joblo, can u tell us the optimal -t (thread number) on this algo? Depending on CPU cache size(s), core count, thread (hyper-threading) count.

Tested on i5-4570 (Haswell, 4 cores, 4 threads, 6MB L3), seems that -t 4 is the fastest setting in time, while -t 5 or -t 6 gives maximum peaks (first 3-5 minutes).

P.S. The avg speed on my CPU is 4850... 5200 kH/s (sha256t)

Thanks.

Try different combos and tell everyone what works best. For compute intensive algo it's usuallty best to run N threads.
For memory bound algo you'll reach a peak and adding more threads won't help. Cryptonight is special because it is
cache bound. There is a sweet spot when everything fits nicely in the cache. Add another thread and speed drops dramatically.
legendary
Activity: 1470
Merit: 1114
HexxCoin also moved to use lyra2z330 as algo name.
This is more easy as its algo name.



That was my intent. I prefer not to use the coin name as algo name.
member
Activity: 129
Merit: 10
Hi
   took me a while to get the miner running  on xmr but mainly down to me not knowing what i was doing with bat files etc
 running a xeon E5 2670 v2  10cores 20 threads  was hashing at 340h/s using 12 threads
 What im looking for is a ZEC  cpu miner are you doing the algo  so that can be mined

   many thanks  for your  work
full member
Activity: 154
Merit: 100
HexxCoin also moved to use lyra2z330 as algo name.
This is more easy as its algo name.

full member
Activity: 187
Merit: 100
Cryptocurrency enthusiast
cpuminer-opt v3.5.12 is released with support for sha256t, 29% faster than ocminer version.


joblo, can u tell us the optimal -t (thread number) on this algo? Depending on CPU cache size(s), core count, thread (hyper-threading) count.

Tested on i5-4570 (Haswell, 4 cores, 4 threads, 6MB L3), seems that -t 4 is the fastest setting in time, while -t 5 or -t 6 gives maximum peaks (first 3-5 minutes).

P.S. The avg speed on my CPU is 4850... 5200 kH/s (sha256t)

Thanks.
legendary
Activity: 1470
Merit: 1114
For cryptonight the 1800x seems to have an edge over i7-6800K with a slightly larger L3 cache
and 2 more hyperthreaded cores but also a higher price.

Cryptonight doesn't stress the cores, it would be nice to see performance on a well optimized compute
intensive algo like deep.
legendary
Activity: 1470
Merit: 1114
cpuminer-opt legacy version 3.5.9.1 is released with support for new algos from the master
branch. It may provide better performance on some algos using older CPUs that don't have AES NI.

Cloning from git requires the -b option to specify the legacy branch:

git clone https://github.com/JayDDee/cpuminer-opt -b legacy

Tarball: https://drive.google.com/file/d/0B0lVSGQYLJIZcDg0d0QzbzJBUDA/view?usp=sharing

Windows Binaries: https://drive.google.com/file/d/0B0lVSGQYLJIZT0tlY3o4ZjEycXM/view?usp=sharing


hero member
Activity: 700
Merit: 500
im currently trying to understand the structure of cpuminer-opt/cpuminer-multi: i want to implement a basic cryptonight hashing function in javascript and/or port the C/C++ part of cpuminer-opt to js with asm.js, though im not sure what the best starting point for this basic task is

is there some documentation for devs which are not familiar with how mining software works?

i suppose writing this in js with libs is fairly easy

Not that I'm aware of. The first step is to identify everything needed for cryptonight.

If all you want is the bare hashing function look in algo/cryptonight/cryptonight-aesni.c.
If you need to rely on SW AES look in algo/cryptonight/cryptonight.c.

There's a lot more to it if you want to build a mining app: UI, stratum/networking, multithreading,
algo interface, algo support SW,  I'm probably missing a couple.

If you want to build a frankenstein you need to find the line between the core SW and the algo SW.
That line is primarilly scanhash, though it's a very blurred line. Almost everything above it is core
SW, and everything below is algo specific. The intent of algo-gate was to try to better define that
line, but you can still see when the line is crossed by the custom target functions the algo has to
give to the core. multi and ccminer have a bunch of algo hooks in the core code.

I'm not familiar with any other miner architectures but I presume there still exists that basic interface
where you input a message and get back a hash.



thanks will look into it

yes, im aiming for frankenstein, nothing pretty, it should just work Tongue
legendary
Activity: 1470
Merit: 1114
It looks like git clone -b is what I needed all along.

I also need to change my git push command to origin HEAD. That way I won't screw up and
push to the wrong branch.

Code:
git clone  https://github.com/JayDDee/cpuminer-opt.git -b legacy
Cloning into 'cpuminer-opt'...
remote: Counting objects: 1039, done.
remote: Compressing objects: 100% (148/148), done.
remote: Total 1039 (delta 54), reused 0 (delta 0), pack-reused 886
Receiving objects: 100% (1039/1039), 2.90 MiB | 1.18 MiB/s, done.
Resolving deltas: 100% (401/401), done.
Checking connectivity... done.
$ git branch
* legacy
legendary
Activity: 1470
Merit: 1114
im currently trying to understand the structure of cpuminer-opt/cpuminer-multi: i want to implement a basic cryptonight hashing function in javascript and/or port the C/C++ part of cpuminer-opt to js with asm.js, though im not sure what the best starting point for this basic task is

is there some documentation for devs which are not familiar with how mining software works?

i suppose writing this in js with libs is fairly easy

Not that I'm aware of. The first step is to identify everything needed for cryptonight.

If all you want is the bare hashing function look in algo/cryptonight/cryptonight-aesni.c.
If you need to rely on SW AES look in algo/cryptonight/cryptonight.c.

There's a lot more to it if you want to build a mining app: UI, stratum/networking, multithreading,
algo interface, algo support SW,  I'm probably missing a couple.

If you want to build a frankenstein you need to find the line between the core SW and the algo SW.
That line is primarilly scanhash, though it's a very blurred line. Almost everything above it is core
SW, and everything below is algo specific. The intent of algo-gate was to try to better define that
line, but you can still see when the line is crossed by the custom target functions the algo has to
give to the core. multi and ccminer have a bunch of algo hooks in the core code.

I'm not familiar with any other miner architectures but I presume there still exists that basic interface
where you input a message and get back a hash.

hero member
Activity: 700
Merit: 500
im currently trying to understand the structure of cpuminer-opt/cpuminer-multi: i want to implement a basic cryptonight hashing function in javascript and/or port the C/C++ part of cpuminer-opt to js with asm.js, though im not sure what the best starting point for this basic task is

is there some documentation for devs which are not familiar with how mining software works?

i suppose writing this in js with libs is fairly easy
legendary
Activity: 1470
Merit: 1114
fetch is only necessary if your local git repo doesnt have the new branch info from the remote(s) yet, after a clone there is no need for a fetch

to get the legacy branch directly when cloning one can use:
Code:
git clone  --branch 

Thanks. I'll include that in the instructions.
hero member
Activity: 700
Merit: 500
fetch is only necessary if your local git repo doesnt have the new branch info from the remote(s) yet, after a clone there is no need for a fetch

to get the legacy branch directly when cloning one can use:
Code:
git clone  --branch 
Pages:
Jump to: