Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

what kind of software i need?

darkfate
Beginner
355 Views
Hello at first and sorry for the dumb question but after reading a lot of pdfs i am still not sure what i have to buy.

I am programming math. with C/C++ and want to get more performance.
I need complex operations and matrix operations.

I already have MS Visual Studio 2008 Prof. Ed.
Does the MKL have faster types like "integer, double, long double" than MS?
Are BLAS95 and LAPACK95 in Fortran? Do i need a Fortran Compiler? Why are they not translated in C/C++?
Does Linux Software work faster on the same machine?

Thans for the answers in advance.
0 Kudos
4 Replies
TimP
Honored Contributor III
355 Views
Some of your questions have been dealt with on the MKL forum. Admittedly, it's difficult to get ahead with the search tool. MKL doesn't support long double, nor any data types other than standard ones. C99 complex is preferred over C++ complex; there is an MKL_COMPLEX in the headers which you could use to assure compatibility.
In the 64-bit OS versions of MKL, there is support for either 32- or 64-bit integers (not both together).
Blas95 and lapack95 are Fortran 95 wrappers for the legacy (Fortran 77) BLAS and lapack interface. The f77 interface is still in widespread use, both for calling from C and from Fortran. There is also a Cblas wrapper set, not explicitly supported in MKL, but compatible with it.
Much of BLAS has been translated to C. It hasn't worked well enough to displace the usual methods of invoking the legacy Fortran version. As you are no doubt aware, academic careers have been built on C++ equivalents of many of the functions, without sufficient practical success to displace BLAS. Intel doesn't turn down opportunities to sell more faster hardware where someone chooses a slower software implementation.
You would almost certainly find the Intel Professional C++ or Fortran products (or both), which include MKL, a useful addition to either VS2008 or a linux installation. Intel C++ includes IPP and TBB performance libraries, as well as MKL, so it is certainly feasible to use them all without Fortran (just not my preference).
Just as it is usually possible to get 90% of Fortran performance in C++, with significantly more effort, it is possible (occasionally difficult) to get 95% of linux performance under Windows. The new Windows versions, including Windows 7, which are due shortly, should overcome some of the limitations. In both Windows and linux, the 64-bit OS solves some of the problems inherently, and pushes back many limitations.
Where your performance is determined by the MKL functions, Intel has taken care of much of the differences between languages and OS.
0 Kudos
avparate
Beginner
355 Views
Quoting - tim18
Some of your questions have been dealt with on the MKL forum. Admittedly, it's difficult to get ahead with the search tool. MKL doesn't support long double, nor any data types other than standard ones. C99 complex is preferred over C++ complex; there is an MKL_COMPLEX in the headers which you could use to assure compatibility.
In the 64-bit OS versions of MKL, there is support for either 32- or 64-bit integers (not both together).
Blas95 and lapack95 are Fortran 95 wrappers for the legacy (Fortran 77) BLAS and lapack interface. The f77 interface is still in widespread use, both for calling from C and from Fortran. There is also a Cblas wrapper set, not explicitly supported in MKL, but compatible with it.
Much of BLAS has been translated to C. It hasn't worked well enough to displace the usual methods of invoking the legacy Fortran version. As you are no doubt aware, academic careers have been built on C++ equivalents of many of the functions, without sufficient practical success to displace BLAS. Intel doesn't turn down opportunities to sell more faster hardware where someone chooses a slower software implementation.
You would almost certainly find the Intel Professional C++ or Fortran products (or both), which include MKL, a useful addition to either VS2008 or a linux installation. Intel C++ includes IPP and TBB performance libraries, as well as MKL, so it is certainly feasible to use them all without Fortran (just not my preference).
Just as it is usually possible to get 90% of Fortran performance in C++, with significantly more effort, it is possible (occasionally difficult) to get 95% of linux performance under Windows. The new Windows versions, including Windows 7, which are due shortly, should overcome some of the limitations. In both Windows and linux, the 64-bit OS solves some of the problems inherently, and pushes back many limitations.
Where your performance is determined by the MKL functions, Intel has taken care of much of the differences between languages and OS.

Hi Tim18

I am C# coder. For parallel programming I usually use .Net Threading class. I just want to know how different is this TBB & IPP libraries for those of thread classes in .Net. I mean in terms of performance & overall?
0 Kudos
TimP
Honored Contributor III
355 Views
Quoting - avinashparate

Hi Tim18

I am C# coder. For parallel programming I usually use .Net Threading class. I just want to know how different is this TBB & IPP libraries for those of thread classes in .Net. I mean in terms of performance & overall?
I'm no expert on this, and there are separate forum sections for TBB and IPP. Evidently, performance is a primary goal of those tools. According to the promotional lectures presented last week, Microsoft and Intel are cooperating on thread classes to an unprecedented extent for VS2010 and future versions of ICL, so this Microsoft vs Intel dilemma on C++ extensions should see improvement.
0 Kudos
avparate
Beginner
355 Views
Quoting - tim18
I'm no expert on this, and there are separate forum sections for TBB and IPP. Evidently, performance is a primary goal of those tools. According to the promotional lectures presented last week, Microsoft and Intel are cooperating on thread classes to an unprecedented extent for VS2010 and future versions of ICL, so this Microsoft vs Intel dilemma on C++ extensions should see improvement.

Ok, Thanks for the info. I will look in to those forums.
0 Kudos
Reply