Buckets:

|
download
raw
5.7 kB

Kernels API Reference

Main Functions

get_kernel[[kernels.get_kernel]]

kernels.get_kernel[[kernels.get_kernel]]

Source

Load a kernel from the kernel hub.

This function downloads a kernel to the local Hugging Face Hub cache directory (if it was not downloaded before) and then loads the kernel.

Example:

import torch
from kernels import get_kernel

activation = get_kernel("kernels-community/relu", version=1)
x = torch.randn(10, 20, device="cuda")
out = torch.empty_like(x)
result = activation.relu(out, x)

Parameters:

repo_id (str) : The Hub repository containing the kernel.

revision (str, optional, defaults to "main") : The specific revision (branch, tag, or commit) to download. Cannot be used together with version.

version (int, optional) : The kernel version to download. Cannot be used together with revision.

backend (str, optional) : The backend to load the kernel for. Can only be cpu or the backend that Torch is compiled for. The backend will be detected automatically if not provided.

user_agent (Union[str, dict], optional) : The user_agent info to pass to snapshot_download() for internal telemetry.

Returns:

ModuleType

The imported kernel module.

get_local_kernel[[kernels.get_local_kernel]]

kernels.get_local_kernel[[kernels.get_local_kernel]]

Source

Import a kernel from a local kernel repository path.

Parameters:

repo_path (Path) : The local path to the kernel repository.

package_name (str) : The name of the package to import from the repository.

backend (str, optional) : The backend to load the kernel for. Can only be cpu or the backend that Torch is compiled for. The backend will be detected automatically if not provided.

Returns:

ModuleType

The imported kernel module.

has_kernel[[kernels.has_kernel]]

kernels.has_kernel[[kernels.has_kernel]]

Source

Check whether a kernel build exists for the current environment (Torch version and compute framework).

Parameters:

repo_id (str) : The Hub repository containing the kernel.

revision (str, optional, defaults to "main") : The specific revision (branch, tag, or commit) to download. Cannot be used together with version.

version (int, optional) : The kernel version to download. Cannot be used together with revision.

backend (str, optional) : The backend to load the kernel for. Can only be cpu or the backend that Torch is compiled for. The backend will be detected automatically if not provided.

Returns:

bool

True if a kernel is available for the current environment.

get_loaded_kernels[[kernels.get_loaded_kernels]]

kernels.get_loaded_kernels[[kernels.get_loaded_kernels]]

Source

Return a snapshot of every kernel that has been loaded into the current process.

Each entry is a kernels.utils.LoadedKernel dataclass with fields:

  • kernel_id (str): unique identifier used as the sys.modules key for this variant (either metadata.id or a hash-suffixed module name).
  • module (ModuleType): the imported kernel module.
  • module_name (str): the kernel's module name.
  • repo_infos (kernels.utils.RepoInfos | None): populated only for kernels loaded via get_kernel. Loaders that work from a local path (get_local_kernel) or a lockfile (get_locked_kernel, load_kernel) leave this as None.

RepoInfos has repo_id, revision, and backend fields. backend reflects the value passed by the caller — it is None when the caller relied on backend auto-detection.

The returned list is a new list; mutating it does not affect the registry.

These arguments might be renamed / changed a bit.

Example:

from kernels import get_kernel, get_loaded_kernels

get_kernel("kernels-community/activation", version=1)
for loaded in get_loaded_kernels():
    print(loaded.module_name, loaded.repo_infos)

Returns:

list[LoadedKernel]

one entry per distinct kernel variant path loaded in this process.

Loading locked kernels

load_kernel[[kernels.load_kernel]]

kernels.load_kernel[[kernels.load_kernel]]

Source

Get a pre-downloaded, locked kernel.

If lockfile is not specified, the lockfile will be loaded from the caller's package metadata.

Parameters:

repo_id (str) : The Hub repository containing the kernel.

lockfile (Path, optional) : Path to the lockfile. If not provided, the lockfile will be loaded from the caller's package metadata.

backend (str, optional) : The backend to load the kernel for. Can only be cpu or the backend that Torch is compiled for. The backend will be detected automatically if not provided.

Returns:

ModuleType

The imported kernel module.

get_locked_kernel[[kernels.get_locked_kernel]]

kernels.get_locked_kernel[[kernels.get_locked_kernel]]

Source

Get a kernel using a lock file.

Parameters:

repo_id (str) : The Hub repository containing the kernel.

local_files_only (bool, optional, defaults to False) : Whether to only use local files and not download from the Hub.

Returns:

ModuleType

The imported kernel module.

Xet Storage Details

Size:
5.7 kB
·
Xet hash:
9e101c9db9ebfa7acce832a3d59d6350af2afbd86df3fa2ae3dd0bcda3a8ece0

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.