Vc-XeonPhi
Kulakov, Igor
[please enable javascript to see the address]
Mon Aug 26 17:30:55 CEST 2013
> Oh, you're saying Vc with ICC defaults to SSE even if AVX is supported. I'll
have to make a test for this.
It looks like this..
> You can take any other node as well to test Vc-0.99 with GCC. But the GCC
results are really important. If GCC and ICC agree then there's a high chance
for a bug in Vc.
I can't compile Vc with gcc.4.7.3:
/u/ikulakov/Vc/Vc-Phi/tests/mask.cpp: In function 'void testBinaryOperators()':
/u/ikulakov/Vc/Vc-Phi/tests/mask.cpp:305:31: error: 'short_m' was not declared in this scope
/u/ikulakov/Vc/Vc-Phi/tests/mask.cpp:305:31: note: suggested alternatives:
In file included from /u/ikulakov/Vc/Vc-Phi/include/Vc/Vc:22:0,
from /u/ikulakov/Vc/Vc-Phi/tests/unittest.h:29,
from /u/ikulakov/Vc/Vc-Phi/tests/mask.cpp:20:
/u/ikulakov/Vc/Vc-Phi/include/Vc/vector.h:91:25: note: 'Vc::short_m'
Here is the cmake log:
[17:29:46]~/Vc/Vc-Phi/build$ cmake ..
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /cvmfs/it.gsi.de/compiler/gcc/4.7.3/bin/gcc
-- Check for working C compiler: /cvmfs/it.gsi.de/compiler/gcc/4.7.3/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /cvmfs/it.gsi.de/compiler/gcc/4.7.3/bin/c++
-- Check for working CXX compiler: /cvmfs/it.gsi.de/compiler/gcc/4.7.3/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detected Compiler: GCC 4.7.3
-- Performing Test check_c_compiler_flag__std_c__11
-- Performing Test check_c_compiler_flag__std_c__11 - Failed
-- Performing Test check_cxx_compiler_flag__std_c__11
-- Performing Test check_cxx_compiler_flag__std_c__11 - Success
-- Performing Test check_c_compiler_flag__Wundef
-- Performing Test check_c_compiler_flag__Wundef - Success
-- Performing Test check_cxx_compiler_flag__Wundef
-- Performing Test check_cxx_compiler_flag__Wundef - Success
-- Performing Test check_c_compiler_flag__Wold_style_cast
-- Performing Test check_c_compiler_flag__Wold_style_cast - Failed
-- Performing Test check_cxx_compiler_flag__Wold_style_cast
-- Performing Test check_cxx_compiler_flag__Wold_style_cast - Success
-- Performing Test check_c_compiler_flag__Wno_variadic_macros
-- Performing Test check_c_compiler_flag__Wno_variadic_macros - Success
-- Performing Test check_cxx_compiler_flag__Wno_variadic_macros
-- Performing Test check_cxx_compiler_flag__Wno_variadic_macros - Success
-- Performing Test check_c_compiler_flag__Wabi
-- Performing Test check_c_compiler_flag__Wabi - Success
-- Performing Test check_cxx_compiler_flag__Wabi
-- Performing Test check_cxx_compiler_flag__Wabi - Success
-- Performing Test check_c_compiler_flag__fabi_version_0
-- Performing Test check_c_compiler_flag__fabi_version_0 - Success
-- Performing Test check_cxx_compiler_flag__fabi_version_0
-- Performing Test check_cxx_compiler_flag__fabi_version_0 - Success
-- Performing Test Vc_VOID_PTR_IS_64BIT
-- Performing Test Vc_VOID_PTR_IS_64BIT - Success
CMake Warning at cmake/UserWarning.cmake:4 (message):
Your binutils is too old (2.20.1) for XOP instructions. They will
therefore not be provided in libVc.
Call Stack (most recent call first):
cmake/VcMacros.cmake:156 (UserWarning)
cmake/VcMacros.cmake:296 (vc_check_assembler)
CMakeLists.txt:85 (vc_set_preferred_compiler_flags)
-- Performing Test check_c_compiler_flag__ffp_contract_fast
-- Performing Test check_c_compiler_flag__ffp_contract_fast - Success
-- Performing Test check_cxx_compiler_flag__ffp_contract_fast
-- Performing Test check_cxx_compiler_flag__ffp_contract_fast - Success
-- target changed from "" to "auto"
-- Detected CPU: nehalem
CMake Warning at cmake/UserWarning.cmake:4 (message):
XOP disabled per default because of old/broken compiler
Call Stack (most recent call first):
cmake/OptimizeForArchitecture.cmake:269 (UserWarning)
cmake/VcMacros.cmake:377 (OptimizeForArchitecture)
CMakeLists.txt:85 (vc_set_preferred_compiler_flags)
-- Performing Test check_c_compiler_flag__march_nehalem
-- Performing Test check_c_compiler_flag__march_nehalem - Failed
-- Performing Test check_cxx_compiler_flag__march_nehalem
-- Performing Test check_cxx_compiler_flag__march_nehalem - Failed
-- Performing Test check_c_compiler_flag__march_corei7
-- Performing Test check_c_compiler_flag__march_corei7 - Success
-- Performing Test check_cxx_compiler_flag__march_corei7
-- Performing Test check_cxx_compiler_flag__march_corei7 - Success
-- Performing Test check_c_compiler_flag__msse2
-- Performing Test check_c_compiler_flag__msse2 - Success
-- Performing Test check_cxx_compiler_flag__msse2
-- Performing Test check_cxx_compiler_flag__msse2 - Success
-- Performing Test check_c_compiler_flag__msse3
-- Performing Test check_c_compiler_flag__msse3 - Success
-- Performing Test check_cxx_compiler_flag__msse3
-- Performing Test check_cxx_compiler_flag__msse3 - Success
-- Looking for pmmintrin.h
-- Looking for pmmintrin.h - found
-- Performing Test check_c_compiler_flag__mssse3
-- Performing Test check_c_compiler_flag__mssse3 - Success
-- Performing Test check_cxx_compiler_flag__mssse3
-- Performing Test check_cxx_compiler_flag__mssse3 - Success
-- Looking for tmmintrin.h
-- Looking for tmmintrin.h - found
-- Performing Test check_c_compiler_flag__msse4_1
-- Performing Test check_c_compiler_flag__msse4_1 - Success
-- Performing Test check_cxx_compiler_flag__msse4_1
-- Performing Test check_cxx_compiler_flag__msse4_1 - Success
-- Looking for smmintrin.h
-- Looking for smmintrin.h - found
-- Performing Test check_c_compiler_flag__msse4_2
-- Performing Test check_c_compiler_flag__msse4_2 - Success
-- Performing Test check_cxx_compiler_flag__msse4_2
-- Performing Test check_cxx_compiler_flag__msse4_2 - Success
-- Performing Test check_c_compiler_flag__mno_sse4a
-- Performing Test check_c_compiler_flag__mno_sse4a - Success
-- Performing Test check_cxx_compiler_flag__mno_sse4a
-- Performing Test check_cxx_compiler_flag__mno_sse4a - Success
-- Performing Test check_c_compiler_flag__mno_avx
-- Performing Test check_c_compiler_flag__mno_avx - Success
-- Performing Test check_cxx_compiler_flag__mno_avx
-- Performing Test check_cxx_compiler_flag__mno_avx - Success
-- Performing Test check_c_compiler_flag__mno_xop
-- Performing Test check_c_compiler_flag__mno_xop - Success
-- Performing Test check_cxx_compiler_flag__mno_xop
-- Performing Test check_cxx_compiler_flag__mno_xop - Success
-- Performing Test check_c_compiler_flag__mno_fma4
-- Performing Test check_c_compiler_flag__mno_fma4 - Success
-- Performing Test check_cxx_compiler_flag__mno_fma4
-- Performing Test check_cxx_compiler_flag__mno_fma4 - Success
-- Performing Test check_c_compiler_flag__fPIC
-- Performing Test check_c_compiler_flag__fPIC - Success
-- Performing Test check_cxx_compiler_flag__fPIC
-- Performing Test check_cxx_compiler_flag__fPIC - Success
-- Performing Test check_c_compiler_flag__mavx
-- Performing Test check_c_compiler_flag__mavx - Success
-- Performing Test check_cxx_compiler_flag__mavx
-- Performing Test check_cxx_compiler_flag__mavx - Success
-- Performing Test check_c_compiler_flag__mfma
-- Performing Test check_c_compiler_flag__mfma - Success
-- Performing Test check_cxx_compiler_flag__mfma
-- Performing Test check_cxx_compiler_flag__mfma - Success
-- Performing Test check_cxx_compiler_flag_-xAVX
-- Performing Test check_cxx_compiler_flag_-xAVX - Failed
-- Performing Test check_cxx_compiler_flag_-mavx
-- Performing Test check_cxx_compiler_flag_-mavx - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /u/ikulakov/Vc/Vc-Phi/build
________________________________________
[please enable javascript to see the address][please enable javascript to see the address][please enable javascript to see the address]]
Sent: Monday, August 26, 2013 4:34 PM
[please enable javascript to see the address]
Cc: Ivan Kisel
Subject: Re: Vc-XeonPhi
On Monday 26 August 2013 13:59:59 Kulakov, Igor wrote:
> 1. I get 13.6% without VC_IMLP definition at all. But in this case
> float_v::Size == 4.
Oh, you're saying Vc with ICC defaults to SSE even if AVX is supported. I'll
have to make a test for this.
> 2. Same with VC_IMPL=SSE.
> 3. VC_IMPL=AVX gives same result. I check - float_v::Size == 8.
OK, at least Vc with ICC is consistent there.
> 4. on MIC I have seg fault with Release. and Assertion `hitIndex < NHits'
> in Debug.
That assertion is a good hint why it segfaults in Release mode. You'd need to
find out whether the assertion is hit because of an incorrect assumption about
the vector size or because of a bug in Vc.
> 5. on MIC with VC_IMPL=Scalar it works nice.
:)
> 6. We have only gcc 4.4.7 on the node. Vc-0.99 requires at least GCC 4.6.
You can take any other node as well to test Vc-0.99 with GCC. But the GCC
results are really important. If GCC and ICC agree then there's a high chance
for a bug in Vc.
>
> > Maybe I can see a pattern if you give me more results. Also, if you can
> > identify small sections of code where it goes wrong we could try to
> > enhance
> > the Vc unit tests.
>
> I will look into this later.
>
> Regards,
> Igor
>
> On Aug 26, 2013, at 9:28 AM, Matthias Kretz wrote:
> > I'm currently looking into the MIC failures. The tests actually pass, but
> > libstdc++ segfaults after main returned...
> >
> > Let me make sure I understand your remaining issue:
> > You get 13.6% clones with Vc-XeonPhi using ICC and VC_IMPL=SSE, right?
> > What you you get if you use GCC 4.7/4.8 instead?
> > Any difference for AVX?
> > And how does it look on MIC?
> >
> > Maybe I can see a pattern if you give me more results. Also, if you can
> > identify small sections of code where it goes wrong we could try to
> > enhance
> > the Vc unit tests.
> >
> > -Matthias
> >
> > On Monday 26 August 2013 13:20:45 Kulakov, Igor wrote:
> >> Matthias, thank you.
> >>
> >> It has improved the situation.
> >>
> >> 1. I have only 4 test fails with Vc (not 18 as before), all of them are
> >> mic
> >> tests, none are sse. 2. The tracker runs now in Release (do not crashes)
> >> with sse. But with same 13.6% clones.
--
Dipl.-Phys. Matthias Kretz
Web: http://compeng.uni-frankfurt.de/?mkretz
SIMD easy and portable: http://compeng.uni-frankfurt.de/?vc
_______________________________________________
Vc mailing list
[please enable javascript to see the address]
https://compeng.uni-frankfurt.de/mailman/listinfo/vc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://compeng.uni-frankfurt.de/pipermail/vc/attachments/20130826/1f461c2a/attachment.html>
More information about the Vc
mailing list