Pages:
Author

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

newbie
Activity: 18
Merit: 0
Does this miner not have a web api? I've seen that it binds to port 4048 and when I try to access the api from my browser I get errors every time. localhost:4048 isn't working.

No, just a raw socket.

Code:
telnet localhost 4048
help

As soon as I connect with telnet and hit any key it disconnects. I can't type help.
legendary
Activity: 1470
Merit: 1114
Does this miner not have a web api? I've seen that it binds to port 4048 and when I try to access the api from my browser I get errors every time. localhost:4048 isn't working.

No, just a raw socket.

Code:
telnet localhost 4048
help
newbie
Activity: 18
Merit: 0
Does this miner not have a web api? I've seen that it binds to port 4048 and when I try to access the api from my browser I get errors every time. localhost:4048 isn't working.
legendary
Activity: 1470
Merit: 1114
Managed to mine Yenten anyway, using the default miner. Didn't do that from the start since the tutorial I was following was pointing me to this one, cpuminer-opt, which is much more complete but incompatible with my CPU.

Off course I went through all the hassle of figuring out how to compile and run the default miner, just to then find out that the pool I chose (absolutely at random) provides you with a neatly pre-packaged, pre-compiled debian executable.

Basically, I did every single step in the most useless and time consuming way although I now have a rough knowledge of how to compile stuff on Linux, something which (as you may have noted) has always eluded me.


Back to the point, if you're still interested in a fix for this particular AMD CPU...

Quote
Can you check if other files have similar errors with avxdefs?

I don't understand your question completely: are you asking me if I see similar errors within other files during compilation? As far as I can tell, no: avxdefs is the only file giving errors (other stuff only looks like warnings).

I did another run, configuring with -march=core2, so that I could give you a complete transcript of the compile report. Here: https://pastebin.com/raw/ckhcAcYD

Please let me know if I didn't understand your question correctly and you're asking me for something else.

Thanks for posting the complete compile session. Cryptonight is the only problem so my fix should work.

For yenten the default miner is probably equal to cpuminer-opt.
newbie
Activity: 7
Merit: 0
Managed to mine Yenten anyway, using the default miner. Didn't do that from the start since the tutorial I was following was pointing me to this one, cpuminer-opt, which is much more complete but incompatible with my CPU.

Off course I went through all the hassle of figuring out how to compile and run the default miner, just to then find out that the pool I chose (absolutely at random) provides you with a neatly pre-packaged, pre-compiled debian executable.

Basically, I did every single step in the most useless and time consuming way although I now have a rough knowledge of how to compile stuff on Linux, something which (as you may have noted) has always eluded me.


Back to the point, if you're still interested in a fix for this particular AMD CPU...

Quote
Can you check if other files have similar errors with avxdefs?

I don't understand your question completely: are you asking me if I see similar errors within other files during compilation? As far as I can tell, no: avxdefs is the only file giving errors (other stuff only looks like warnings).

I did another run, configuring with -march=core2, so that I could give you a complete transcript of the compile report. Here: https://pastebin.com/raw/ckhcAcYD

Please let me know if I didn't understand your question correctly and you're asking me for something else.
legendary
Activity: 1470
Merit: 1114
I'm having a similar error to that of @shvch and ran the same commands to install the required depencies. Total newbie here.

I believe this is the relevant portion of errors:

Code:
In file included from algo/cryptonight/cryptonight-aesni.c:6:0:
./avxdefs.h: In function ‘mm_byteswap_64’:
./avxdefs.h:296:3: warning: implicit declaration of function ‘_mm_shuffle_epi8’ [-Wimplicit-function-declaration]
./avxdefs.h:296:3: error: incompatible types when returning type ‘int’ but ‘__m128i’ was expected
./avxdefs.h: In function ‘mm_byteswap_32’:
./avxdefs.h:303:3: error: incompatible types when returning type ‘int’ but ‘__m128i’ was expected
./avxdefs.h: In function ‘mm_byteswap_16’:
./avxdefs.h:310:3: error: incompatible types when returning type ‘int’ but ‘__m128i’ was expected
algo/cryptonight/cryptonight-aesni.c: At top level:
algo/cryptonight/cryptonight-aesni.c:107:33: warning: ‘ctx’ defined but not used [-Wunused-variable]
mv -f algo/cryptonight/.deps/cpuminer-cryptonight-common.Tpo algo/cryptonight/.deps/cpuminer-cryptonight-common.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I.  -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -O3 -march=native -Wall  -Iyes/include -MT algo/cubehash/cpuminer-sph_cubehash.o -MD -MP -MF algo/cubehash/.deps/cpuminer-sph_cubehash.Tpo -c -o algo/cubehash/cpuminer-sph_cubehash.o `test -f 'algo/cubehash/sph_cubehash.c' || echo './'`algo/cubehash/sph_cubehash.c
make[2]: *** [algo/cryptonight/cpuminer-cryptonight-aesni.o] Error 1
make[2]: *** Waiting for unfinished jobs....
mv -f algo/cryptonight/.deps/cpuminer-cryptonight.Tpo algo/cryptonight/.deps/cpuminer-cryptonight.Po
mv -f algo/bmw/.deps/cpuminer-sph_bmw.Tpo algo/bmw/.deps/cpuminer-sph_bmw.Po
mv -f algo/cubehash/.deps/cpuminer-sph_cubehash.Tpo algo/cubehash/.deps/cpuminer-sph_cubehash.Po
make[2]: Leaving directory `/root/cpuminer-opt'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/cpuminer-opt'
make: *** [all] Error 2
strip: 'cpuminer': No such file

Your CPU May fall into that AMD black hole where SIMD support was inconsistent. I recently optimized bytswap to use shuffle
which is available in SSSE3. Your CPU's specs have SSSE3 but apparently not support for _mm_shuffle_epi8.

Have you tried compiling with -march=core2?

I'll try to come up with a fix for next release but it's hard to get motivated for old CPUs, especially old AMD CPUs.

I may have a simple solution as long as cryptonight is the only culprit. Can you check if other files have similar errors
with avxdefs?
newbie
Activity: 7
Merit: 0
Your CPU May fall into that AMD black hole where SIMD support was inconsistent. I recently optimized bytswap to use shuffle
which is available in SSSE3. Your CPU's specs have SSSE3 but apparently not support for _mm_shuffle_epi8.

Have you tried compiling with -march=core2?

I'll try to come up with a fix for next release but it's hard to get motivated for old CPUs, especially old AMD CPUs.

Thank you very much for your reply! I have now tried with "core2" but that gives the very same error.

Quote
I recently optimized bytswap to use shuffle which is available in SSSE3.

Forgive the stupid question: does this mean that without this optimization it should work on this particular CPU and that it is available on older versions?

Quote
I'll try to come up with a fix for next release but it's hard to get motivated for old CPUs, especially old AMD CPUs.

If this is of any help, this is a CPU that I've been assigned when renting a server with OVH. It mainly sits idle all day so I figured why not using it for CPU mining? Many other people may face the same need, unless it is possible to get assigned a different CPU just by asking (I'll try to do that now).

Many thanks for your help again! If there's anything I could do to help you test compatibility, don't hesitate to ask!


EDIT: by the way, I'm only interested in mining YescryptR16. Is there anyway to disable all the things I don't need or is the particular feature not in my CPU needed also for this?
legendary
Activity: 1797
Merit: 1028
hey braves!
It is possible insert a command in .bat, that run miner.exe, that run threads -t variable?

Example: 30 min w/ 4 threads, them 60 min w/ 2 threads,...

Thank you! Great hashes Wink

cpuminer --help is your friend.

--time-limit

Hi Joblo,

where/how I find this --help?
Serve to change the number of thread for a X time?
My level is zero for command but I think in the .bat must to have a "reboot", "restart" bat file. Make any sense?



EXECUTE CPUMINER WTH THE "--help" OPTION--

Or, read the 'Readme" file that comes in the archive.  Better, do both.  If you execute "cpuminer --help > help.txt", you will get a text file with all the CPUminer-OPT command flags and a detailed explanation of each one.  Then, you will be able to read and understand the "Readme.txt" and "help.txt" whenever you wish.       --scryptr

legendary
Activity: 1797
Merit: 1028
Hello,

i've i5-6700k cpu.this cpu has AVX2 .but miner starts with SSE2.How can i fix that? (in linux)

CPU: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz.
SW built on Jan 13 2018 with GCC 4.9.2.
CPU features: SSE2 AES AVX AVX2.
SW features: SSE2 AES AVX AVX2.
Algo features: SSE2 SHA.
Start mining with SSE2

THE ALGORITHM IS LIMITED TO SSE2--

The code in the (un-named) algorithm is optimized with SSE2.  Your CPU is not detected as capable of SHA (is it?).  SSE2 is the best option available per code.       --scryptr
hero member
Activity: 677
Merit: 500
Small question: is it possible to autodetect the cpu features on startup and just select the "best" - most appropriate - version?

As the miner itself detects the features already this should be possible in theory but maybe not that easy to implement with the "loading" of the correct binary/code

Try this:
http://web.inter.nl.net/hcc/J.Steunebrink/chkcpu.htm

Create a batch file using this to detect the features of the CPU and select the appropriate EXE.

Code:
CHKCPU32.exe /x > CHKCPU32.LOG

find "1" CHKCPU32.LOG
if %errorlevel% == 0 goto AVX2

find "1" CHKCPU32.LOG
if %errorlevel% == 0 goto AVX

find "1" CHKCPU32.LOG
if %errorlevel% == 0 goto AES

find "1" CHKCPU32.LOG
if %errorlevel% == 0 goto SSE42

GOTO SSE


maybe i phrased it wrong: i know it is possible via batch or external program, i hoped for single exe with all versions integrated which does the necessary stuff itself
much like claymore miners or similar

No, I understood you.  I was just offering you something that works right now.

Joblo already indicated he doesn't see this happening as it will bloat the EXE.  Since that's the case, I was hoping that'd work for you.
legendary
Activity: 1470
Merit: 1114
I'm having a similar error to that of @shvch and ran the same commands to install the required depencies. Total newbie here.

I believe this is the relevant portion of errors:

Quote
In file included from algo/cryptonight/cryptonight-aesni.c:6:0:
./avxdefs.h: In function ‘mm_byteswap_64’:
./avxdefs.h:296:3: warning: implicit declaration of function ‘_mm_shuffle_epi8’ [-Wimplicit-function-declaration]
./avxdefs.h:296:3: error: incompatible types when returning type ‘int’ but ‘__m128i’ was expected
./avxdefs.h: In function ‘mm_byteswap_32’:
./avxdefs.h:303:3: error: incompatible types when returning type ‘int’ but ‘__m128i’ was expected
./avxdefs.h: In function ‘mm_byteswap_16’:
./avxdefs.h:310:3: error: incompatible types when returning type ‘int’ but ‘__m128i’ was expected
algo/cryptonight/cryptonight-aesni.c: At top level:
algo/cryptonight/cryptonight-aesni.c:107:33: warning: ‘ctx’ defined but not used [-Wunused-variable]
mv -f algo/cryptonight/.deps/cpuminer-cryptonight-common.Tpo algo/cryptonight/.deps/cpuminer-cryptonight-common.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I.  -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -O3 -march=native -Wall  -Iyes/include -MT algo/cubehash/cpuminer-sph_cubehash.o -MD -MP -MF algo/cubehash/.deps/cpuminer-sph_cubehash.Tpo -c -o algo/cubehash/cpuminer-sph_cubehash.o `test -f 'algo/cubehash/sph_cubehash.c' || echo './'`algo/cubehash/sph_cubehash.c
make[2]: *** [algo/cryptonight/cpuminer-cryptonight-aesni.o] Error 1
make[2]: *** Waiting for unfinished jobs....
mv -f algo/cryptonight/.deps/cpuminer-cryptonight.Tpo algo/cryptonight/.deps/cpuminer-cryptonight.Po
mv -f algo/bmw/.deps/cpuminer-sph_bmw.Tpo algo/bmw/.deps/cpuminer-sph_bmw.Po
mv -f algo/cubehash/.deps/cpuminer-sph_cubehash.Tpo algo/cubehash/.deps/cpuminer-sph_cubehash.Po
make[2]: Leaving directory `/root/cpuminer-opt'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/cpuminer-opt'
make: *** [all] Error 2
strip: 'cpuminer': No such file

I'm running this on an  AMD Opteron 4284 which, according to "cat /proc/cpuinfo" has "SSE2" enabled under "flags".

The installed dependencies are copypasted from the install manual:
Code:
apt-get install build-essential libssl-dev libcurl4-openssl-dev libjansson-dev libgmp-dev automake

I have tried to install both with ./build.sh and

Code:
./autogen.sh CFLAGS="-O3 -march=native -Wall" CXXFLAGS="$CFLAGS -std=gnu++11"
./configure --with-curl
make

the former gives the error posted above while the latter gives the same error when I run the "make" comand.

I'd gladly try an older version if anyone can instruct me how to do so, though I'd prefer to understand what am I doing wrong with this.

Many thanks in advance!

EDIT: apparently, someone encountered a similar error here: https://bitcointalksearch.org/topic/m.14697284 to which it was suggested to him to run gcc -march=native -Q --help=target|grep march.

The result of that command is "amdfam10" so I tried to run ./configure by replacing "-march=native" both with "-march=amdfam10" and "-march=btver1" (copied from the linked message). Unfortunately, this changed nothing.

EDIT2: Tried the legacy version, 3.5.9.1. Very similar error about "__m128i" being incompatible with "int". Also, something about SSSE3 not being enabled.


Your CPU May fall into that AMD black hole where SIMD support was inconsistent. I recently optimized bytswap to use shuffle
which is available in SSSE3. Your CPU's specs have SSSE3 but apparently not support for _mm_shuffle_epi8.

Have you tried compiling with -march=core2?

I'll try to come up with a fix for next release but it's hard to get motivated for old CPUs, especially old AMD CPUs.
newbie
Activity: 7
Merit: 0
I'm having a similar error to that of @shvch and ran the same commands to install the required depencies. Total newbie here.

I believe this is the relevant portion of errors:

Quote
In file included from algo/cryptonight/cryptonight-aesni.c:6:0:
./avxdefs.h: In function ‘mm_byteswap_64’:
./avxdefs.h:296:3: warning: implicit declaration of function ‘_mm_shuffle_epi8’ [-Wimplicit-function-declaration]
./avxdefs.h:296:3: error: incompatible types when returning type ‘int’ but ‘__m128i’ was expected
./avxdefs.h: In function ‘mm_byteswap_32’:
./avxdefs.h:303:3: error: incompatible types when returning type ‘int’ but ‘__m128i’ was expected
./avxdefs.h: In function ‘mm_byteswap_16’:
./avxdefs.h:310:3: error: incompatible types when returning type ‘int’ but ‘__m128i’ was expected
algo/cryptonight/cryptonight-aesni.c: At top level:
algo/cryptonight/cryptonight-aesni.c:107:33: warning: ‘ctx’ defined but not used [-Wunused-variable]
mv -f algo/cryptonight/.deps/cpuminer-cryptonight-common.Tpo algo/cryptonight/.deps/cpuminer-cryptonight-common.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I.  -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -O3 -march=native -Wall  -Iyes/include -MT algo/cubehash/cpuminer-sph_cubehash.o -MD -MP -MF algo/cubehash/.deps/cpuminer-sph_cubehash.Tpo -c -o algo/cubehash/cpuminer-sph_cubehash.o `test -f 'algo/cubehash/sph_cubehash.c' || echo './'`algo/cubehash/sph_cubehash.c
make[2]: *** [algo/cryptonight/cpuminer-cryptonight-aesni.o] Error 1
make[2]: *** Waiting for unfinished jobs....
mv -f algo/cryptonight/.deps/cpuminer-cryptonight.Tpo algo/cryptonight/.deps/cpuminer-cryptonight.Po
mv -f algo/bmw/.deps/cpuminer-sph_bmw.Tpo algo/bmw/.deps/cpuminer-sph_bmw.Po
mv -f algo/cubehash/.deps/cpuminer-sph_cubehash.Tpo algo/cubehash/.deps/cpuminer-sph_cubehash.Po
make[2]: Leaving directory `/root/cpuminer-opt'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/cpuminer-opt'
make: *** [all] Error 2
strip: 'cpuminer': No such file

I'm running this on an  AMD Opteron 4284 which, according to "cat /proc/cpuinfo" has "SSE2" enabled under "flags".

The installed dependencies are copypasted from the install manual:
Code:
apt-get install build-essential libssl-dev libcurl4-openssl-dev libjansson-dev libgmp-dev automake

I have tried to install both with ./build.sh and

Code:
./autogen.sh CFLAGS="-O3 -march=native -Wall" CXXFLAGS="$CFLAGS -std=gnu++11"
./configure --with-curl
make

the former gives the error posted above while the latter gives the same error when I run the "make" comand.

I'd gladly try an older version if anyone can instruct me how to do so, though I'd prefer to understand what am I doing wrong with this.

Many thanks in advance!

EDIT: apparently, someone encountered a similar error here: https://bitcointalksearch.org/topic/m.14697284 to which it was suggested to him to run gcc -march=native -Q --help=target|grep march.

The result of that command is "amdfam10" so I tried to run ./configure by replacing "-march=native" both with "-march=amdfam10" and "-march=btver1" (copied from the linked message). Unfortunately, this changed nothing.

EDIT2: Tried the legacy version, 3.5.9.1. Very similar error about "__m128i" being incompatible with "int". Also, something about SSSE3 not being enabled.
hero member
Activity: 700
Merit: 500
Small question: is it possible to autodetect the cpu features on startup and just select the "best" - most appropriate - version?

As the miner itself detects the features already this should be possible in theory but maybe not that easy to implement with the "loading" of the correct binary/code

Try this:
http://web.inter.nl.net/hcc/J.Steunebrink/chkcpu.htm

Create a batch file using this to detect the features of the CPU and select the appropriate EXE.

Code:
CHKCPU32.exe /x > CHKCPU32.LOG

find "1" CHKCPU32.LOG
if %errorlevel% == 0 goto AVX2

find "1" CHKCPU32.LOG
if %errorlevel% == 0 goto AVX

find "1" CHKCPU32.LOG
if %errorlevel% == 0 goto AES

find "1" CHKCPU32.LOG
if %errorlevel% == 0 goto SSE42

GOTO SSE


maybe i phrased it wrong: i know it is possible via batch or external program, i hoped for single exe with all versions integrated which does the necessary stuff itself
much like claymore miners or similar
member
Activity: 132
Merit: 10
Hello,

i've i5-6700k cpu.this cpu has AVX2 .but miner starts with SSE2.How can i fix that? (in linux)

CPU: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz.
SW built on Jan 13 2018 with GCC 4.9.2.
CPU features: SSE2 AES AVX AVX2.
SW features: SSE2 AES AVX AVX2.
Algo features: SSE2 SHA.
Start mining with SSE2
newbie
Activity: 6
Merit: 0
hey braves!
It is possible insert a command in .bat, that run miner.exe, that run threads -t variable?

Example: 30 min w/ 4 threads, them 60 min w/ 2 threads,...

Thank you! Great hashes Wink

cpuminer --help is your friend.

--time-limit

Hi Joblo,

where/how I find this --help?
Serve to change the number of thread for a X time?
My level is zero for command but I think in the .bat must to have a "reboot", "restart" bat file. Make any sense?

legendary
Activity: 1470
Merit: 1114
hey braves!
It is possible insert a command in .bat, that run miner.exe, that run threads -t variable?

Example: 30 min w/ 4 threads, them 60 min w/ 2 threads,...

Thank you! Great hashes Wink

cpuminer --help is your friend.

--time-limit
newbie
Activity: 6
Merit: 0
hey braves!
It is possible insert a command in .bat, that run miner.exe, that run threads -t variable?

Example: 30 min w/ 4 threads, them 60 min w/ 2 threads,...

Thank you! Great hashes Wink
legendary
Activity: 1470
Merit: 1114
BTW with previous versions there were no such problems and build was successful.

This won't be easy, especially if I have to ask for the same info repeatedly.
If it worked before why did you reinstall all the packages?
Why are you compiling with sudo?

I need to see the FIRST errors and what CPU you have.

Try building the previous version again the exact same way.

Try compiling from the source tarball instead of cloning.
newbie
Activity: 8
Merit: 0
Just in case someone is wondering, i tested building with gcc 7.2.0 (compiled from source) and at least mining with cryptonight algorithm there is no difference in performance vs gcc 4.8.5
newbie
Activity: 50
Merit: 0
I assume you're a first timer. It always helps to mention that up front.
Have you read the instructions and ensure all dependencies are installed?
Find the first few errors, read them, try to understand what it means. If you can't figure it out
post it here. It also helps if you mention your CPU.


These are dependencies I am installing and commands I am running:

Code:
1. sudo apt-get install automake autoconf pkg-config libcurl4-openssl-dev libjansson-dev libssl-dev libgmp-dev -y

2. sudo apt-get install autotools-dev automake make libcurl4-openssl-dev g++ libssl-dev libgmp3-dev -y

3. sudo apt-get install build-essential screen automake m4 openssl libssl-dev git libjson0 libjson0-dev libcurl4-openssl-dev autoconf python-software-properties -y

4. sudo git clone https://github.com/JayDDee/cpuminer-opt

5. cd cpuminer-opt

6. sudo ./build.sh

These are some of the errors I am getting:

Code:
In file included from algo/echo/aes_ni/vperm.h:20:0,
                 from algo/echo/aes_ni/hash.c:21:
/usr/lib/gcc/x86_64-linux-gnu/5/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)

Code:
In file included from algo/echo/aes_ni/hash.c:21:0:
algo/echo/aes_ni/vperm.h:77:5: error: called from here
  t3 = _mm_shuffle_epi8(*((__m128i*)_k_inv + 0), t4);\

There are dozens of errors like this. Unfortunatelly I am not that proficient with ubuntu to try to understand those errors.

Anyways running build always finish with these lines:
Code:
Makefile:818: recipe for target 'all' failed
make: *** [all] Error 2
strip: 'cpuminer': No such file

BTW with previous versions there were no such problems and build was successful.
Pages:
Jump to: