1- Under which open software license is
OpenIMPACT released?
OpenIMPACT will be released under the University of
Illinois/NCSA Open Source License. The University of Illinois/NCSA
(National Center for Supercomputing Applications) Open Source License
was approved as a certified Open Source Initiative (OSI) license at the
March 28, 2002 OSI board meeting (see UIUC press
release).
2- What are the requirements for running
OpenIMPACT?
Please refer to the OpenIMPACT Install Guide
3- What are the differences between
OpenIMPACT and IMPACT Research compiler?
The IMPACT Research compiler is an experimental compiler
where many new techniques are being tested for thesis research
at the University of Illinois as well as several other partner
institutions. Historically, the IMPACT Research Compiler was
used in the development of several advanced compiler
architectures, including the Intel Itanium Processor Family
architecture. Many features of the commercial Itanium compilers
from industry, such as profile-based code optimization,
instruction-level parallelism transformations, region-based
compilation, predicated compilation and speculative code
motion, were first developed and tested in the IMPACT Research
compiler. The OpenIMPACT compiler is a much more stable
compiler being maintained by engineers. It incorporates new
modules from the IMPACT Research compiler once these modules have
been fully developed and research results have been published. For more
information on the technology base of the IMPACT compiler, please visitwww.crhc.uiuc.edu/Impact.
4- What is the background and history
of the OpenIMPACT compiler?
In 2002, Professor Wen-mei Hwu convinced the University of
Illinois
administration that releasing the IMPACT compiler into the open
source domain would
attract more institutions and corporations to invest resources
in the future development
and maintenance of the compiler. In particular, this would
allow other GELATO
member institutions to contribute to the source code base of
IMPACT without
intellectual property issues. As a result, the University of
Illinois released the IMPACT compiler under the University of
Illinois/NCSA Open Source License.
5- What are the advantages of using the
OpenIMPACT compiler vs. other compilers?
The strength of the OpenIMPACT compiler is in its ability to
conduct advanced program analysis and profile-based code
optimization for the purpose of instruction-level parallel
computing. The OpenIMPACT compiler is designed to be very
modular with great flexibility. Although these features
increase compilation time and space usage, they give compiler
users a great deal of control of the final code quality. As a result,
the OpenIMPACT compiler is especially suitable for compiling widely
used performance critical code where additional compilation
time is easily justified by the benefits of improved binary
code. Please refer to the Software
Release section of this web site for more performance information.
|
6- Why is the compiler so critical to
the success of the Itanium platform?
The Itanium Processor Family is based on the concept that
much of the hardware complexity can be moved into the
compiler. As such, the compiler is expected to provide many of
the functionalities that are commonly realized in the
processor hardware, such as instruction scheduling. This
philosophy allows Itanium processor cores to be designed with
more power efficiency, which is a major challenge in future
high-performance microprocessor design. Thus, the compiler's
ability to deliver these functionalities greatly impacts the
performance of the processors in the Itanium Processor Family.
7- What kind of support can you provide
if I use your released software?
The OpenIMPACT software engineers provide technical support
for the binary code compiled by OpenIMPACT and released via
this web site. Bug reports can be submitted in e-mail to OpenImpact-support@gelato.uiuc.edu.
When a report is submitted, we will promptly work with the reporting
user to track down the source of the problem and make the appropriate
corrections. You are also welcome to provide us with the your input
data to these programs for us to periodically test these
programs as we update these binaries.
8- Do I need to install the kernel
speculation patch to run the applications built with OpenIMPACT?
For each recompiled binary we release, we provide two
versions of binaries. The no-control-speculation version
require no Linux kernel speculation patch where as the
control-speculation version require the patch. In general,
the control-speculation version binary runs at higher
performance. The kernel speculation patch is a small and
stable patch to the kernel that is very easy to apply. The
patch is available at this web site. We will soon release a
third version of binary for the OpenIMPACT software release
that will use the recovery code feature of the Itanium processor. This third binary will not require kernel patch.
9- How can I get involved in the
OpenIMPACT project?
Please contact us if you would like to be involved in
OpenIMPACT project. We are particularly interested in having
more people to help with maintaining the compiler. We
are also interested in having more help with identifying
performance critical utilities and applications that can
be recompiled and released to the GELATO community.
10- Why does OpenIMPACT produce better
results on some benchmarks but not others?
Each compiler has its strength and weakness. The Intel
reference compiler team has
invested much greater efforts in machine specific code
optimization. Whereas the IMPACT compiler team has been
much more aggressive in predicated compilation and instruction level parallelism transformations. This naturally leads to
the fact that some applications benefit more from OpenIMPACT and
others more from the Intel reference compiler.
|