Re: Support for optimization for dual core proc in C++




"JJ" <JJ@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:D3FE9020-12BE-43DE-B199-F8CE9465A16F@xxxxxxxxxxxxxxxx
Will there auto parallelization in VS 2008 C++? At a microsoft event in
Paris
earlier this year, I heard about that.

Having a syntax in for loops to have them done in parallel without
changing
anything else in the code.


VS2005 C++ already supports OpenMP which I guess is what you are describing.


in the intel C+ compiler compatible with .tlb type libraries in VS 2005 ?

OLE Type Libraries are language and compiler independent. The C++ compiler
doesn't use type libraries. The compiler uses the header files generated by
the midl compiler which are C or C++ (depending on macro definitions) and
the Intel compiler should have no problem with those. The Microsoft
compiler has a special syntax for invoking the idl toolset to generate those
header files, I don't know if the Intel compiler supports it, but you can
run the idl tools using makefile rules (Visual Studio custom build rules).


Regards

JJ

"Ben Voigt [C++ MVP]" wrote:


"JJ" <JJ@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:E8C1A002-4626-4D99-BC62-0CA190C7F2DD@xxxxxxxxxxxxxxxx
I use C++ to do mathematical calculus using today VS 2005 and C++
without
.net.

Does the C++ in VS2005 allow optimization to parallelize and vectorize
loops
automatically like the product Intel(R) C++ Compiler Version 10.0 does
?

VS2005 (Pro edition or higher) has OpenMP. I suspect the Intel compiler
does better though...


I am interested in the following features:

Auto-vectorization:
parallelizes code to utilize the Streaming SIMD Extensions (SSE)
instruction set architectures (SSE, SSE2, SSE3, SSSE3, and SSE4) of our
latest processors.

High-Performance Parallel Optimizer (HPO):
restructures and optimizes loops to ensure that auto-vectorization,
OpenMP,
or auto-parallelization best utilizes the processor's capabilities for
cache
and memory accesses, SIMD instruction sets, and for multiple cores.
This
revolutionary capability, new for 10.0, combines vectorization,
parallelization and loop transformations into a single pass which is
faster,
more effective and more reliable than prior discrete phases.

Interprocedural Optimization (IPO):
dramatically improves performance of small- or medium-sized functions
that
are used frequently, especially programs that contain calls within
loops.
The
analysis capabilities of this optimizer can also give feedback on
vulnerabilities and coding errors, such as uninitialized variables or
OpenMP
API issues, which cannot be detected as well by compilers which rely
strictly
on analysis by a compiler front-end.

Does VS C++ this automatically or is it better to use Intel C++ inside
VS
2005 to have faster code on dual or quad core processors?

Will there be similar features in C++ VS 2008 ?

Regards

JJ





.