Menu

Kudos

2003-07-25
2012-09-15
  • Simon Wood Jr

    Simon Wood Jr - 2003-07-25

    You guys are doing some good work. I enjoy using IT++. What are your plans for the next release and beyond?

    -Simon

     
    • Tony Ottosson Gadd

      Hi Simon,

      Nice to hear that you like IT++. Our future plans are not very concrete. Some ideas can be found in the file TODO (only present in the CVS repository). Usually new features are influenced by our current interests and research. E.g. I believe that we in the near future will have support for fixed-point types. I also believe that you will see some new channel coding blocks (such as LDPC codes) in the near future.

      Other things that we think is lacking is optimization and integration tools. We have however not decided how to handle this yet.

      In general we are trying to clean up the code, to make it more transparent across OS and compilers. This will probably mean that we will drop the support of old compilers really soon now.

      We are also looking into speed issues, e.g. comparing IT++ with matlab. IT++ used to be much faster in everything, but since matlab 6 (and especially matlab 6.5) this has changed. I don't believe that we will be able to beat matlab with as much as before, but the goal is to at least be faster than matlab.

      We are also trying to make the install proceedure easier, since it is becoming quite difficult first compiling ATLAS, then LAPACK and finally IT++. One problem here is that LAPACK is in Fortran, so we have been thinking about moving to CLAPACK; or alternatively push for more LAPACK routines in ATLAS.

      If you have any ideas or comment please let us know. Are there anything that you are missing? By the way, how do you use IT++ and for what?

      /Tony

       
    • Anonymous

      Anonymous - 2003-07-29

      Hello,

      As Simon Wood, I would like to thank you for your work, which is very clear and easy to use. Personally, I mainly use the base classes (vec, mat, ...) and the channel coders. Obviously I also found many others tools and functions that simplify my life. For your information, I use IT++ to implement source(arithmetic,Huffman)+ECC schemes, in order to compare my research work (Robust Source Coding) with separate schemes.

      -Herv

       
    • Simon Wood Jr

      Simon Wood Jr - 2003-08-02

      Tony,
      I'll start by answering your question. I currently used IT++ to develop signal processing/communciations algorithms in the same manner as I would with Matlab.  Specifically I use it for developing modem applications (i.e. demodulators, carrier/timing synchronization algorithms, equalizers, etc.). I have also used the library to test out some interference cancellation and beamforming algorithms.

      Here are some comments on the rest of your post:
      In addition to using IT++ for simulation and analysis I have also tested its use for processing real-time data. To that end speed increase is extremely important. So, whatever you guys come up with here will be greatly appreciated. I have poked around with a few things here and there, but nothing drastic has jumped out at me. One thing that can be done for some of the signal processing functions like correlation and filtering is to implement "frequency" domain techniques. They typically are a lot faster. For example, take a look at Matlab's 'XCORR' function. It performs the cross correlation by taking the FFT of both inputs, multiplying them and taking the inverse FFT for the output. This has several speed advantages over standard "time-domain" processing.

      I agree with you in your assessment of Matlab. Since Release 13 (possibly 12) Matlab has incorporated algorithms from NAG. They are extremely fast. For example, I found Matlab's version of svd to be faster than IT++ using LAPACK. However, I believe this is a result of compiling LAPACK with GCC. The GCC Fortran compiler (g77) produces poor code compared to other compilers (i.e. Intel's Fortran Compiler). A co-worker of mine has performed some preliminary comparisons between the Intel compiler and g77 using LAPACK timing routines. We routinely found the Intel compiler to be about 30-50% faster. In some instances it was greater than 100% faster. BTW, we also compared two other Fortran compilers (Promula, and Portland Group). They were all faster than g77.

      In distributing your library to some of my co-workers (trying to spread the word ;-) I have also tried to find a way to "seamlessly" incorporate LAPACK and ATLAS. It has been kind of tough. Coming up with something here would be great. I kind of like the idea of moving towards using CLAPACK or trying to get the ATLAS guys to include more of the LAPACK functionality in their distributions. I checked the newest BETA releases of ATLAS and it does not contain any additional LAPACK routines. Also, moving to a C version of LAPACK could lead to better performance. I believe the GCC version of the C/C++ compiler is outstanding. However, I am not too sure about the Fortran compiler g77.

      Oh well, just my thoughts.

      -Simon
      P.S. Give a shout if you guys need help with anything.

       
      • Tony Ottosson Gadd

        Hi Simon,

        and thanks for your letter. It is interesting to hear your experience with the fortran compilers. I have tried CLAPACK before and it is rather easy to get it to work, but I never checked the speed in detail. I think it is time to do that. With all code in C/C++ I believe that IT++ will be much more portable.

        We are of course greatful for all the help we can get. The easiest way to contribute is probably by submitting small fixes such as bug-fixes, speed-ups and new routines that you have found useful. If you like to do more than that I propose that you join the team of developers.

        /Tony

         

Log in to post a comment.