Vc at MIC
Kulakov, Igor
[please enable javascript to see the address]
Thu Aug 22 18:21:43 CEST 2013
> You should look through the unit tests in detail whether any of the failures
happen in functions that you use. If this is the case, let me know and I'll
give priority to those.
So I see 3 tests fail for sse:
scatter_sse
scatter_VC_USE_BSF_SCATTERS_sse
mask_sse
first two fail in scatterStruct, which we don't use.
mask fails in:
FAIL: ┍ at /home/ikulakov/Vc-0.99.71/tests/mask.cpp:353 (0x40c0c2):
FAIL: │ mask (m[0111]) == maskInv (m[0111]) -> true
FAIL: ┕ maskScalarAccess<float_v>
FAIL: ┍ at /home/ikulakov/Vc-0.99.71/tests/mask.cpp:353 (0x40d4bb):
FAIL: │ mask (m[0111 1111]) == maskInv (m[0111 1111]) -> true
FAIL: ┕ maskScalarAccess<short_v>
FAIL: ┍ at /home/ikulakov/Vc-0.99.71/tests/mask.cpp:353 (0x40ea1a):
FAIL: │ mask (m[0111 1111]) == maskInv (m[0111 1111]) -> true
FAIL: ┕ maskScalarAccess<sfloat_v>
FAIL: ┍ at /home/ikulakov/Vc-0.99.71/tests/mask.cpp:353 (0x40fcab):
FAIL: │ mask (m[0111 1111]) == maskInv (m[0111 1111]) -> true
FAIL: ┕ maskScalarAccess<ushort_v>
FAIL: ┍ at /home/ikulakov/Vc-0.99.71/tests/mask.cpp:353 (0x411152):
FAIL: │ mask (m[0111]) == maskInv (m[0111]) -> true
FAIL: ┕ maskScalarAccess<int_v>
FAIL: ┍ at /home/ikulakov/Vc-0.99.71/tests/mask.cpp:353 (0x4124b8):
FAIL: │ mask (m[01]) == maskInv (m[01]) -> true
FAIL: ┕ maskScalarAccess<double_v>
FAIL: ┍ at /home/ikulakov/Vc-0.99.71/tests/mask.cpp:353 (0x413852):
FAIL: │ mask (m[0111]) == maskInv (m[0111]) -> true
FAIL: ┕ maskScalarAccess<uint_v>
which hard to understand for me what it is and whether we use it:
template<typename V> void maskScalarAccess()/*{{{*/
{
typedef typename V::Mask M;
for_all_masks(V, mask) {
const auto &mask2 = mask;
for (int i = 0; i < V::Size; ++i) {
COMPARE(bool(mask[i]), mask2[i]);
}
const auto maskInv = !mask;
for (int i = 0; i < V::Size; ++i) {
mask[i] = !mask[i];
}
line 353: COMPARE(mask, maskInv);
for (int i = 0; i < V::Size; ++i) {
mask[i] = true;
}
COMPARE(mask, M(true));
}
}/*}}}*/
I guess we do, since other tests are ok.
Regards,
Igor
________________________________________
[please enable javascript to see the address][please enable javascript to see the address][please enable javascript to see the address]]
Sent: Thursday, August 22, 2013 8:49 AM
[please enable javascript to see the address]; Kisel, Ivan Prof. Dr.
Subject: Re: Vc at MIC
On Wednesday 21 August 2013 21:48:19 Kulakov, Igor wrote:
> We see significant differences in tracking results with Vc-0.99 and Vc-0.7.2
> using ICC-13.1.0. For example number of broken fast tracks (clones for ref
> set) is factor of 7(!) different. (see numbers below) Meanwhile with
> VC_IMPL=Scalar both Vc-0.99 and Vc-0.7.2 give same result.
>
> Do you have any suggestions how to proceed?
Wow, that's bad.
It's hard to guess where this is coming from so I need you to find the guilty
function(s) in Vc.
You should look through the unit tests in detail whether any of the failures
happen in functions that you use. If this is the case, let me know and I'll
give priority to those.
If not, then something breaks that doesn't have a test or where the test isn't
thorough enough. You'd have to find the place where it breaks and deduce the
function in Vc that is broken. It might be a miscompilation in which case this
may turn into a Heisenbug...
Q: The results below are for AVX?
Cheers,
Matthias
> Vc-0.99:
> ---- Global Performance 10 events Statistic ----
> Track category : Eff / Clones | All Reco | All MC
> Allset efficiency : 0.920 / 0.290 | 7119 | 7740
> Refset efficiency : 0.982 / 0.136 | 910 | 927
> Extra efficiency : 0.911 / 0.310 | 6209 | 6813
> Rest efficiency : 0.898 / 0.727 | 79 | 88
> Ghost probability : 0.129 | 917
> All reco tracks/ev : 711.900
> Reconstruction Time Real = 767.606 ms, CPU = 767.000 ms,
> parallelization speedup: 0.998
>
> Vc-0.7.2:
> ---- Global Performance 10 events Statistic ----
> Track category : Eff / Clones | All Reco | All MC
> Allset efficiency : 0.944 / 0.113 | 7304 | 7740
> Refset efficiency : 0.980 / 0.020 | 908 | 927
> Extra efficiency : 0.939 / 0.126 | 6396 | 6813
> Rest efficiency : 0.909 / 0.773 | 80 | 88
> Ghost probability : 0.127 | 929
> All reco tracks/ev : 730.400
> Reconstruction Time Real = 146.283 ms, CPU = 145.000 ms,
> parallelization speedup: 0.981
>
> ________________________________________
>[please enable javascript to see the address]
>[please enable javascript to see the address]] on behalf of Matthias Kretz
>[please enable javascript to see the address]] Sent: Friday, August 16, 2013 10:33 AM
>[please enable javascript to see the address]
> Subject: Re: Vc at MIC
>
> On Tuesday 13 August 2013 20:19:52 Zyzak, Maksym wrote:
> > I have compiled Vc-0.99.71 on the computer with MIC cards. And the test
> > are
> > failed. For the compilation I used icc 13.1.0.
>
> I recommend to always update ICC to the latest version. I use ICC 13.1.2
> 20130514. There were some really strange miscompiles with the older
> compilers.
> > The CPU is Intel(R) Xeon(R)
> > CPU E5-2680. The log of test is given below. Can you please suggest what
> > can be the problem? Should I use another version of Vc?
>
> There are failing tests for me as well, but the failures are in very special
> features. Fixing those requires a lot of work. Most of the recent failures
> I fixed were ICC bugs.
>
> --
> 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
--
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
More information about the Vc
mailing list