Halide
FuzzFloatStores.h
Go to the documentation of this file.
1
#ifndef FUZZ_FLOAT_STORES_H
2
#define FUZZ_FLOAT_STORES_H
3
4
#include "
Expr.h
"
5
6
/** \file
7
* Defines a lowering pass that messes with floating point stores.
8
*/
9
10
namespace
Halide
{
11
namespace
Internal
{
12
13
/** On every store of a floating point value, mask off the
14
* least-significant-bit of the mantissa. We've found that whether or
15
* not this dramatically changes the output of a pipeline correlates
16
* very well with whether or not a pipeline will produce very
17
* different outputs on different architectures (e.g. with and without
18
* FMA). It's also a useful way to detect bad tests, such as those
19
* that expect exact floating point equality across platforms. */
20
Stmt
fuzz_float_stores
(
const
Stmt &s);
21
22
}
// namespace Internal
23
}
// namespace Halide
24
25
#endif
Halide::Internal::fuzz_float_stores
Stmt fuzz_float_stores(const Stmt &s)
On every store of a floating point value, mask off the least-significant-bit of the mantissa.
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition:
AbstractGenerator.h:19
Halide::LinkageType::Internal
@ Internal
Not visible externally, similar to 'static' linkage in C.
Expr.h
src
FuzzFloatStores.h
Generated by
1.8.17