Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,62 @@ For commercial licensing inquiries, email us: info@fastflowlm.com
- Tokenization accelerated with [MLC-ai/tokenizers-cpp](https://github.com/mlc-ai/tokenizers-cpp)
- Chat formatting via [Google/minja](https://github.com/google/minja)
- Low-level kernels optimized using the powerful [IRON](https://github.com/amd/iron)+[AIE-MLIR](https://github.com/Xilinx/mlir-aie)

---

## 🛠️ Building from Source

For developers who want to build FastFlowLM from source, we provide CMake presets for a convenient and consistent build experience.

### Prerequisites

- Git
- CMake (version 3.22 or higher)
- A C++20 compatible compiler (e.g., GCC, Clang, MSVC)
- Ninja (recommended)

### Build Instructions

1. **Clone the repository:**

```bash
git clone --recursive https://github.com/FastFlowLM/FastFlowLM.git
cd FastFlowLM/src
```

2. **Configure CMake using presets:**

- **For Linux:**

```bash
cmake --preset linux-default
```

This will configure the build to install to `/opt/fastflowlm`.

- **For Windows (in a developer command prompt):**

```bash
cmake --preset windows-default
```

3. **Build the project:**

```bash
cmake --build build
```

4. **Install the project (optional):**

- **For Linux:**

```bash
sudo cmake --install build
```

- **For Windows (with administrator privileges):**

```bash
cmake --install build
```

5 changes: 1 addition & 4 deletions debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,7 @@ override_dh_dwz:
# dh_dwz is skipped because it causes issues with the binary structure

override_dh_auto_configure:
cmake -S src -B build \
-GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/opt/fastflowlm
cmake -S src -B build --preset linux-default

override_dh_auto_build:
cmake --build build
Expand Down
26 changes: 26 additions & 0 deletions src/CMakePresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"version": 3,
"configurePresets": [
{
"name": "linux-default",
"displayName": "Linux Default",
"description": "Default configuration for Linux",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_INSTALL_PREFIX": "/opt/fastflowlm"
}
},
{
"name": "windows-default",
"displayName": "Windows Default",
"description": "Default configuration for Windows using Visual Studio",
"generator": "Visual Studio 17 2022",
"binaryDir": "${sourceDir}/build",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
}
]
}