ruvector-core-linux-arm64-gnu
v0.1.17
Published
Linux ARM64 GNU native binding for ruvector-core - High-performance vector database with HNSW indexing built in Rust
Maintainers
Readme
ruvector-core-linux-arm64-gnu
Linux ARM64 GNU native binding for ruvector-core
This package contains the native Node.js binding (.node file) for Linux ARM64 systems with GNU libc. It is automatically installed as an optional dependency when you install ruvector-core on a compatible system.
🌐 Visit ruv.io for more AI infrastructure tools
Installation
You should not install this package directly. Instead, install the main package:
npm install ruvector-coreThe correct platform-specific package will be automatically installed based on your system.
System Requirements
- Operating System: Linux (GNU libc)
- Architecture: ARM64 / AArch64
- Node.js: 18.0.0 or higher
- libc: GNU C Library (glibc)
Compatibility
This package is compatible with:
- Ubuntu 18.04+ (ARM64)
- Debian 10+ Buster (ARM64)
- CentOS 7+ / RHEL 7+ (ARM64)
- Amazon Linux 2+ (Graviton processors)
- Raspberry Pi OS 64-bit
- Most ARM64 Linux distributions using glibc
What's Inside
This package contains:
- ruvector.node - Native binary module compiled from Rust for ARM64
- index.js - Module loader with error handling
- Full HNSW indexing implementation
- SIMD-optimized vector operations for ARM NEON
- Multi-threaded async operations via Tokio
Performance
When running on Linux ARM64 systems (like AWS Graviton), you can expect:
- 50,000+ vector inserts per second
- 10,000+ searches per second (k=10)
- ~50 bytes memory per 128-dim vector
- Sub-millisecond latency for most operations
- Optimized for ARM NEON SIMD instructions
Popular ARM64 Platforms
- AWS Graviton (EC2 instances)
- Raspberry Pi 4/5 (64-bit OS)
- NVIDIA Jetson (edge AI devices)
- Apple Silicon (via Docker/Linux)
- Oracle Cloud (Ampere processors)
Building from Source
If you need to rebuild the native module:
# Clone the repository
git clone https://github.com/ruvnet/ruvector.git
cd ruvector
# Install Rust toolchain with ARM64 target
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup target add aarch64-unknown-linux-gnu
# Build for Linux ARM64
cd npm/packages/core
npm run build:napi -- --target aarch64-unknown-linux-gnuTroubleshooting
Module Not Found Error
If you see "Cannot find module 'ruvector-core-linux-arm64-gnu'":
- Verify you're on a Linux ARM64 system:
uname -mshould outputaarch64 - Reinstall with optional dependencies:
npm install --include=optional ruvector-core - Check Node.js version:
node --versionshould be 18.0.0 or higher
Binary Compatibility Issues
If the module fails to load:
- Ensure you have glibc installed:
ldd --version - The binary requires glibc 2.17+ (CentOS 7+) or 2.27+ (Ubuntu 18.04+)
- For Alpine Linux or musl-based systems, this package will not work (use a glibc-based distro)
Cross-Compilation
When building on x64 for ARM64:
# Install cross-compilation tools
sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
# Set environment variable
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
# Build
npm run build:napi -- --target aarch64-unknown-linux-gnuRelated Packages
- ruvector-core - Main package (install this)
- ruvector-core-linux-x64-gnu - Linux x64
- ruvector-core-darwin-x64 - macOS Intel
- ruvector-core-darwin-arm64 - macOS Apple Silicon
- ruvector-core-win32-x64-msvc - Windows x64
Resources
License
MIT License - see LICENSE for details.
Built with ❤️ by the ruv.io team
