Dear Elmer:
You put up a link to an application other than SPEC where Intel's compiler Vtune is definitely used by someone other than Intel or its subsideraries (Dictates from on High and backchannel communications can lead to fixes not available for a typical developer). I stated that a REAL compiler succeeds to compile 99% of applications running on the same platform (I made the assumption that the applications were written in the language of the Vtune compiler whether C/C++ or Fortran which is commonly assumed in these debates).
I came up with at least two QMC, and Moldyn. Where is your two hundred? Twenty? Ten? Five? You have yet to show one. You demanded proof of me and I responded, now its your turn.
BTW, do you think a compiler that compiles SPEC and only SPEC is a good compiler? A decent one? An OK one? I could write a cc front end that recognizes the source code to SPEC 2K program and supplies an executable for each one written in optimized hand coded assembly. Anything else, it would compile normally. It would totally blow anything else even remotely close in speed. Matter of fact, if the tests use fixed data sets for their input and benchmarks generally do, I can make them far faster than any other CPU on the planet (all they need do is output the results (less if they do not check them)). What is missing in these SPEC runs is the quality of the resulting output. Is it checked for correctness? If so, what is the method used and bounds used to say output is good? Is it even checked at all?
Hopefully, SPEC checks this out with more scrutiny than just verifying that the compiler runs, produces the executables, and they run in the same time as claimed with the same data. Checking the output, verifies that the programs do something. Checking with other data sets not supplied stops the fixed output dodges. Checking with a random set verifies it even better. Checking the correctness, find errors induced by bad code generation and errors in optimization. Checking that similar code generates good executables and similar performance stops the substitution dodge.
Given what SPEC has allowed in the past, I can very easily see them forgetting these checks in the verification process. Yet, it would be acceptable given their rules. But, I would strongly disagree with the benchmark, if such were true. I would not be alone.
I would like to think you would too.
Pete |