# Kwker documentation Kwker makes CPU work quicker - PyTorch models, LLM text generation, embeddings, DataFrames and sorting - from Python, Rust, C, C++ and 16 more languages. Web page: https://kwker.io/docs/ - every Kwker documentation page for AI assistants: https://kwker.io/llms.txt Kwker makes the work you already run on CPUs quicker: PyTorch models, text generation with LLMs, embeddings, image models, DataFrame group-bys and sorts, and the sorting and top-k calls underneath all of them. Install one package, change one line, and measure the difference on your own machine. 1. **Install.** `pip install kwker`, or the package for Rust, C, C++, JavaScript, Go, Java, C# and [12 more languages](https://kwker.io/docs/md/languages.md). 2. **Add one line.** `kwker.torch_ops.install()`, or [the line for your workload](https://kwker.io/docs/md/integrate.md): LLMs, embeddings, image models, DataFrames. 3. **Measure it.** `python -m kwker.bench` on your machine, then [compare your own program](https://kwker.io/docs/md/evaluate.md) with and without Kwker. ## What are you working on? - [Accelerate PyTorch](https://kwker.io/docs/md/pytorch.md) - [Accelerate Hugging Face](https://kwker.io/docs/md/hf.md) - [Classify images](https://kwker.io/docs/md/vision.md) - [Data and analytics](https://kwker.io/docs/md/data.md) - [Quickstart: Kwker Core](https://kwker.io/docs/md/quickstart-core.md) - [Evaluate on your machine](https://kwker.io/docs/md/evaluate.md) > [!NOTE] > This documentation describes the 0.1.0 release. Package names and download links take effect with the release. ## Try it Press **Run** to run this example in your browser. You can edit it first. ```python import numpy as np import kwker prices = np.array([19.99, 4.50, 120.00, 4.50, 35.25]) kwker.sort(prices) print(prices) scores = np.array([7, 42, 3, 99, 15]) values, positions = kwker.top_k(scores, 2, descending=True) print(values, positions) ``` ```text [ 4.5 4.5 19.99 35.25 120. ] [99 42] [3 1] ``` The [Playground](playground/index.html) has more examples in Python and JavaScript. ## Browse the documentation - **Get started** - [Add Kwker to your project](https://kwker.io/docs/md/integrate.md) - [Evaluate on your machine](https://kwker.io/docs/md/evaluate.md) - [Quickstarts](https://kwker.io/docs/md/quickstart.md) - [Installation](https://kwker.io/docs/md/install.md) - **Tutorials** - [Rank a leaderboard](https://kwker.io/docs/md/tutorial-leaderboard.md) - [Top-k recommendations](https://kwker.io/docs/md/tutorial-recommendations.md) - [Group-by on a table](https://kwker.io/docs/md/tutorial-groupby.md) - [All tutorials](https://kwker.io/docs/md/tutorials.md) - **Learn** - [Core concepts](https://kwker.io/docs/md/concepts.md) - [All operations](https://kwker.io/docs/md/operations.md) - [Runtime controls](https://kwker.io/docs/md/cpu-runtime.md) - [Release notes](https://kwker.io/docs/md/release-notes.md) - **How-to guides** - [Sorting](https://kwker.io/docs/md/sorting.md) - [Top-k and selection](https://kwker.io/docs/md/top-k.md) - [Order and ranking](https://kwker.io/docs/md/ordering.md) - [Keys with values](https://kwker.io/docs/md/key-value.md) - [All how-to guides](https://kwker.io/docs/md/guides.md) - **Build with Kwker** - [NumPy drop-in](https://kwker.io/docs/md/numpy.md) - [DataFrames, Arrow and DuckDB](https://kwker.io/docs/md/dataframes.md) - [Accelerate PyTorch](https://kwker.io/docs/md/pytorch.md) - [Large data](https://kwker.io/docs/md/large-data.md) - [All languages](https://kwker.io/docs/md/languages.md) - **Reference** - [Python API](https://kwker.io/docs/md/reference-python.md) - [C API](https://kwker.io/docs/md/reference-c.md) - [C++ API](https://kwker.io/docs/md/reference-cpp.md) - [All API references](https://kwker.io/docs/md/reference.md) - **Help** - [Troubleshooting](https://kwker.io/docs/md/troubleshooting.md) - [Known limitations](https://kwker.io/docs/md/limitations.md) - [Compatibility](https://kwker.io/docs/md/compatibility.md) Every function is listed in the API reference for [Python](https://kwker.io/docs/md/reference-python.md), [C](https://kwker.io/docs/md/reference-c.md), [C++](https://kwker.io/docs/md/reference-cpp.md), [Go](https://kwker.io/docs/md/reference-go.md), [JavaScript / TypeScript](https://kwker.io/docs/md/reference-js.md), [Java](https://kwker.io/docs/md/reference-java.md), [C#](https://kwker.io/docs/md/reference-csharp.md), [Ruby](https://kwker.io/docs/md/reference-ruby.md), [R](https://kwker.io/docs/md/reference-r.md), [PHP](https://kwker.io/docs/md/reference-php.md) and [Perl](https://kwker.io/docs/md/reference-perl.md). Rust users can run `cargo doc -p kwker --open`. A function named in these pages links to its entry there. Point at the name to see what it does and its arguments. ## What runs where | Platform | Engines | Packages | | --- | --- | --- | | Linux x86-64 | AVX-512, AVX2, portable | Python wheel (with PyTorch extensions), C / C++ archive, .deb, .rpm, Rust crate | | Linux ARM64 | SVE (64-bit keys), NEON, portable | Python wheel, C / C++ archive, .deb, .rpm, Rust crate | | Windows x64 | AVX-512, AVX2, portable | Python wheel, C / C++ zip, Rust crate (clang++) | | macOS ARM64 (Apple silicon) | NEON, portable | Python wheel, C / C++ archive, Rust crate | | macOS x86-64 | AVX2, portable | Rust crate and source builds only | The PyTorch extensions (drop-in kernels, CPU backend, KwkCNN / KwkEncoder / KwkDecoder) are built for Linux x86-64. ## Check your installation ```python import kwker print(kwker.version(), kwker.isa()) # e.g. 0.1.0 avx512 ``` `python -m kwker doctor` prints the full picture: CPU, engines, operating system, threads and framework versions, with a warning for anything that limits speed or compatibility.