Operations Reference#
This page documents all operations supported by NKIPy, organized by category.
Overview#
NKIPy operations are traced and lowered to HLO for compilation by the Neuron Compiler.
Categories#
Convolution Operations#
Operation |
Backend(s) |
NumPy Equivalent |
|---|---|---|
|
cpu, hlo |
— |
|
cpu, hlo |
— |
Binary Operations#
Operation |
Backend(s) |
NumPy Equivalent |
|---|---|---|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
Unary Operations#
Operation |
Backend(s) |
NumPy Equivalent |
|---|---|---|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
Reduction Operations#
Operation |
Backend(s) |
NumPy Equivalent |
|---|---|---|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
Indexing Operations#
Operation |
Backend(s) |
NumPy Equivalent |
|---|---|---|
|
hlo |
— |
|
hlo |
— |
|
hlo |
— |
|
hlo |
— |
|
hlo |
— |
|
hlo |
|
|
hlo |
|
|
hlo |
|
Neural Network Operations#
Operation |
Backend(s) |
NumPy Equivalent |
|---|---|---|
|
— |
— |
|
— |
— |
|
cpu, hlo |
— |
Collective Operations#
Operation |
Backend(s) |
NumPy Equivalent |
|---|---|---|
|
cpu, hlo |
— |
|
cpu, hlo |
— |
|
cpu, hlo |
— |
|
cpu, hlo |
— |
Linear Algebra Operations#
Operation |
Backend(s) |
NumPy Equivalent |
|---|---|---|
|
hlo |
|
|
hlo |
|
|
hlo |
— |
Transform Operations#
Operation |
Backend(s) |
NumPy Equivalent |
|---|---|---|
|
hlo |
— |
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
— |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
|
hlo |
|
Creation Operations#
Operation |
Backend(s) |
NumPy Equivalent |
|---|---|---|
|
cpu, hlo |
— |
|
cpu, hlo |
|
|
cpu, hlo |
— |
|
cpu, hlo |
|
|
cpu, hlo |
— |
|
cpu, hlo |
— |
|
cpu, hlo |
|
API Reference#
NKIPy Operations Module
This module provides a unified interface for tensor operations that dispatch to the appropriate backend (IR or HLO) based on the current tracing context.
- class nkipy.core.ops.Op(name: str)[source]#
Bases:
objectSimple operation dispatcher.
Usage:
zeros = Op('zeros') @zeros.impl('hlo') def _zeros_hlo(shape, dtype): # HLO implementation ... @zeros.impl('cpu') def _zeros_cpu(shape, dtype): # CPU implementation ... # Later, during tracing: result = zeros(shape, dtype) # Dispatches based on current backend