Multik 0.3.0 Help

Multik on different platforms

Overview

Multik is a Kotlin Multiplatform library. You can use the same NDArray API across JVM, JS, Native, and WASM, and choose an execution engine that fits your target and performance needs.

Supported targets

Multik supports the major Kotlin targets:

  • JVM

  • JS

  • Native (iOS, macOS, Linux, Windows)

  • WASM

Target presets

The following target presets are supported:

Target platform

Target presets

Kotlin/JVM

jvm

iOS

iosArm64, iosX64, iosSimulatorArm64

macOS

macosX64, macosArm64

Linux

linuxX64

Windows

mingwX64

JS

js

WASM

wasm

Engine availability by platform

Multik separates the API from execution engines:

  • DEFAULT chooses the best available engine at runtime.

  • KOTLIN is a pure Kotlin implementation and is the safest choice for portability.

  • NATIVE uses OpenBLAS for higher performance where available.

Target

Engines

Notes

JVM

DEFAULT, KOTLIN, NATIVE (OpenBLAS)

NATIVE requires the OpenBLAS artifact.

JS

KOTLIN

Browser and Node.js targets.

WASM

KOTLIN

Kotlin/WASM targets.

Native (desktop)

KOTLIN; NATIVE (OpenBLAS) on selected targets

OpenBLAS for desktop native targets (linuxX64, mingwX64, macosX64, macosArm64) is experimental and unstable.

Native (iOS)

KOTLIN

OpenBLAS is not available.

For details such as Android ABI limits, see the platform pages below.

Multiplatform setup pattern

A common approach is:

  • Add multik-core to commonMain.

  • Add engine dependencies per target: multik-kotlin for JS/WASM/Native, and multik-default or multik-openblas for JVM.

For dependency examples, see Installation.

Platform-specific guides

If you spot a typo or missing detail, please open a docs issue.

19 February 2026