Behavioral non-portability in scientific numeric computing

12Citations
Citations of this article
6Readers
Mendeley users who have this article in their library.

Abstract

The precise semantics of floating-point arithmetic programs depends on the execution platform, including the compiler and the target hardware. Platform dependencies are particularly pronounced for arithmetic-intensive parallel numeric programs and infringe on the highly desirable goal of software portability (which is nonetheless promised by heterogeneous computing frameworks like OpenCL): the same program run on the same inputs on different platforms often produces different results. Serious doubts on the portability of numeric applications arise when these differences are behavioral, i.e. when they lead to changes in the control flow of a program. In this paper we present an algorithm that takes a numeric procedure and determines an input that may lead to different branching decisions depending on how the arithmetic in the procedure is compiled. We illustrate the algorithm on a diverse set of examples, characteristic of scientific numeric computing, where control flow divergence actually occurs across different execution platforms.

References Powered by Scopus

Z3: An efficient SMT Solver

5726Citations
N/AReaders
Get full text

General purpose molecular dynamics simulations fully implemented on graphics processing units

1281Citations
N/AReaders
Get full text

Interval arithmetic: From principles to implementation

260Citations
N/AReaders
Get full text

Cited by Powered by Scopus

Floating-point symbolic execution: A case study in N-version programming

34Citations
N/AReaders
Get full text

Just fuzz it: Solving floating-point constraints using coverage-guided fuzzing

30Citations
N/AReaders
Get full text

A systematic evaluation of accelerating indoor airflow simulations using cross-platform parallel computing

23Citations
N/AReaders
Get full text

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Cite

CITATION STYLE

APA

Gu, Y., Wahl, T., Bayati, M., & Leeser, M. (2015). Behavioral non-portability in scientific numeric computing. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9233, pp. 558–569). Springer Verlag. https://doi.org/10.1007/978-3-662-48096-0_43

Readers over time

‘15‘17‘1901234

Readers' Seniority

Tooltip

Professor / Associate Prof. 2

50%

PhD / Post grad / Masters / Doc 2

50%

Readers' Discipline

Tooltip

Computer Science 2

50%

Business, Management and Accounting 1

25%

Engineering 1

25%

Save time finding and organizing research with Mendeley

Sign up for free
0