Menu

VS14 projects broken

gl-tter
2015-09-01
2016-03-22
  • gl-tter

    gl-tter - 2015-09-01

    Hi, I just want to check out the library but it looks like the VS14 projects are broken (tested the current SVN). All projects failt to build with:

    error TRK0005: Failed to locate: "CL.exe". The system cannot find the file specified.
    

    The problem seems to be in the property sheets / Properties.props. When you look at a specific project/configuration sheet list in Property Manager, the Microsoft.Cpp.Win32.user sheet is at the bottom. I think it should be at the top (it usually is). Down there it doesn't inherit the default binary path. Also unlike in other projects, all its settings are read-only.

    I'm not very familiar with property sheets (I'm just migrating from VC2008 where i never needed them), but hacking Properties.props and the vcxproj files manually for a while, I was able to move the user sheet back to the top of the list. It then inherited the binary path correctly, but was still read-only. And now I get errors about the vs140 toolset not being found.

    I have no problem building other VS14 projects and the sheets are correct there. Any ideas?

     

    Last edit: gl-tter 2015-09-01
    • gl-tter

      gl-tter - 2015-09-02

      I gave up and completely rebuilt the vs14 projects from scratch (attached).

      I've also added a Post-Build event to automatically run the test executable.

      In addition I had to add this to SimBase.h to get std::max to resolve (at least on my setup):

      #include <algorithm> // gl.tter: for std:max to resolve on VS14
      

      One problem is that the release Test crashes on my IvyBridge CPU on a ANDN instruction, which I guess it doesn't support. Does the Test require the full range of SIMD extensions present, or should there be some runtime selection? I could only get the test to build by making the SIMD project a static library (else it doesn't export any symbols due to the way the Test is set up).

      Also on a quick scan you only support Bilinear resizing, is that right? Are there any plans to add Bicubic, ideally with sharpness options?

       

      Last edit: gl-tter 2015-09-02
  • Yermalayeu Ihar

    Yermalayeu Ihar - 2015-09-02

    Usually I use MSVS 2012 (VS11) for testing of Simd Library on Windows. Now I don't have VS14 on my computer and I can't check your changes. But I can add you to Simd project. Would you like to join the project?

    The Test and the Simd projects must check CPU before using any SIMD extensions (see SimdEnable.h). May be there is an error.

    I wanted to add Bicubic resizing, but I haven't free time to do it.

     
  • gl-tter

    gl-tter - 2015-09-02

    Unfortunately I don't have time to join, I just got obsessed with getting the projects working (it was a good way to learn about property sheets : ). The included vs14 projects are definitely broken. I also tried importing the vs11 projects and they had the same issues on vs14.

    Basically I've been looking for a SIMD optimized graphics library, I was using Framewave for years but that's no longer maintained and its build system is horrible, I can't get it working on vs14. I found SIMD on Google, there doesn't seem to be anything else open-sourced that does optimized high quality image resizing, just Intel's expensive IPP.

     

    Last edit: gl-tter 2015-09-02
  • Yermalayeu Ihar

    Yermalayeu Ihar - 2015-09-02

    I use Simd Library for video analytics. And I optimized it as much as it possible. But I didn't need to use bicubic resizing never before.

     
  • Nikolai Vorontsov

    Hello Ihar,

    I've got the same issue today with Visual Studio 2013. I suppose gl-tter had the same. The reason is that your project files are targeted to VS2015. No problem with that, but obviously my VS2013 has no the v140 toolset (only v120 and v120_xp are available). Anyway, it's a matter of seconds to switch toolset for all projects to what you have (v120 in my case).

    However I have another issue: I successfully built the latest official library (3.0.39.674) in all possible modes (debug/release, x86/x64), but it failed to pass the unit-test validation. I tested Release x86 and Release x64. In both cases I got:
    ...
    [4236] INFO: IntegralAutoTest - is finished successfully.

    [4236] INFO: InterferenceIncrementAutoTest is started :
    [4236] INFO: Test Simd::Base::InterferenceIncrement & SimdInterferenceIncrement [1920, 1080].
    [4236] ERROR:
    Fail comparison:
    Error at [365,19] : (8888) != (-32766).
    Error at [19,32] : (8888) != (-32767).
    Error at [48,33] : (8888) != (-32767).
    Error at [1396,40] : (8888) != (-32766).
    Error at [275,42] : (8888) != (-32766).
    Error at [1456,54] : (8888) != (-32767).
    Error at [1780,63] : (8888) != (-32767).
    Error at [494,71] : (8888) != (-32767).
    Error at [1308,74] : (8888) != (-32766).
    Error at [385,75] : (8888) != (-32767).
    Error at [1162,92] : (8888) != (-32767).
    Error at [1641,95] : (8888) != (-32766).
    Error at [1310,97] : (8888) != (-32766).
    Error at [447,100] : (8888) != (-32767).
    Error at [1353,101] : (8888) != (-32767).
    Error at [94,102] : (8888) != (-32766).
    Error at [877,103] : (8888) != (-32766).
    Error at [1845,112] : (8888) != (-32767).
    Error at [250,115] : (8888) != (-32767).
    Error at [216,116] : (8888) != (-32766).
    Error at [1065,121] : (8888) != (-32766).
    Error at [990,129] : (8888) != (-32767).
    Error at [318,133] : (8888) != (-32766).
    Error at [467,146] : (8888) != (-32767).
    Error at [703,154] : (8888) != (-32767).
    Error at [540,161] : (8888) != (-32766).
    Error at [960,171] : (8888) != (-32766).
    Error at [1669,173] : (8888) != (-32766).
    Error at [1730,174] : (8888) != (-32767).
    Error at [806,180] : (8888) != (-32767).
    Error at [1127,181] : (8888) != (-32766).
    Error at [1299,188] : (8888) != (-32766).
    Stop comparison.

    [4236] INFO: InterferenceIncrementAutoTest - is finished with errors!

    [4236] ERROR: ERROR! TEST EXECUTION IS TERMINATED !

    My CPU is Intel Xeon E3 1220 v3 (haswell-WS, Instructions sets MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64T, VT-x, AES, AVX, AVX2, FMA3), OS - Windows 7 Prof x64.

    Are there any other useful info I can provide you?

    Thanks in advance,
    Nikolai

     

    Last edit: Nikolai Vorontsov 2016-03-21
  • Nikolai Vorontsov

    OK, seems to be found an error:
    In Test\testUtils.cpp in function void FillRandom(View & view, uint8_t lo, uint8_t hi) at line 46 there is a statement:
    bool fast = (lo == 0) && (hi = 255);

    the last check is assignment in fact. After I changed it to
    bool fast = (lo == 0) && (hi == 255);

    all tests went normally. Please fix. Thanks a lot.

     
    • Yermalayeu Ihar

      Yermalayeu Ihar - 2016-03-22

      Thank you for your efforts. But I have already fixed this error. It was on March 3 and this fix wasn't included in last release of the library. But of course it will be necessarily in the next one.

       

Anonymous
Anonymous

Add attachments
Cancel