add notes about building Release
This commit is contained in:
@@ -43,3 +43,18 @@ The easiest way to do this is drag the Products/llm-tool into Terminal to get th
|
|||||||
DYLD_FRAMEWORK_PATH=~/Library/Developer/Xcode/DerivedData/mlx-examples-swift-ceuohnhzsownvsbbleukxoksddja/Build/Products/Debug ~/Library/Developer/Xcode/DerivedData/mlx-examples-swift-ceuohnhzsownvsbbleukxoksddja/Build/Products/Debug/llm-tool --prompt "swift programming language"
|
DYLD_FRAMEWORK_PATH=~/Library/Developer/Xcode/DerivedData/mlx-examples-swift-ceuohnhzsownvsbbleukxoksddja/Build/Products/Debug ~/Library/Developer/Xcode/DerivedData/mlx-examples-swift-ceuohnhzsownvsbbleukxoksddja/Build/Products/Debug/llm-tool --prompt "swift programming language"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Troubleshooting
|
||||||
|
|
||||||
|
If the program crashes with a very deep stack trace you may need to build
|
||||||
|
in Release configuration. This seems to depend on the size of the model.
|
||||||
|
|
||||||
|
There are a couple options:
|
||||||
|
|
||||||
|
- build Release
|
||||||
|
- force the model evaluation to run on the main thread, e.g. using @MainActor
|
||||||
|
- build `Cmlx` with optimizations by modifying `mlx/Package.swift` and adding `.unsafeOptions(["-O3"]),` around line 87
|
||||||
|
|
||||||
|
Building in Release / optimizations will remove a lot of tail calls in the C++
|
||||||
|
layer. These lead to the stack overflows.
|
||||||
|
|
||||||
|
See discussion here: https://github.com/ml-explore/mlx-swift-examples/issues/3
|
||||||
|
|||||||
Reference in New Issue
Block a user