Menu

svd test failing for itpp 4.2.0 on RHEL 6 using itpp 3.2.0 external libraries

Help
Navneet
2013-06-27
2013-07-03
  • Navneet

    Navneet - 2013-06-27

    Hi,

    I need help.

    I am trying to use itpp 4.2.0 using itpp external 3.2.0 libraries on linux servers (I think 64 bit) running RHEL 6. I unfortunately cannot use 4.3.0 since cmake is not installed on the servers. Even if cmake gets installed, I dont know how to use it with external itpp 3.2.0 libraries.
    When I run make check for itpp-4.2.0, I find that 1/57 tests, which is svd_test fails. The output in the svd_test.tmp is
    ================================
    Test of svd routines
    ================================
    Real matrix
    A = [[-0.283885 0.56497 -1.0746 -0.732016 -0.869443]
    [1.36446 -0.596145 2.36476 -2.10553 -0.0504762]
    [0.906001 -1.19732 2.36508 -0.923457 0.799682]
    [1.24942 -1.26756 1.22804 -1.89227 1.02849]
    [1.55783 -0.300385 0.234136 -0.664315 -0.900489]]
    norm(A - Udiag(S)V^T) = 0

    Complex matrix
    A = [[-0.160972-1.29916i 0.794379+1.03288i -0.127081+0.388325i 1.13396-0.225782i 0.562993-0.0690923i]
    [0.0361926+1.01917i -0.190616-0.710921i -0.572027-1.62447i 1.07734-0.884797i -0.822132+0.953281i]
    [-1.04693+0.760191i 1.32367+0.349763i -0.320883+0.1836i 0.465648-0.60769i -0.128067+0.278311i]
    [-0.280465+0.361084i 0.510483+0.174148i -1.02371+0.214321i 0.0533137-0.121635i 0.598587-0.190616i]
    [0.780099+0.643584i 0.475202-0.708159i -0.98353+0.261137i -0.848777-1.28903i -0.13041+0.0775548i]]
    norm(A - Udiag(S)V^H) = 4.25704
    The reference output should be (from svd_test.ref)
    ================================
    Test of svd routines
    ================================
    Real matrix
    A = [[-0.283885 0.56497 -1.0746 -0.732016 -0.869443]
    [1.36446 -0.596145 2.36476 -2.10553 -0.0504762]
    [0.906001 -1.19732 2.36508 -0.923457 0.799682]
    [1.24942 -1.26756 1.22804 -1.89227 1.02849]
    [1.55783 -0.300385 0.234136 -0.664315 -0.900489]]
    norm(A - Udiag(S)V^T) = 0

    Complex matrix
    A = [[-0.160972-1.29916i 0.794379+1.03288i -0.127081+0.388325i 1.13396-0.225782i 0.562993-0.0690923i]
    [0.0361926+1.01917i -0.190616-0.710921i -0.572027-1.62447i 1.07734-0.884797i -0.822132+0.953281i]
    [-1.04693+0.760191i 1.32367+0.349763i -0.320883+0.1836i 0.465648-0.60769i -0.128067+0.278311i]
    [-0.280465+0.361084i 0.510483+0.174148i -1.02371+0.214321i 0.0533137-0.121635i 0.598587-0.190616i]
    [0.780099+0.643584i 0.475202-0.708159i -0.98353+0.261137i -0.848777-1.28903i -0.13041+0.0775548i]]
    norm(A - Udiag(S)V^H) = 0

    Can someone please help me out how to resolve this so that I can start using itpp-4.2.0? I can post additional information if someone can tell me what relevant information should I post.

    Thanks,
    Navneet

     
  • Bogdan Cristea

    Bogdan Cristea - 2013-06-28

    Hi

    Could you post the diff between the reference file and the actual output for scd test ? If you don't have root access on the server and there is no way to install cmake probably there is not much to do and you could use that version. Otherwise, please install cmake and lapack, blas libraries from RHEL repositories and use the latest IT++ version.

    For using external libraries in non root mode with IT++ please open a bug report.

    regards
    Bogdan

     
  • Navneet

    Navneet - 2013-06-28

    Hi Bogdan,
    In my earlier post, I have posted the output of the test run on my installation and the reference output. I forgot to highlight the difference.

    The difference, because of which the test is failing, is only for complex matrix and not real matrix. The reference output is norm(A - Udiag(S)V^H) = 0 whereas the output on my installation is norm(A - Udiag(S)V^H) = 4.25704.
    Can you please help me out how to resolve this?

    I am a student and dont have access to root of servers. So unfortunately I cannot install cmake or other libraries on servers. I have to work with 4.2 version only :(

    Can you please tell me about what should I open the bug report? Should I open bug report for this svd test failing with external libraries for RHEL 6?

     
  • Bogdan Cristea

    Bogdan Cristea - 2013-06-28

    Hi

    There is not much do be done if you use external libraries. It might be better to switch to external libs provided by RHEL. Otherwise you could use IT++ as is if you don't need svd functions.

    For the bug report I was referring to the ability of detecting external libraries with cmake, as currently this is a regression with respect to the previous version.

    regards
    Bogdan

     
  • Navneet

    Navneet - 2013-06-28

    Hi Bogdan,

    I am still unable to understand how to file bug report?

    I have got a linux machine with RHEL 6 installed and am trying to install 4.3.0 on that. One issue is that cmake is available as version 2.6.4 on RHEL 6 and itpp-4.3.0 requires atleast 2.8.6 or better. So I installed cmake28 which is on version 2.9 and its running however not able to find BLAS, LAPACK and FFTW libraries. I have posted this problem on https://sourceforge.net/p/itpp/discussion/115656/thread/70b676a8/#4504 and request you to kindly help me out.

    Thanks,
    Navneet

     
  • Bogdan Cristea

    Bogdan Cristea - 2013-06-28

    Have you installed the header files for these libraries, what CMakeEror.log says ?

     
  • Navneet

    Navneet - 2013-07-01

    Hi Bogdan,

    I installed the header files for these libraries from development packages and was able to compile and install itpp. I can see libitpp.so.8.2.0 in '/usr/local/lib' folder. So I think the itpp library was built and installed. But I am not able to find any place where itpp-config was installed. When I issue "itpp-config --help" on command prompt, it gives error "-bash: itpp-config: command not found". Can you please tell me what to do?

    Following are the set of commands I used for building and installation:

    % export LD_LIBRARY_PATH=/usr/lib64/atlas
    % cmake28 .. -DBLA_VENDOR=ATLAS
    % sudo make
    % sudo make install

    I just want to add that I cannot be root on the machine and hence I am using sudo.

    Thanks,
    Navneet

     

    Last edit: Navneet 2013-07-01
  • Bogdan Cristea

    Bogdan Cristea - 2013-07-01

    The version from master has included install commands for this script. IT++ 4.3.0 has a regression, we should make a bug fixing release soon.

     
  • Navneet

    Navneet - 2013-07-01

    Hi bogdan,

    As I understand, you will be releasing bug fixed version soon. How can I use itpp till then? Is there any way? What command should I give for building the executable?

    Thanks,
    Navneet

     
  • Bogdan Cristea

    Bogdan Cristea - 2013-07-01

    Hi

    You could grab the latest version from master with git. If that script does not exist you need to create a Makefile and provide the correct compiler options, e.g.

    g++ -I/itpp/headers -litpp -L/path/to/itpp.so file.cpp -o file

     
  • Bogdan Cristea

    Bogdan Cristea - 2013-07-01

    There is also an option to download a snapshot instead of using git.

     
  • Navneet

    Navneet - 2013-07-01

    Hi Bogdan,

    I dont know how to use git. I am trying to use Makefile. Can you please give an approximate timeline when this bug fixed version will be released?

    Also can you please tell me how to use gtests to make sure that the installed version of itpp is working properly? Note that I wont be having itpp-config.

     
    • Kumar Appaiah

      Kumar Appaiah - 2013-07-01

      Even the version you installed that doesn't have itpp-config can work. You can just build like this:

      g++ -c my_itpp_program.cpp
      g++ -o my_itpp_program my_itpp_program.o -litpp

      assuming that your installation put files in /usr/local/lib,

       
  • Gert Wollny

    Gert Wollny - 2013-07-01

    git is only for downloading the latest version of the code with git clone like it is given here.

    Probably you have to install git first.

     
  • Navneet

    Navneet - 2013-07-01

    Hi all,
    Thanks for your kind help. I was able to run a simple itpp code using Makefile.

    I would like to know how to use gtests framework to ensure that my itpp installation is working ok.

    Thanks,
    Navneet

     
  • Navneet

    Navneet - 2013-07-02

    Hi Bogdan,

    I gave following commands

    % export LD_LIBRARY_PATH=/usr/lib64/atlas
    % cmake28 .. -DBLA_VENDOR=ATLAS -DGTEST_DIR=/local/itpp-4.3.0/gtests

    in the build directory. I got following error for gtests:
    -- Configuring done
    CMake Error at gtests/CMakeLists.txt:32 (add_executable):
    Cannot find source file:

    /local/itpp-4.3.0/gtests/src/gtest-all.cc
    

    Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
    .hxx .in .txx

    -- Build files have been written to: /local/itpp-4.3.0/build

    I believe that there is some problem with gtest source files or something. Can you please tell me what to do? I want to verify that itpp 4.3.0 installation is working properly on my local PC ( I mean all the tests are passing) before I start writing my own simulation code.

     
  • Bogdan Cristea

    Bogdan Cristea - 2013-07-03

    You need to download gtest source files and point GTEST_DIR variable to that folder. gtest folder from IT++ contains only the unit test files, not the Google unit test framework.

     
  • Navneet

    Navneet - 2013-07-03

    Hi Bogdan,

    From where can I download gtest source files and where should I keep the downloaded files? Can you please tell me in little detail?

    Also can this be provided with IT++ package, now that the testing is heading to Google unit test framework and old tests are no longer being maintained.

    Thanks,
    Navneet

     
  • Bogdan Cristea

    Bogdan Cristea - 2013-07-03

    Google C++ Testing Framework can be downloaded from https://code.google.com/p/googletest/downloads/list
    unzip the archive, then provide the path to the folder where these sources reside in GTEST_DIR variable. Follow the instructions found at
    http://itpp.sourceforge.net/4.3.0/installation.html#inst_instr_cmake

    There is no point in providing gtest sources in IT++ as this is a separate project that can still evolve separately from ours and it will make IT++ archives unnecessarily large.

     
  • Navneet

    Navneet - 2013-07-03

    Hi Bogdan,

    Thanks for the instructions. I was able to run gtests and got following output after running tests

    [----------] Global test environment tear-down
    [==========] 78 tests from 65 test cases ran. (85440 ms total)
    [ PASSED ] 78 tests.

    I think all tests passed and my installation is good to go. Thanks for yuor kind help.

    Navneet

     

Log in to post a comment.