FIAS . Impressum . Privacy

Vc Build Error

GRABNER Friedrich [please enable javascript to see the address]
Mon Jan 25 17:53:39 CET 2016


Dear All,

I want to try and vectorise my code using Vc. However first I am trying some of the examples, and I am having a little trouble.

Firstly I can easily build both the 0.7 and 0.8 branches however for the master branch I see the following error:

[ 15%] Building CXX object CMakeFiles/Vc.dir/avx_sorthelper_AVX.cpp.o
[ 15%] Building CXX object CMakeFiles/Vc.dir/avx_sorthelper_AVX2+FMA+BMI2.cpp.o
/tmp/ccGuLgWH.s: Assembler messages:
/tmp/ccGuLgWH.s:12: Error: no such instruction: `vextracti128 $0x1,%ymm0,%xmm1'
/tmp/ccGuLgWH.s:62: Error: no such instruction: `vinserti128 $0x1,%xmm1,%ymm0,%ymm0'
/tmp/ccGuLgWH.s:81: Error: no such instruction: `vextracti128 $0x1,%ymm0,%xmm1'
/tmp/ccGuLgWH.s:131: Error: no such instruction: `vinserti128 $0x1,%xmm1,%ymm0,%ymm0'
/tmp/ccGuLgWH.s:150: Error: no such instruction: `vextracti128 $0x1,%ymm0,%xmm3'
/tmp/ccGuLgWH.s:183: Error: no such instruction: `vinserti128 $0x1,%xmm0,%ymm2,%ymm0'
/tmp/ccGuLgWH.s:189: Error: no such instruction: `vinserti128 $0x1,%xmm0,%ymm2,%ymm0'
/tmp/ccGuLgWH.s:195: Error: no such instruction: `vinserti128 $0x1,%xmm2,%ymm0,%ymm0'
/tmp/ccGuLgWH.s:214: Error: no such instruction: `vextracti128 $0x1,%ymm0,%xmm3'
/tmp/ccGuLgWH.s:247: Error: no such instruction: `vinserti128 $0x1,%xmm0,%ymm2,%ymm0'
/tmp/ccGuLgWH.s:253: Error: no such instruction: `vinserti128 $0x1,%xmm0,%ymm2,%ymm0'
/tmp/ccGuLgWH.s:259: Error: no such instruction: `vinserti128 $0x1,%xmm2,%ymm0,%ymm0'
make[2]: *** [CMakeFiles/Vc.dir/avx_sorthelper_AVX2+FMA+BMI2.cpp.o] Error 1
make[1]: *** [CMakeFiles/Vc.dir/all] Error 2
make: *** [all] Error 2

Despite using the same cmake settings. Ok I don't mind using version 0.8 however I cannot get it to compile...

Using gcc-5.2, I am trying to compile the example matrix (though the same/similar errors occur for all examples) as I have seen from investigating the archives the reccomended compilation settings are something like this:

g++ -std=c++11 -march=native -O3 -I/path/to/include -L/path/to/lib -lVc main.cpp 

The error I receive is as follows:

main.cpp:(.text+0x202): undefined reference to `Vc::RandomState'
main.cpp:(.text+0x28d): undefined reference to `Vc::RandomState'
main.cpp:(.text+0x7c2): undefined reference to `Vc::RandomState'
main.cpp:(.text+0xec0): undefined reference to `Vc::RandomState'
main.cpp:(.text+0xf43): undefined reference to `Vc::AVX::c_general::oneFloat'
main.cpp:(.text+0xf5a): undefined reference to `Vc::AVX::c_general::oneFloat'
main.cpp:(.text+0x1636): undefined reference to `Vc::RandomState'
main.cpp:(.text+0x16c1): undefined reference to `Vc::RandomState'
main.cpp:(.text+0x1bf6): undefined reference to `Vc::RandomState'
main.cpp:(.text+0x22f4): undefined reference to `Vc::RandomState'
main.cpp:(.text+0x2377): undefined reference to `Vc::AVX::c_general::oneFloat'
main.cpp:(.text+0x238e): undefined reference to `Vc::AVX::c_general::oneFloat'
main.cpp:(.text+0x310c): undefined reference to `Vc::AVX::Vector<float> Vc::Trigonometric<Vc::ImplementationT<6u> >::atan2<float>(Vc::AVX::Vector<float> const&, Vc::AVX::Vector<float> const&)'
collect2: error: ld returned 1 exit status

or 

/tmp/ccue4a62.o: In function `Vc::(anonymous namespace)::runLibraryAbiCheck::runLibraryAbiCheck()':
main.cpp:(.text+0x1c): undefined reference to `Vc::checkLibraryAbi(unsigned int, unsigned int, char const*)'
collect2: error: ld returned 1 exit status


I have really exhaustively tried to find the issue but to no avail.

I have high hopes for being able to use Vc as it seems far easier to implement and has much better documentation than other similar tools such as boost::simd...

I look forward to hearing your response,
Friedrich Grabner





More information about the Vc mailing list
FIAS . Impressum . Privacy