12-09-2003
Arithmetic tests needs to be updated for advanced compiler optimization
Hi,
I was trying to build Linux Benchmarks with latest Intel C++ Compiler.
When I used -ipo (inter-procedural optimization) option, arithmetic test (arith.c) failed on execution.
The problem is Intel compiler's advanced optimization option (-ipo) optimizes much more than expected and this results in elimination of some part of code.
/-------------------------------------------------
++iter;
/* the loop calls a function to insure that something is done
the results of the function are fed back in (just so they
they won't be thrown away. A loop with
unused assignments may get optimized out of existence */
result = dumb_stuff(result);
/--------------------------------------------------------
This part gets eliminated becuase of IPO.
Steps to reproduce:
$icc -o ./pgms/arithoh -DTIME -O3 -xW -ipo -static -unroll -Darithoh ./src/arith.c
$./pgms/arithoh 1
0 loops
and this results in divide by zero error.
Regards,
CP
10 More Discussions You Might Find Interesting
1. News, Links, Events and Announcements
New Linux mail servers benchmarks website. Check out
http://benchmarks.dmz.ro . (0 Replies)
Discussion started by: cipango
0 Replies
2. UNIX for Advanced & Expert Users
Hello everyone.
Does anyone know where to I could find published benchmarks for how a Linux box performs. It would be nice if I could find a comparison to the Windows OS.
Thanks,
Lance (2 Replies)
Discussion started by: lcstephens
2 Replies
3. Linux Benchmarks
STEP 1: Get the source here:
https://www.unix.com/source/bm.zip
or
https://www.unix.com/source/unix_linux_bench.tar.gz
STEP 2: unzip or untar and cd into the bm directory
STEP 3: make
(Note: there is a pre-compiled Linux binary in the distro, so Linux users don't have to make a... (0 Replies)
Discussion started by: Neo
0 Replies
4. Linux Benchmarks
I created two computers with identical hardware, and run the benchmark programs in both starting at the same exact time.
What makes no sense is that the computer that has the lower average index (121) finished the race a good 30 minutes ahead of the computer wich showed the higher avg index... (0 Replies)
Discussion started by: philip_38
0 Replies
5. Linux
My system bench mark results
INDEX VALUES
TEST BASELINE RESULT INDEX
Arithmetic Test (type = double) 2541.7 876123.7 344.7
Dhrystone 2 without register variables 22366.3 5411602.3 ... (1 Reply)
Discussion started by: chandra s
1 Replies
6. Linux Benchmarks
FYI:
Here is the archive site for the original Linux benchmarks (1994 - 1996)
http://linux.silkroad.com/
Neo (3 Replies)
Discussion started by: Neo
3 Replies
7. Shell Programming and Scripting
Hello,
I am using suse 10.1 and isql from unixodbc to connect to a MS SQL server. I got everything to work fine. What do I need to unload the results from the sql to a file? I attempted to put unload to in my sql statement but got a error. I don't see in the isql help where it has a option to... (0 Replies)
Discussion started by: benefactr
0 Replies
8. Shell Programming and Scripting
Here is my script:
#
# Capture the current directory.
export -p CurrentDir="`pwd`"
echo $CurrentDir
#
# Capture the new directory name in the form YYYYMMDD.
export -p DateDir="`date +"%Y%m%d"`"
echo $DateDir
#
# Store the desired target directory.
export -p... (6 Replies)
Discussion started by: imprimisxo
6 Replies
9. Red Hat
I seem to be somewhat baffled by the results of the -L option of the ls command on our new Linux system.
I have a symbolic link defined like the following:
ptmawpmfld.sqr as /u21/xxxx/m/moranp1/yyyy/fixpaths/tests20091218/awpmfld.sqr
When I issue the command ls -l ptmawpmfld.sqr, I see the... (2 Replies)
Discussion started by: ptmoran
2 Replies
10. UNIX for Dummies Questions & Answers
I am trying to sort a file . The file looks like this:
DDFF 2 /ztpfrepos/pgr/load
DDFQ 2 /ztpfrepos/pgr/load
DDFX 2 /ztpfrepos/pgr/load
DDUA 2 /ztpfrepos/pgr/load
My command:
sort -k1 /home/c153507/Bin/OPL1.txt -o /home/c153507/Bin/OPL1.txt
The results are OK except for one line where... (4 Replies)
Discussion started by: Yahalom
4 Replies
LEARN ABOUT REDHAT
glubegintrim
GLUBEGINTRIM(3G) GLUBEGINTRIM(3G)
NAME
gluBeginTrim, gluEndTrim - delimit a NURBS trimming loop definition
C SPECIFICATION
void gluBeginTrim( GLUnurbs* nurb )
void gluEndTrim( GLUnurbs* nurb )
PARAMETERS
nurb Specifies the NURBS object (created with gluNewNurbsRenderer).
DESCRIPTION
Use gluBeginTrim to mark the beginning of a trimming loop, and gluEndTrim to mark the end of a trimming loop. A trimming loop is a set of
oriented curve segments (forming a closed curve) that define boundaries of a NURBS surface. You include these trimming loops in the defini-
tion of a NURBS surface, between calls to gluBeginSurface and gluEndSurface.
The definition for a NURBS surface can contain many trimming loops. For example, if you wrote a definition for a NURBS surface that resem-
bled a rectangle with a hole punched out, the definition would contain two trimming loops. One loop would define the outer edge of the rec-
tangle; the other would define the hole punched out of the rectangle. The definitions of each of these trimming loops would be bracketed by
a gluBeginTrim/gluEndTrim pair.
The definition of a single closed trimming loop can consist of multiple curve segments, each described as a piecewise linear curve (see
gluPwlCurve) or as a single NURBS curve (see gluNurbsCurve), or as a combination of both in any order. The only library calls that can
appear in a trimming loop definition (between the calls to gluBeginTrim and gluEndTrim) are gluPwlCurve and gluNurbsCurve.
The area of the NURBS surface that is displayed is the region in the domain to the left of the trimming curve as the curve parameter
increases. Thus, the retained region of the NURBS surface is inside a counterclockwise trimming loop and outside a clockwise trimming loop.
For the rectangle mentioned earlier, the trimming loop for the outer edge of the rectangle runs counterclockwise, while the trimming loop
for the punched-out hole runs clockwise.
If you use more than one curve to define a single trimming loop, the curve segments must form a closed loop (that is, the endpoint of each
curve must be the starting point of the next curve, and the endpoint of the final curve must be the starting point of the first curve). If
the endpoints of the curve are sufficiently close together but not exactly coincident, they will be coerced to match. If the endpoints are
not sufficiently close, an error results (see gluNurbsCallback).
If a trimming loop definition contains multiple curves, the direction of the curves must be consistent (that is, the inside must be to the
left of all of the curves). Nested trimming loops are legal as long as the curve orientations alternate correctly. If trimming curves are
self-intersecting, or intersect one another, an error results.
If no trimming information is given for a NURBS surface, the entire surface is drawn.
EXAMPLE
This code fragment defines a trimming loop that consists of one piecewise linear curve, and two NURBS curves:
gluBeginTrim(nobj);
gluPwlCurve(..., GLU_MAP1_TRIM_2);
gluNurbsCurve(..., GLU_MAP1_TRIM_2);
gluNurbsCurve(..., GLU_MAP1_TRIM_3); gluEndTrim(nobj);
SEE ALSO
gluBeginSurface(3G), gluNewNurbsRenderer(3G), gluNurbsCallback(3G), gluNurbsCurve(3G), gluPwlCurve(3G)
GLUBEGINTRIM(3G)