Closed jeremylp2 closed 5 years ago
Hello,
FAMSA was designed to work properly on different architectures - supported CPU extensions are determined at runtime and appropriate code is executed. It should not matter if machine on which binary is built supports AVX or not, but apparently there is some problem with that. We will take a look on that. Could you give us some details about hardware configuration and OS you were using?
Sorry I missed your response earlier. I have tried compiling on a MacBook pro (OS 10.11) with an Intel Core i7 processor, and an Intel Xeon E5-1620 machine running Debian Linux. Same result either way.
Forgive me the delay in response - I have forgotten to assign myself to the issue. I will take a look on the problem.
Same issue
Dear Jeremy and Martin, Sorry it took me so long. While pre-built binary is multiplatform and detetermines supported instructions at runtime, you may indeed encounter a problem when building FAMSA on non-AVX machine. At the top of the makefile I added NO_AVX and NO_AVX2 switches that should solve the problem. Please let me know. Adam
Hi,
Can FAMSA be used on a machine without the AVX2 instruction set? If I attempt to compile on a machine that doesn't have it (using g++ 5.4), I see errors like this:
g++ -Wall -O3 -m64 -std=c++11 -pthread -I libs -I libs-linux -mavx2 -fabi-version=0 -mpopcnt -funroll-loops -c core/lcsbp_avx2.cpp -o core/lcsbp_avx2.o In file included from core/../core/../libs/vectorclass.h:35:0, from core/../core/lcsbp_avx2.h:14, from core/lcsbp_avx2.cpp:11: core/../core/../libs/instrset.h:85:17: note: #pragma message: It is recommended to specify also option -mfma when using -mavx2 or higher
pragma message "It is recommended to specify also option -mfma when using -mavx2 or higher"
ccVAG2BB.s: Assembler messages: ccVAG2BB.s:98: Error: suffix or operands invalid for
vpxor' ccVAG2BB.s:103: Error: no such instruction:
vinserti128 $0x1,%xmm1,%ymm3,%ymm4' ccVAG2BB.s:104: Error: suffix or operands invalid forvpand' ccVAG2BB.s:105: Error: suffix or operands invalid for
vpaddq' ccVAG2BB.s:106: Error: suffix or operands invalid forvpsubq' ccVAG2BB.s:107: Error: suffix or operands invalid for
vpxor' ccVAG2BB.s:108: Error: suffix or operands invalid forvpor' ccVAG2BB.s:109: Error: suffix or operands invalid for
vpcmpgtq' ccVAG2BB.s:124: Error: suffix or operands invalid for `vpxor'