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
Copy file name to clipboardExpand all lines: README.md
+14-1Lines changed: 14 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -93,6 +93,8 @@ That default configure is a CPU build unless you enable an accelerator backend e
93
93
94
94
Use GCC 13 or newer for Linux builds.
95
95
96
+
Native ggml CPU optimization is enabled by default for local performance. If your compiler or assembler rejects a generated CPU instruction such as `vpdpbusd`, reconfigure with `-DENGINE_ENABLE_NATIVE_CPU=OFF` to build portable CPU kernels.
scripts/build_linux.sh --backend cpu --target audiocpp_cli --target audiocpp_server
144
+
scripts/build_linux.sh --backend cuda --native-cpu OFF --target audiocpp_cli --target audiocpp_server
136
145
```
137
146
138
147
Use `--build-dir <dir>` only when you intentionally want a custom output directory.
@@ -170,16 +179,18 @@ If GNU Make is available on Windows:
170
179
```bash
171
180
make -f Makefile.windows cpu JOBS=16
172
181
make -f Makefile.windows cuda JOBS=16
182
+
make -f Makefile.windows cuda NATIVE_CPU=OFF JOBS=16
173
183
```
174
184
175
-
The Windows script configures `build/windows-cuda-release` by default and builds `audiocpp_cli`. CUDA presets enable CUDA, CUDA graphs, OpenMP, Ninja, `/utf-8`, `/EHsc`, MSVC OpenMP SIMD support with `/openmp:experimental`, and the same portable CPU optimization baseline used for the Windows CUDA path. The CPU preset uses the same MSVC/Ninja/OpenMP setup without requiring CUDA. CUDA presets auto-detect the local GPU CUDA architecture when `nvidia-smi` is available.
185
+
The Windows script configures `build/windows-cuda-release` by default and builds `audiocpp_cli`. CUDA presets enable CUDA, CUDA graphs, OpenMP, Ninja, `/utf-8`, `/EHsc`, MSVC OpenMP SIMD support with `/openmp:experimental`, and native CPU optimization by default. The CPU preset uses the same MSVC/Ninja/OpenMP setup without requiring CUDA. CUDA presets auto-detect the local GPU CUDA architecture when `nvidia-smi` is available. Pass `-NativeCpu OFF` or `NATIVE_CPU=OFF` to use portable CPU kernels.
scripts/build_metal.sh --openmp auto --target audiocpp_cli
228
+
scripts/build_metal.sh --native-cpu OFF --target audiocpp_cli
217
229
```
218
230
219
231
The built CLI is written to:
@@ -231,6 +243,7 @@ Build options:
231
243
|`ENGINE_ENABLE_METAL`| Enable the ggml Metal backend. Required for `--backend metal`. |`OFF` on most platforms, `ON` on Apple |
232
244
|`ENGINE_ENABLE_LLAMAFILE`| Enable llamafile SGEMM support in ggml CPU builds. |`ON`|
233
245
|`ENGINE_ENABLE_CUDA_GRAPHS`| Enable ggml CUDA graphs support when CUDA is enabled. |`ON`|
246
+
|`ENGINE_ENABLE_NATIVE_CPU`| Build ggml CPU kernels with native host ISA flags such as `-march=native`. Disable this for portable CPU kernels or toolchains that reject generated CPU instructions. |`ON`|
234
247
|`ENGINE_ENABLE_OPENMP`| Enable OpenMP for host-side parallel work. |`ON`|
235
248
|`ENGINE_BUILD_EXAMPLES`| Build example binaries. |`OFF`|
236
249
|`ENGINE_BUILD_TESTS`| Build framework unit tests. |`OFF`|
0 commit comments