mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-11-14 14:59:52 +00:00
6d1616944d
This enforces a check that -fno-finite-math-only was set and that the operating compiling mode is not in finite maths mode. This is because during rewriting of silu and softmax for cpu #7154 there emerged an issue where the result that was observed when >1 slot was nondeterministic as found by @JohannesGaessler. @LostRuins narrowed the problem down to -ffinite-math-only which was theorised to be due to SiLU, instead of flushing small values to 0, returns NaN or some other garbage. @jart proposed a fix that @ggerganov then implemented in this fix ref https://github.com/ggerganov/llama.cpp/pull/7154#issuecomment-2145661825
17 lines
592 B
CMake
17 lines
592 B
CMake
set( CMAKE_SYSTEM_NAME Windows )
|
|
set( CMAKE_SYSTEM_PROCESSOR arm64 )
|
|
|
|
set( target arm64-pc-windows-msvc )
|
|
|
|
set( CMAKE_C_COMPILER clang )
|
|
set( CMAKE_CXX_COMPILER clang++ )
|
|
|
|
set( CMAKE_C_COMPILER_TARGET ${target} )
|
|
set( CMAKE_CXX_COMPILER_TARGET ${target} )
|
|
|
|
set( arch_c_flags "-march=armv8.7-a -fvectorize -ffp-model=fast -fno-finite-math-only" )
|
|
set( warn_c_flags "-Wno-format -Wno-unused-variable -Wno-unused-function -Wno-gnu-zero-variadic-macro-arguments" )
|
|
|
|
set( CMAKE_C_FLAGS_INIT "${arch_c_flags} ${warn_c_flags}" )
|
|
set( CMAKE_CXX_FLAGS_INIT "${arch_c_flags} ${warn_c_flags}" )
|