Skip to main content

kestrel-kernels

Precompiled CUDA kernels for Kestrel, a high-performance inference engine for Moondream, the world's most efficient vision-language model.

License: These kernels are provided for use with Kestrel only. Other use is not permitted.

These kernels target NVIDIA Ampere/Ada/Hopper GPUs (SM80/SM86/SM89/SM90) and are distributed as precompiled shared libraries for fast installation without CUDA compilation.

Kernel Library

CUDA Kernels (compiled via CMake)

These kernels are implemented in CUDA C++ and compiled during wheel build.

activation - GELU Residual Activation

Computes GELU(h) * (g + 1) fused gated activation used in MoE expert layers. The input tensor is split in half: h passes through GELU, g acts as a gate with +1 bias.

Tokens CUDA PyTorch (eager) Compile vs PyTorch
1 3.8 us 64 us 63 us 17x
64 2.9 us 49 us 69 us 17x
740 3.5 us 49 us 68 us 14x
1024 3.9 us 49 us 68 us 13x
2048 5.1 us 49 us 68 us 10x

PyTorch eager launches separate kernels for slice, erf, multiply, and add, with intermediate tensors hitting global memory. Our kernel fuses everything into a single pass. torch.compile is slower than eager here, likely because the dynamic x[:, :hidden] slicing prevents effective fusion.

fused_linear_residual - Linear + Bias + Residual

Fused out = x @ W.T + bias + residual using cuBLASLt epilogues.

Crops Tokens CUDA PyTorch (eager) vs PyTorch
1 729 9.0 us 24 us 2.7x
2 1458 12 us 24 us 2.0x
4 2916 16 us 29 us 1.8x
8 5832 46 us 50 us 1.1x
13 9477 44 us 77 us 1.7x

cuBLASLt epilogues fuse bias addition and residual into the matmul, avoiding extra kernel launches and memory traffic.

fused_mlp - Fused MLP with cuBLASLt

Fused out = residual + gelu(x @ W1.T + b1) @ W2.T + b2 using cuBLASLt epilogues.

Crops Tokens CUDA PyTorch (eager) vs PyTorch
1 729 43 us 56 us 1.3x
2 1458 72 us 89 us 1.2x
4 2916 97 us 124 us 1.3x
8 5832 214 us 259 us 1.2x
13 9477 283 us 379 us 1.3x

MLP is matmul-dominated so the speedup is modest. The gain comes from fusing GELU and residual add into cuBLASLt epilogues.

kv_cache_write - KV Cache Write with FP8 Quantization

Writes BF16 key/value tensors to FP8 paged KV cache with quantization.

Tokens Kestrel vLLM PyTorch (eager) vs vLLM vs PyTorch
1 3.7 us 4.9 us 67 us 1.3x 18x
8 3.5 us 4.8 us 35 us 1.4x 10x
64 3.7 us 4.8 us 35 us 1.3x 9x
256 4.1 us 4.8 us 36 us 1.2x 9x
1024 8.6 us 9.7 us 51 us 1.1x 6x
4096 31 us 46 us 124 us 1.5x 4x

Fused K/V processing and optimized vectorization provide 1.1-1.5x speedup over vLLM's implementation.

layernorm_cuda - Fast LayerNorm Forward

Optimized LayerNorm forward pass for common hidden dimensions.

Vision Encoder (N=1152):

Crops Tokens CUDA PyTorch (eager) vs PyTorch
1 729 3.9 us 8.4 us 2.2x
2 1458 4.2 us 8.4 us 2.0x
4 2916 5.5 us 10 us 1.8x
8 5832 8.3 us 18 us 2.1x
13 9477 18 us 28 us 1.6x

Text Decoder (N=2048):

Context Tokens CUDA PyTorch (eager) vs PyTorch
decode 1 4.2 us 8.4 us 2.0x
prefill 740 3.7 us 8.4 us 2.3x

Specialized kernels for N=1152 and N=2048 use 4 rows/block with warp-only reductions, avoiding shared memory overhead. Two epilogue strategies trade register pressure vs memory bandwidth.

moe_sum - MoE Output Summation

Sums the weighted outputs from top-k MoE experts back into a single hidden state per token. Computes out[t] = sum(expert_outputs[t, 0:k]) where each token selects k=8 experts.

Context Tokens CUDA PyTorch (eager) vs PyTorch
decode 1 3.0 us 5.6 us 1.9x
batch 4 4 3.0 us 5.4 us 1.8x
batch 16 16 2.9 us 5.3 us 1.8x
prefill 740 5.5 us 10 us 1.9x
long 1024 10 us 15 us 1.5x

Vectorized 16-byte loads (8 bf16 at once), fully unrolled k=8 reduction. FP32 accumulation provides better numerical stability than bf16 accumulation. Note: vLLM has a similar kernel, but only supports topk=2,3,4 and falls back to PyTorch for topk=8.

rotary_embedding - Rotary Position Embedding

Applies rotary position embedding to query and key tensors (n_heads=32, head_dim=64).

Context Tokens Kestrel vLLM PyTorch (eager) vs vLLM vs PyTorch
decode 1 3.3 us 4.9 us 118 us 1.5x 36x
batch 4 4 3.1 us 4.5 us 117 us 1.5x 38x
batch 16 16 3.1 us 4.7 us 117 us 1.5x 38x
prefill 740 5.0 us 8.0 us 119 us 1.6x 24x

Vectorized bfloat162 pair processing, shared memory caching of cos/sin values, FP32 math for numerical stability. Split-head kernel for decode increases SM utilization on small batch sizes.

fp8_quant - FP8 Quantization

Converts BF16 tensors to FP8 (e4m3fn) with per-row dynamic scale computation. Used for quantizing MoE activations before FP8 GEMM.

Context Rows CUDA PyTorch (eager) vs PyTorch
decode 8 3.1 us 53 us 17x
batch 4 32 3.1 us 52 us 17x
batch 16 128 3.1 us 52 us 17x
prefill 5920 6.6 us 67 us 10x

Two kernel variants: warp-per-row for large batches (better SM utilization), block-per-row for small batches. Vectorized 16-byte loads/stores, fused absmax reduction.

tau_tail - TAU Attention Scaling

Applies per-head TAU scaling to Q and V in packed QKV. Computes scale = tanh(tok_linear) + tau_pos_table[position] then scales each head: Q *= scale_q, V *= scale_v.

Context Tokens CUDA PyTorch (eager) vs PyTorch
decode 1 4.6 us 45 us 10x
batch 4 4 4.4 us 46 us 10x
batch 16 16 9.0 us 88 us 10x
prefill 740 6.5 us 63 us 10x

CuTe DSL Kernels (precompiled for wheel distribution)

These kernels are written in NVIDIA CuTe DSL (Python) and precompiled to .so files during wheel build. The kernel source templates are excluded from wheel distribution.

Current runtime status:

  • Production runtime for these kernels still uses the CuTe-generated AOT shared library path, loaded through the existing tvm_ffi wrapper.
  • We now have a DLPack-based direct-cubin topk path in the source tree that does not use cutlass, libcute_dsl_runtime, or tvm_ffi in the migrated hot path.
  • That path builds the kernel on Linux, ships the emitted cubin plus manifest, and launches it through _pybridge using the DLPack C exchange API for tensor and stream interop.
  • On B200 (sm100), the preallocated topk direct-cubin path is now at parity or better than the current production-style precompiled path:
    • batch 257: 6.77 us direct cubin vs 7.24 us existing precompiled path
    • topk_fwd, batch 257: 8.95 us direct cubin vs 9.79 us existing precompiled path
  • On the Windows L4 dev host, the same Linux-built sm89 cubin ran successfully through the rebuilt _pybridge path with correct results and correct non-default stream behavior.
  • The long-term runtime direction is now: Linux-only CuTe builders, bundled cubin artifacts, _pybridge launchers, and torch-c-dlpack-ext as the dependency that guarantees the DLPack C exchange API is available for runtime interop.

Design notes for the ongoing refactor live in docs/CUTE_RUNTIME_REFACTOR_DESIGN.md.

topk - Bitonic Top-K Selection

GPU top-k selection using bitonic sort network with optional fused softmax.

Context Tokens Kestrel Quack PyTorch (eager) vs Quack vs PyTorch
decode 1 23 us 29 us 17 us 1.3x 0.8x
batch 16 16 22 us 27 us 17 us 1.2x 0.8x
prefill 740 22 us 28 us 17 us 1.2x 0.7x

Note: Currently slower than PyTorch for N=64, k=8. PyTorch uses radix-based QuickSelect which is more efficient for small N. Algorithm should be revisited.

An experimental direct-cubin runtime also exists for topk in the source tree. It demonstrates that this CuTe kernel can be built on Linux and run through our own native launcher on both Linux and Windows without a runtime dependency on cutlass or tvm_ffi.

Python API:

from kestrel_kernels.topk import topk_fwd

values, indices = topk_fwd(scores, k=8, softmax=True)

sampling - Top-p Token Sampling

CuTe DSL rejection-based top-p sampler for probability tensors.

Runtime dispatch uses the CuTe kernel path by default on CUDA, with fallback retained for unsupported cases and runtime errors.

Benchmarks below are H100 (sm90) dispatch-like timings (uniform generation + kernel launch), measured with heavy warmup and interleaved randomized runs:

Shape (batch, vocab) Kestrel CuTe FlashInfer vs FlashInfer
(1, 51200) 17.37 us 20.78 us 1.20x
(4, 51200) 21.17 us 21.84 us 1.03x
(128, 51200) 38.96 us 42.44 us 1.09x
(32, 1024) 15.25 us 20.50 us 1.34x

Python API:

from kestrel_kernels.sampling import top_p_sampling_from_probs

sampled_ids = top_p_sampling_from_probs(probs, top_p, generator=generator)

cute_moe - MoE Matrix Multiplications

Grouped GEMM kernels for Mixture-of-Experts layers, written in CuTe DSL for H100 (SM90). Supports BF16 and FP8 (W8A8) precision with both warp-level and WGMMA variants, automatically selected based on batch size.

FP8 W8A8 Full MoE Layer (up + activation + down + sum, E=64, k=8, with CUDA Graphs):

Context Tokens Kestrel vLLM (Triton) vs vLLM
decode 1 29 us 51 us 1.72x
batch 4 4 79 us 103 us 1.30x
batch 16 16 146 us 169 us 1.16x
prefill 740 245 us 481 us 1.96x

Python API:

from kestrel_kernels import (
    invoke_cute_moe_up,
    invoke_cute_moe_down,
    invoke_cute_moe_up_fp8,
    invoke_cute_moe_down_fp8,
)

# BF16 up projection
out_up = invoke_cute_moe_up(
    hidden_states, w1, w2,
    topk_weights, topk_ids,
    sorted_token_ids, expert_ids, num_tokens_post_pad,
)

# BF16 down projection
out_down = invoke_cute_moe_down(
    moe_out, w3,
    topk_weights, topk_ids,
    sorted_token_ids, expert_ids, num_tokens_post_pad,
)

moe_align - MoE Token Alignment

Prepares sorted token indices for block-sparse MoE operations. Given topk_ids, outputs sorted token IDs grouped by expert for block-sparse matmul.

Context Tokens Kestrel vLLM vs vLLM
decode 1 6.7 us 9.8 us 1.5x
batch 4 4 6.5 us 9.8 us 1.5x
batch 16 16 7.0 us 10 us 1.4x
prefill 740 12 us 9.2 us 0.8x
long 1024 12 us 9.5 us 0.8x

Uses optimized single-CTA shared-memory histogram for decode (numel < 1024). Prefill path needs optimization.

Python API:

from kestrel_kernels.moe_align import moe_align_block_size

moe_align_block_size(
    topk_ids, num_experts, block_size,
    sorted_token_ids, expert_ids, num_tokens_post_pad,
    expert_map,  # optional for expert parallelism
)

gelu_residual - GELU Residual Activation (CuTe DSL)

CuTe DSL implementation of GELU residual activation for BF16. Computes GELU(h) * (g + 1) fused gated activation used in MoE expert layers. Uses vectorized memory access and streaming stores.

Context Rows CuTe CUDA PyTorch vs CUDA vs PyTorch
decode 8 2.3 us 2.5 us 7.5 us 1.10x 3.3x
batch 4 32 2.4 us 3.0 us 8.6 us 1.24x 3.6x
batch 16 128 2.6 us 2.9 us 8.9 us 1.09x 3.4x
prefill 5920 9.9 us 11.2 us 55.9 us 1.14x 5.6x

fp8_quant_cute - FP8 Quantization (CuTe DSL)

CuTe DSL implementation of FP8 row-wise quantization. Converts BF16 tensors to FP8 (e4m3fn) with per-row dynamic scaling.

hidden=1024 (MoE down projection input):

Context Rows CuTe CUDA vs CUDA
decode 8 2.5 us 2.7 us 1.09x
batch 4 32 2.8 us 3.0 us 1.07x
batch 16 128 2.8 us 3.0 us 1.08x
prefill 5920 5.3 us 6.6 us 1.23x

hidden=2048 (MoE up projection input):

Context Rows CuTe CUDA vs CUDA
decode 8 2.6 us 2.7 us 1.02x
batch 4 32 2.9 us 3.0 us 1.04x
batch 16 128 2.9 us 3.0 us 1.04x
prefill 5920 8.2 us 10.7 us 1.31x

flash_attn - Flash Attention (Prefill & Decode)

Flash Attention kernels written in CuTe DSL, with a dedicated decode path optimized for paged FP8 KV cache. 1.3-2.5x faster than FlashInfer on typical Moondream workloads.

  • FP8 KV cache with per-tensor scaling
  • Paged KV (page_size=1) for fine-grained memory management
  • CUDA graph compatible
  • Causal and prefix-LM masking, variable-length sequences, GQA/MQA

FP8 KV Paged Decode (with CUDA Graphs):

Batch KV Len Kestrel FlashInfer vs FlashInfer
1 740 9.6 us 12.9 us 1.34x
1 1024 8.7 us 13.1 us 1.50x
4 740 17.1 us 23.9 us 1.40x
8 512 10.0 us 25.2 us 2.51x
16 256 9.6 us 17.6 us 1.83x
32 128 11.8 us 26.5 us 2.24x

FP8 KV Paged Prefill:

Seq Len Kestrel FlashInfer vs FlashInfer
740 19.9 us 47.6 us 2.40x
1024 27.3 us 58.9 us 2.16x

Python API:

kestrel-kernels is shipped as an inference-only backend for Moondream/kestrel; flash_attn has a single forward entry point. Pass fixed-length tensors with seqlen_q / seqlen_k implicit in the shape, or paged/varlen tensors with page_table / seqused_k / cu_seqlens_*.

from kestrel_kernels.flash_attn.cute.interface import _flash_attn_fwd

# Fixed-length attention
out, _ = _flash_attn_fwd(q, k, v, causal=True)

# Paged / variable-length (one call handles both — pass whichever kwargs apply)
out, _ = _flash_attn_fwd(
    q, k, v,
    page_table=page_table,
    seqused_k=seqused_k,
    causal=True,
)

Autograd wrappers (flash_attn_func / flash_attn_varlen_func) and the backward pass were deleted — this package no longer supports training.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

kestrel_kernels-0.5.0-cp314-cp314-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.14Windows x86-64

kestrel_kernels-0.5.0-cp314-cp314-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64manylinux: glibc 2.35+ x86-64

kestrel_kernels-0.5.0-cp314-cp314-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64manylinux: glibc 2.35+ ARM64

kestrel_kernels-0.5.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.31+ x86-64

kestrel_kernels-0.5.0-cp314-cp314-macosx_13_0_arm64.whl (861.6 kB view details)

Uploaded CPython 3.14macOS 13.0+ ARM64

kestrel_kernels-0.5.0-cp313-cp313-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.13Windows x86-64

kestrel_kernels-0.5.0-cp313-cp313-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64manylinux: glibc 2.35+ x86-64

kestrel_kernels-0.5.0-cp313-cp313-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64manylinux: glibc 2.35+ ARM64

kestrel_kernels-0.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.31+ x86-64

kestrel_kernels-0.5.0-cp313-cp313-macosx_13_0_arm64.whl (861.3 kB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

kestrel_kernels-0.5.0-cp312-cp312-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.12Windows x86-64

kestrel_kernels-0.5.0-cp312-cp312-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64manylinux: glibc 2.35+ x86-64

kestrel_kernels-0.5.0-cp312-cp312-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64manylinux: glibc 2.35+ ARM64

kestrel_kernels-0.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.31+ x86-64

kestrel_kernels-0.5.0-cp312-cp312-macosx_13_0_arm64.whl (861.2 kB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

kestrel_kernels-0.5.0-cp311-cp311-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.11Windows x86-64

kestrel_kernels-0.5.0-cp311-cp311-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64manylinux: glibc 2.35+ x86-64

kestrel_kernels-0.5.0-cp311-cp311-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64manylinux: glibc 2.35+ ARM64

kestrel_kernels-0.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.31+ x86-64

kestrel_kernels-0.5.0-cp311-cp311-macosx_13_0_arm64.whl (860.3 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

kestrel_kernels-0.5.0-cp310-cp310-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.10Windows x86-64

kestrel_kernels-0.5.0-cp310-cp310-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64manylinux: glibc 2.35+ x86-64

kestrel_kernels-0.5.0-cp310-cp310-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64manylinux: glibc 2.35+ ARM64

kestrel_kernels-0.5.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.31+ x86-64

kestrel_kernels-0.5.0-cp310-cp310-macosx_13_0_arm64.whl (859.1 kB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

Details for the file kestrel_kernels-0.5.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c57dc766adfb7c32e67e5beb8df2d28422d9f9f6663d66b0f04ebe6eae5216d4
MD5 d28eef193706b5a34a2404113d51beb6
BLAKE2b-256 80c9fe8b558510625431fb95203aad92027ec83f7a2be7cd57c08cced512d579

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp314-cp314-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp314-cp314-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 70d112fb7c44f5df1e8e2517d57866ca637e42f3113c9fc718f8c52938c076c0
MD5 84f2d7011f0313fd249b6e0ced0f5f2b
BLAKE2b-256 5b7eaa376f92292e7ffd93283d729e33a55a61be3ed0ce082be27f386bbb78b6

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp314-cp314-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp314-cp314-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 7d6d9fd4f50da39de53a821230a9f58f43ed00fa394fcbd546a946a08437b85f
MD5 050a4c0db8a999fe806266c24687f94c
BLAKE2b-256 3a32ba3725b0b492f26616841d63e1fb717a161bb42eebf1b38274490667490a

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 691b577a5f1ece2f62e2afda1f5b86714a662a2d37a637d67a1adbd96cefbc33
MD5 0ac30187c6aac40bb124cec4bc856dfc
BLAKE2b-256 32e762eae8f036f4f2938e11fd0285918807b5fd6945931331d1b1c6e661ebe5

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp314-cp314-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp314-cp314-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 2c17bc63bda7bcf4a21953f545946ab1e1dd0d54ec322fc3b05cd30923962640
MD5 b341c4e29b9d131b59972ef43764f86a
BLAKE2b-256 b1689c3840e7480665153fdbfaac3046974fd956c5f4342ce476876fb2275f9e

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 10f031026e22215227bb19fb19c36699e04b409ffe5d3c0dc4950d034b1cc175
MD5 135c26784b58c4c16142f20501818b26
BLAKE2b-256 ca506592d8fb9f968d07bad2c8db2bd4dba3a59c2a78a238347404d50e0fe14c

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp313-cp313-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp313-cp313-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 9622a8cef7d57e164dae480040874a69301c0745b16957852405bae67a95122d
MD5 43820ca14ac51d8eb59be10970817be4
BLAKE2b-256 e3928139cdd95cc42fe74733462104f95ae705d93d49ec6f848a5a693d1a2221

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp313-cp313-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp313-cp313-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 6d40c910d7e54aeb5c129fc8702862e93da5916b9d6939e1ef133ccb291abec9
MD5 493437202354204c9cc6084767eeba17
BLAKE2b-256 1805f93c09ab1be38518af11f613f96fe6df13f9bd1df5004ca6570f643f025b

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 e1a145e19e36d0637c368c1ff56dc3891fed5fdf0ba54b786b97a92127153906
MD5 bece928597761ea64596146d1ab24025
BLAKE2b-256 8b6a3d54b4701999aae53d3ffae6dea465bd6c30d44b6354b9caa5da2ac50465

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 58387a5ef35bfac7254c0d972bd1ac79e271f71ff17a9c2e7964bfca386f48d4
MD5 e1f2d9797828401cb495e20bdae24336
BLAKE2b-256 d6f19390ddb51bdf708fc2fe0fe4eff0cc3e3d736512dd2d5fb4222e23125945

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a168a526c5fe829a4f6987f81708dbd17add178a5520c576bb9b2be5ff7a06fc
MD5 787f671e56c27ade2c8ddcfdb8862f06
BLAKE2b-256 0ae98510ed056f391bba0aa566e5d864f4449457a417251dd5e00aea0f5f9455

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp312-cp312-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp312-cp312-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 38ecc42ad852ae9d356ba4680d3777bc04810faa1d73866fbf2f632b7f63c5ff
MD5 1bcdcbe0c5dad2d39c9aa480a7b59ede
BLAKE2b-256 7cb4a2b4482ef8fd5ce228f0dc9a22d38277c455092408f073b8215319c1402b

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp312-cp312-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp312-cp312-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 cece5148dbc42dbfb4a97a19e4bba5bc9a4c2072b7d364ba502f5f914d931386
MD5 02ac64def98edcb5925ad04cdba605be
BLAKE2b-256 6886a0c3ad2e011c0641fee1a4fd30afa1ee5741d4a30500b58cb4cb073cecac

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 953e3d934d93a05b2ac6f5ef7328efb752c5d5292c6d444e908ab13a7e00f76d
MD5 db4e583d9b75ee37f66fc4c3531d821f
BLAKE2b-256 ca1399d1b4b01794dcbc327db56a04801429d857077e9c3fef6c2fb6cd28e0dd

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 adb7494d01c2b26b740f9bad2718d47a90499fce54a9932e41a977b550dd1291
MD5 c147c157473872a4101e4c10aea080dd
BLAKE2b-256 bf72e486bfe979881f81eba23032c04f927ab9371c83dce3a92a60717cfe1d52

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f2971a9ee8be9c5c405d4cb4eba6a78e1f62257eb9f887982059db5c76583a01
MD5 cc6b4c98963dd5072b0a395b8888027a
BLAKE2b-256 bb7c4e4270f3e0623fcbe8934139fcb2cd9df3907f520a59afa1b3848cba8849

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp311-cp311-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp311-cp311-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 877d7f0f265c8217c97a666518085cc1c8589a2ac484fda03e1e4ccff393eddf
MD5 3bce749115bd680c6cefd2f5facc70e3
BLAKE2b-256 846ff048fd4f1fc1da72cb91dc96daa2aa6867377f452645d7c9e28d172f111f

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp311-cp311-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp311-cp311-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 68ae613b8bd1fc42ed8b90fa5fc033156ce7d54a2962a357cc11d72f499727db
MD5 c3903c947a66c5d5153f610f4b40cd95
BLAKE2b-256 eb0f8051996d3f4f889c87376a42f45c2025d9bdf439e9636ea985ddfcd79c15

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 14b477877a38a002c6782b58262e1433ce62ab1c6588f1523f2b1a7ec98ef56f
MD5 1632d6b0b084a3733a53cb70e92ff2ff
BLAKE2b-256 78fc14de562b19a9b8b9da28f0f7647eb567cde6602210018a4830082e2ec7ad

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 d31e9e23f4cc00360d75e68036bc4d01bf9e74eaf28838287fd31d58d75ddc87
MD5 95eff36738149e158a2666820fe3659e
BLAKE2b-256 120ddd90fec52bd01a12637e5d63d5f66824ffaacef1e4203687c5df33129375

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1c2b1ccff64cff6a257df917fa37a7329912f9243b6b06bf3bc5060328e1fee3
MD5 198a40ef4d453cd9962ef80d37c7568d
BLAKE2b-256 95c1656413f1550353c78ad1323ca152f9099bf9836bdc426caeaa37c08badac

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp310-cp310-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp310-cp310-manylinux_2_34_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 6fa4c4d772c6cec5df2137c411fc78595373147e372bfe57ecf7ca452eaba166
MD5 8e9da0257cae4abbdcfdd7793b00d1d3
BLAKE2b-256 cacc329aabd9455a7fc6091481ca5663dc1a90d9536018e752935cb82b01afbb

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp310-cp310-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp310-cp310-manylinux_2_34_aarch64.manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 25b3ccc6695049b2a181cdcaad99cd64f76d0a6d4487eabb2f343598b03d5d59
MD5 ce0b3e4d8828498cd63054478f87097a
BLAKE2b-256 1f3e97defe8f7678a0b49aa0d64ec8602d62ce555ab5de6b08479c609b7138e8

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 665c3a6478dc31de41f76f83f8a87f3a75d73a6a9257dcb1adaa89084627e29c
MD5 78bbcdc4c97c71d337f698939dbb7107
BLAKE2b-256 7218995138526a5325568e8b6042ad48a4f3a7879f0fda583440775413a7d4c7

See more details on using hashes here.

File details

Details for the file kestrel_kernels-0.5.0-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for kestrel_kernels-0.5.0-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 3d0f9ee5320642b4a37be75d33b6190d74f01aa46a08a3d93265abe4f63660ec
MD5 0481edabe761b0800586fbfaf99c6830
BLAKE2b-256 e53cd3524cd8d5172a1bdcf3b4afc0165a12451750cfd5b26b28a9b57c1de074

See more details on using hashes here.

Release history Release notifications | RSS feed

0.6.0

25 files

This release

0.5.0 This release

25 files

0.4.9

25 files

0.4.8

20 files

0.4.7

20 files

0.4.6

20 files

0.4.5

20 files

0.4.4

15 files

0.4.3

20 files

0.4.2

20 files

0.4.1

20 files

0.4.0

20 files

0.3.2

20 files

0.3.1

13 files

0.3.0

13 files

0.2.1

8 files

0.2.0

4 files

0.1.3

4 files

0.1.2

4 files

0.1.1

4 files

0.1.0

4 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page