freepooma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Good News. Intel's ICC 8.0 Beta looks promising, now.


From: Paul A. Renard
Subject: Good News. Intel's ICC 8.0 Beta looks promising, now.
Date: Tue, 03 Jun 2003 12:11:06 -0700

Back in February, 2003, I reported that Intel's icc 7.0 compiler was producing code using Pooma constructs that was 2X-4X slower than KCC.  Since then, the folks at Intel have worked hard, and for my little test (reproduced at the end of this message), the icc 8.0 Beta compiler (l_cc_b_8.0.023) is now producing  code slightly faster (maybe 5-10%) than KCC, and certainly comparable to hand-written loops.

The only optimization items for compiling were:
            -O3 -DNOPAssert -DNOCTAssert -tpp7 -xW
but the last two are particular to Pentium 4 vectorization, which plays a very small part in the tests I did, and which probably caused the "slightly faster", rather than "just about the same speed".

So, icc 8.0 seems to be a useful choice in compilers (for Linux and Windows).

-Paul

(What follows is my original posting)

Given the following:

 const int N=128;
 Array<2,complex<float> > u(N,N);
 Iota<2>::Iota_t ij(iota(u.domain());
 Iota<2>::Index_t I(ij.comp(0));
 Iota<2>::Index_t J(ij.comp(1));
 Array<1,complex<float> > cx(N), cy(N);

 // Values for u, cx, cy are filled elsewhere.

 // Then the following is called:
 void compute(){
  u *= cx(I)*cy(J);    // runs 4X slower with icc than KCC
 }

 When I time this routine, I find that it runs about 4X slower when compiled with Intel's icc (Version 7, -O3 -DNOPAssert -DNOCTASSERT) than with KCC (version 4.0f, +K3 -DNOPAssert, -DNOCTAssert).  As expected, the KCC version runs as fast as hand-written loops.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]