tessl 0.2.0

Metal 4 GEMM and encode runtime for Apple silicon, built on Metal Performance Primitives TensorOps
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.82"
name = "tessl"
version = "0.2.0"
build = "build.rs"
links = "tessl"
exclude = [
    "assets/concepts/**",
    "assets/build_logo.py",
    "assets/png/*@2048.png",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Metal 4 GEMM and encode runtime for Apple silicon, built on Metal Performance Primitives TensorOps"
homepage = "https://tessl.vbcr.dev"
documentation = "https://docs.rs/tessl"
readme = "README.md"
keywords = [
    "metal",
    "gemm",
    "gpu",
    "apple-silicon",
    "bf16",
]
categories = [
    "science",
    "hardware-support",
    "api-bindings",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/bharathvbcr/tessl"

[package.metadata.docs.rs]
default-target = "aarch64-apple-darwin"
targets = ["aarch64-apple-darwin"]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
default = []
quant-prep = []

[lib]
name = "tessl"
path = "src/lib.rs"

[[bin]]
name = "bench_gemm_sweep"
path = "src/bin/bench_gemm_sweep.rs"

[[bin]]
name = "bench_gemm_tile_tune"
path = "src/bin/bench_gemm_tile_tune.rs"

[[bin]]
name = "bench_gemm_tnnt_tune"
path = "src/bin/bench_gemm_tnnt_tune.rs"

[[bin]]
name = "bench_nn_kernels"
path = "src/bin/bench_nn_kernels.rs"

[[bin]]
name = "probe_gemm_parity"
path = "src/bin/probe_gemm_parity.rs"

[[example]]
name = "epilogue_cost"
path = "examples/epilogue_cost.rs"

[[example]]
name = "gemm"
path = "examples/gemm.rs"

[[example]]
name = "nn_layer"
path = "examples/nn_layer.rs"

[[test]]
name = "attention"
path = "tests/attention.rs"

[[test]]
name = "bf16_cast"
path = "tests/bf16_cast.rs"

[[test]]
name = "build_artifact_contract"
path = "tests/build_artifact_contract.rs"

[[test]]
name = "docs_name_real_tools"
path = "tests/docs_name_real_tools.rs"

[[test]]
name = "f16"
path = "tests/f16.rs"

[[test]]
name = "gemm_batched"
path = "tests/gemm_batched.rs"

[[test]]
name = "gemm_correctness"
path = "tests/gemm_correctness.rs"

[[test]]
name = "gemm_determinism"
path = "tests/gemm_determinism.rs"

[[test]]
name = "gemm_epilogue"
path = "tests/gemm_epilogue.rs"

[[test]]
name = "gemm_flag_paths"
path = "tests/gemm_flag_paths.rs"

[[test]]
name = "gemm_i8"
path = "tests/gemm_i8.rs"

[[test]]
name = "gemm_ragged_shapes"
path = "tests/gemm_ragged_shapes.rs"

[[test]]
name = "interop_mtl_buffer"
path = "tests/interop_mtl_buffer.rs"

[[test]]
name = "kv_safety"
path = "tests/kv_safety.rs"

[[test]]
name = "nn_adversarial"
path = "tests/nn_adversarial.rs"

[[test]]
name = "nn_aliasing"
path = "tests/nn_aliasing.rs"

[[test]]
name = "nn_decode_hazards"
path = "tests/nn_decode_hazards.rs"

[[test]]
name = "nn_kernels"
path = "tests/nn_kernels.rs"

[[test]]
name = "nn_runtime_ownership"
path = "tests/nn_runtime_ownership.rs"

[[test]]
name = "nn_wiring"
path = "tests/nn_wiring.rs"

[[test]]
name = "promoted_kernels"
path = "tests/promoted_kernels.rs"

[[test]]
name = "promoted_numeric"
path = "tests/promoted_numeric.rs"

[[test]]
name = "public_api_errors"
path = "tests/public_api_errors.rs"

[[test]]
name = "q4_interleaved"
path = "tests/q4_interleaved.rs"

[[test]]
name = "q4_shape_domain"
path = "tests/q4_shape_domain.rs"

[[test]]
name = "qkv_rope"
path = "tests/qkv_rope.rs"

[[test]]
name = "quantized_gemv"
path = "tests/quantized_gemv.rs"

[[test]]
name = "reductions"
path = "tests/reductions.rs"

[[test]]
name = "runtime_lifecycle"
path = "tests/runtime_lifecycle.rs"

[[test]]
name = "shader_index_arithmetic"
path = "tests/shader_index_arithmetic.rs"

[dependencies.libc]
version = "0.2"

[dependencies.objc2]
version = "0.6"

[dependencies.objc2-foundation]
version = "0.3"
features = [
    "NSString",
    "NSURL",
    "NSError",
    "NSData",
    "NSValue",
    "NSRange",
]

[dependencies.objc2-metal]
version = "0.3"
features = [
    "MTLDevice",
    "MTLLibrary",
    "MTLBuffer",
    "MTLResource",
    "MTLAllocation",
    "MTLComputePipeline",
    "MTLTypes",
    "MTLGPUAddress",
    "MTLEvent",
    "MTLResidencySet",
    "MTL4CommandQueue",
    "MTL4CommandBuffer",
    "MTL4CommandAllocator",
    "MTL4CommandEncoder",
    "MTL4ComputeCommandEncoder",
    "MTL4ArgumentTable",
    "MTL4Counters",
    "MTLIndirectCommandBuffer",
    "MTLIndirectCommandEncoder",
    "MTL4Compiler",
    "MTL4ComputePipeline",
    "MTL4PipelineState",
    "MTL4FunctionDescriptor",
    "MTL4LibraryFunctionDescriptor",
    "MTLTensor",
]

[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1