How to square floats accurately and efficiently on the ST231 integer processor

Claude-Pierre Jeannerod 1, * Jingyan Jourdan-Lu 1, 2 Christophe Monat 2 Guillaume Revy 3
* Corresponding author
1 ARIC - Arithmetic and Computing
Inria Grenoble - Rhône-Alpes, LIP - Laboratoire de l'Informatique du Parallélisme
2 Compilation Expertise Center
ST-GRENOBLE - STMicroelectronics [Grenoble]
3 DALI - Digits, Architectures et Logiciels Informatiques
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier, UPVD - Université de Perpignan Via Domitia
Abstract : We consider the problem of computing IEEE floating-point squares by means of integer arithmetic. We show how the specific properties of squaring can be exploited in order to design and implement algorithms that have much lower latency than those for general multiplication, while still guaranteeing correct rounding. Our algorithm descriptions are parameterized by the floating-point format, aim at high instruction-level parallelism (ILP) exposure, and cover all rounding modes. We show further that their C implementation for the binary32 format yields efficient codes for targets like the ST231 VLIW integer processor from STMicroelectronics, with a latency at least 1.75x smaller than that of general multiplication in the same context.
Document type :
Preprints, Working Papers, ...
2010


https://hal-ens-lyon.archives-ouvertes.fr/ensl-00532829
Contributor : Claude-Pierre Jeannerod <>
Submitted on : Friday, November 19, 2010 - 7:00:22 AM
Last modification on : Wednesday, January 20, 2016 - 3:07:15 PM
Document(s) archivé(s) le : Friday, October 26, 2012 - 4:00:13 PM

File

sqr.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : ensl-00532829, version 1

Collections

Citation

Claude-Pierre Jeannerod, Jingyan Jourdan-Lu, Christophe Monat, Guillaume Revy. How to square floats accurately and efficiently on the ST231 integer processor. 2010. <ensl-00532829>

Export

Share

Metrics

Record views

616

Document downloads

215