This paper describes three variants of a counterexample guided inductive optimization (CEGIO) approach based on Satisfiability Modulo Theories (SMT) solvers. In particular, CEGIO relies on iterative executions to constrain a verification procedure, in order to perform inductive generalization, based on counterexamples extracted from SMT solvers. CEGIO is able to successfully optimize a wide range of functions, including non-linear and non-convex optimization problems based on SMT solvers, in which data provided by counterexamples are employed to guide the verification engine, thus reducing the optimization domain. The present algorithms are evaluated using a large set of benchmarks typically employed for evaluating optimization techniques. Experimental results show the efficiency and effectiveness of the proposed algorithms, which find the optimal solution in all evaluated benchmarks, while traditional techniques are usually trapped by local minima.
Effectiveness and quality are fundamental characteristics for the development of a product. In order to support them, one needs to ensure that an application optimization level is at its best. The most widely used metric for evaluating an application performance is the CPI (Cycles Per Instruction), i.e., the number of clock cycles that takes place when an instruction is executed. We have developed a CPI Breakdown Model Plug-in, that automates the profiling of an application in the Power architecture, breaking it down into several groups of CPI events and metrics in order to identify possible bottlenecks. When analyzing such events and metrics the user can become aware of which operations are causing the processor to stall, and consequently enhance the application source code. We have discussed the adaptation of some command-line tools to be used by our CPI plug-in, which is integrated into the IBM Software Development Toolkit for PowerLinux, an Eclipse based IDE comprising a set of mainstream C/C++ development tools along with several in-house IBM ones. A case study that shows the usefulness of our approach is presented and details on how to optimize an application are discussed.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.