option(GGML_TEST_COVERAGE "ggml: enable test coverage" OFF)
-option(GGML_PERF "ggml: enable perf timings" OFF)
-option(GGML_NO_ACCELERATE "ggml: disable Accelerate framework" OFF)
-option(GGML_OPENBLAS "ggml: use OpenBLAS" OFF)
-option(GGML_CLBLAST "ggml: use clBLAST" OFF)
-option(GGML_HIPBLAS "ggml: use hipBLAS" OFF)
-option(GGML_CUDA "ggml: use CUDA" OFF)
-option(GGML_CUBLAS "ggml: use CUDA (deprecated)" OFF)
-option(GGML_METAL "ggml: use Metal" OFF)
-option(GGML_METAL_EMBED_LIBRARY "ggml: embed Metal library" OFF)
+option(GGML_PERF "ggml: enable perf timings" OFF)
+option(GGML_NO_ACCELERATE "ggml: disable Accelerate framework" OFF)
+option(GGML_OPENBLAS "ggml: use OpenBLAS" OFF)
+option(GGML_CLBLAST "ggml: use clBLAST" OFF)
+option(GGML_HIPBLAS "ggml: use hipBLAS" OFF)
+option(GGML_CUDA "ggml: use CUDA" OFF)
+option(GGML_CUBLAS "ggml: use CUDA (deprecated)" OFF)
+option(GGML_METAL "ggml: use Metal" OFF)
+option(GGML_METAL_NDEBUG "ggml: disable Metal debugging" OFF)
+option(GGML_METAL_SHADER_DEBUG "ggml: compile Metal with -fno-fast-math" OFF)
+option(GGML_METAL_EMBED_LIBRARY "ggml: embed Metal library" OFF)
option(GGML_CUDA_FORCE_DMMV "ggml: use dmmv instead of mmvq CUDA kernels" OFF)
option(GGML_CUDA_FORCE_MMQ "ggml: use mmq kernels instead of cuBLAS" OFF)
fi
if [ ! -z ${GG_BUILD_METAL} ]; then
- CMAKE_EXTRA="${CMAKE_EXTRA} -DGGML_METAL=ON"
+ # TODO: this should use -DGGML_METAL_SHADER_DEBUG=ON instead, but currently it fails because
+ # the binaries cannot locate default.metallib eventhough it is in bin/. cannot figure out
+ # why this is happening, so temporary workaround is to use -DGGML_METAL_EMBED_LIBRARY=ON
+ CMAKE_EXTRA="${CMAKE_EXTRA} -DGGML_METAL=ON -DGGML_METAL_EMBED_LIBRARY=ON"
fi
## helpers