CGPE: Code Generation for Polynomial Evaluation


Automated synthesis of fast and certified code for the evaluation of polynomials,

... and sum and dot-product expressions.

CGPE is a software tool whose initial purpose is to help in synthesizing fast and certified codes for the evaluation of univariate and bivariate polynomials, in fixed-point arithmetic, and optimized for a specific target architecture. So far it has been extended to handle sum and dot-product expressions.

CGPE is particularly optimized for the automatic implementation of bivariate polynomial evaluation for VLIW processors. Given the polynomial coefficients and some features of the target architecture (number of issues, number of multipliers, latency of operators), it writes and certifies automatically a C code for evaluating the considered polynomial optimized for the given target. CGPE has already been used for generating about 50 % of the codes of the FLIP library, optimized for the ST231 (4-issue VLIW embedded integer processor of the ST200 family from STMicroelectronics).

CGPE is developed by DALI project-team from Université de Perpignan Via Domitia and Laboratoire d'Informatique, de Robotique et de Microélectronique de Montpellier (CNRS: UMR 5506 and UM2). Previously it was developed by the AriC (formerly Arénaire) INRIA Grenoble - Rhône-Alpes project-team from LIP laboratory at ENS-Lyon.

It is written by Guillaume Revy, Christophe Mouilleron, and Amine Najahi.

Main features


Installation prerequisites

In order to compile CGPE, you will need the following packages installed: You will also need Gappa (>= 0.16.1) installed.

Documentation and examples

Related publications

[4] Approach based on instruction selection for fast and certified code generation. Christophe Mouilleron, Amine Najahi, and Guillaume Revy. In 15th GAMM-IMACS International Symposium on Scientific Computing, Computer Arithmetic and Validated Numerics (SCAN'2012), Novosibirsk, Russia, 23-29 September 2012. [BibTeX] [lirmm-00813055]
[3] Efficient computation with structured matrices and arithmetic expressions. Christophe Mouilleron. PhD thesis, Université de Lyon - ENS de Lyon, France, 4 November 2011. [PDF]
[2] Automatic Generation of Fast and Certified Code for Polynomial Evaluation. Christophe Mouilleron and Guillaume Revy. In E. Antelo, D. Hough, and P. Ienne, editors, 20th IEEE Symposium on Computer Arithmetic (ARITH'20), pages 233-242, Tuebingen, Germany, 25-27 July 2011. [DOI] [BibTex]
[1] Implementation of binary floating-point arithmetic on embedded integer processors - Polynomial evaluation-based algorithms and certified code generation. Guillaume Revy. PhD thesis, Université de Lyon - ENS Lyon, France, 1 December 2009. [tel-00469661] [PDF] [BibTex]


Copyright © 2007-2013 by
CGPE is governed by the CeCILL v2 license under French law and abiding by the rules of distribution of free software. You can use, modify and/or redistribute the software under the terms of the CeCILL v2 license as circulated by CEA, CNRS and INRIA at the following URL (see also COPYING.CeCILL-V2-en or COPYING.CeCILL-V2-fr for details).
Valid HTML 4.01 Transitional Valid CSS 2.1
Guillaume Revy
Last updated: Fri 12 Jul 2013 16:18:14 CEST.