You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When enabled, compiler optimizations to use fused multiply-add operations
are disabled. SIMD operations that can change behavior (FMA, approximate
reciprocal and reciprocal square root) are removed.
Unit tests for base math types now have strict equality tests when
determinism is enabled. This ensures that both the scalar and SIMD
operations give exactly the same results across platforms. Selective builds
enable deterministic math to ensure full test coverage while avoiding more
total builds than what are present today.
Copy file name to clipboardExpand all lines: README.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -169,6 +169,7 @@ To build the examples, an Android Studio project is provided in the android subd
169
169
*`-DDEEPSEA_INSTALL_SET_RPATH=ON|OFF`: Set rpath during install for the library and tool on installation. Set to `OFF` if including in another project that wants to control the rpath. Default is `ON`.
170
170
*`-DDEEPSEA_ANDROID_ASSETS_DIR=folder`: Folder relative to project app directory to place assets for Android. Defaults to `src/main/assets`.
171
171
*`-DDEEPSEA_NO_PREBUILT_LIBS=ON|OFF`: Don't use any pre-built library dependencies. Default is `OFF`.
172
+
*`-DDEEPSEA_DETERMINISTIC_MATH=ON|OFF`: Ensure deterministic math results across all platforms at the expense of performance. The most common use is to have fully deterministic physics simulations when combined with fixed update intervals. Default is `OFF`.
172
173
*`-DDEEPSEA_X86_ARCH_LEVEL=level`: The [x86-64 architecture level](https://en.wikipedia.org/wiki/X86-64), valid for both 32 and 64 bit-targets. A value of 0 indicates the base level, which means that 32-bit targets will have no SSE instructions enabled and will be the same as level 1 for 64-bit targets. In many cases runtime checks are used to choose an implementation with instructions beyond the level set here, but raising the base architecture level allows for these instructions to be used where such checks aren't practical or possible, and also allows for more compiler optimizations. On 64-bit targets this defaults to 3, which supports Intel Haswell (released in 2013) and AMD Excavator (released in 2015) CPUs, and is expected to have the largest speedup beyond level 1. On 32-bit targets this defaults to 1, which has basic SSE1 and SSE2 support. This will be ignored for non-x86 platforms.
173
174
*`-DCMAKE_OSX_DEPLOYMENT_TARGET=version`: Minimum version of macOS to target when building for Mac. Defaults to 10.13, or 11.0 for ARM only, but may be set as low as 10.11.
0 commit comments