Home / Documentation / Installation

Installation Guide

Install LOOM for your preferred programming language and platform.

System Requirements

Minimum Requirements

  • CPU: Any modern x86_64 or ARM64 processor
  • RAM: 2GB minimum, 8GB recommended
  • OS: Windows, macOS, Linux, Android, iOS

GPU Requirements (Optional)

  • GPU: WebGPU-compatible GPU (Vulkan, Metal, or D3D12 support)
  • Drivers: Up-to-date graphics drivers
  • Browser: Chrome/Edge 113+, Firefox 113+, or Safari 16.4+ for WASM
CPU Fallback
LOOM automatically falls back to CPU if GPU is not available. All features work on CPU, though GPU provides significant performance improvements for larger models.

Go (Native)

Install LOOM for native Go development with full GPU acceleration support.

Requirements

  • Go 1.24 or higher
  • C compiler (gcc, clang, or MSVC)

Installation

bash
go get github.com/openfluke/loom/nn

Verify Installation

bash
cd $GOPATH/src/github.com/openfluke/loom/examples
go run simple_dense.go

Python (welvet)

Install the welvet package for Python bindings via C-ABI.

Requirements

  • Python 3.7 or higher
  • pip package manager

Installation

bash
pip install welvet

Verify Installation

python
import welvet
print(f"welvet version: {welvet.__version__}")
PyPI Package
The welvet package includes pre-compiled native libraries for Linux, macOS, and Windows on both x86_64 and ARM64 architectures. View on PyPI

JavaScript/TypeScript (WASM)

Install the WebAssembly module for browser and Node.js deployment.

Requirements

  • Node.js 18+ or modern browser with WebAssembly support
  • npm or yarn package manager

Installation

bash
npm install @openfluke/welvet
# or
yarn add @openfluke/welvet

Browser Usage

html
<script src="wasm_exec.js"></script>
<script>
  const go = new Go();
  WebAssembly.instantiateStreaming(
    fetch("loom.wasm"), 
    go.importObject
  ).then((result) => {
    go.run(result.instance);
  });
</script>
npm Package
The package includes a 5.4MB WASM binary with zero dependencies. View on npm

C# / .NET (Welvet)

Install the Welvet NuGet package for .NET applications.

Requirements

  • .NET 9.0 or higher
  • NuGet package manager

Installation

bash
dotnet add package Welvet

Usage

csharp
using Welvet;

var network = Network.Create(
    inputSize: 4,
    gridRows: 1,
    gridCols: 1,
    layersPerCell: 2,
    useGpu: true
);
NuGet Package
Includes native libraries for Windows, Linux, and macOS. View on NuGet

C/C++/Rust (C-ABI)

Build the shared library for C Foreign Function Interface.

Requirements

  • Go 1.24 or higher
  • C compiler (gcc, clang, or MSVC)

Build from Source

bash
git clone https://github.com/openfluke/loom
cd loom/cabi
./build.sh

# Multi-platform builds
./build_all.sh linux arm64      # Linux ARM64
./build_all.sh macos universal  # macOS Universal
./build_all.sh windows x86_64   # Windows 64-bit
./build_all.sh android arm64    # Android ARM64
./build_all.sh ios xcframework  # iOS XCFramework

Supported Platforms

  • Linux: x86_64, arm64, armv7, x86
  • macOS: x86_64, arm64, universal
  • Windows: x86_64, x86, arm64
  • Android: arm64, armv7, x86_64, x86
  • iOS: arm64, simulators, xcframework
Build Time
Building the C-ABI library includes the full LOOM framework and CGO runtime, resulting in a ~17MB shared library. Build time can take 2-5 minutes depending on your system.

Docker Installation

Use Docker for isolated development environments.

bash
# Pull the official image
docker pull openfluke/loom:latest

# Run interactive shell
docker run -it openfluke/loom:latest /bin/bash

# Run example
docker run openfluke/loom:latest go run examples/simple_dense.go

Troubleshooting

GPU Not Detected

If GPU acceleration is not working:

  • Verify WebGPU support: Visit webgpureport.org
  • Update graphics drivers to the latest version
  • Check browser compatibility (Chrome 113+, Firefox 113+, Safari 16.4+)
  • LOOM will automatically fall back to CPU

Build Errors (Go)

Common solutions:

  • Ensure Go 1.24+ is installed: go version
  • Update Go modules: go mod tidy
  • Clear module cache: go clean -modcache

Python Import Errors

If welvet fails to import:

  • Verify Python version: python --version (need 3.7+)
  • Reinstall package: pip uninstall welvet && pip install welvet
  • Check platform compatibility (x86_64 or ARM64)
Need Help?
If you encounter issues, check the GitHub issues or open a new issue with your error details.

Next Steps

Now that LOOM is installed, continue with: