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