[package]
edition = "2024"
rust-version = "1.96.1"
name = "nu_plugin_vulkan_matrix"
version = "0.1.2"
build = "backend/build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "GPU matrix operations for Nushell using Vulkan"
readme = "README.md"
keywords = [
"nushell",
"plugin",
"vulkan",
"matrix",
"gpu",
]
categories = [
"command-line-utilities",
"mathematics",
]
license = "MIT"
repository = "https://github.com/kazu/nu_plugin_vulkan_matrix"
[features]
default = [
"std",
"spirv",
]
deny-validation-errors = ["wgpu-hal/validation_canary"]
exclusive-memory-only = ["cubecl-server/exclusive-memory-only"]
msl = [
"cubecl-cpp/metal",
"dep:objc2",
"dep:objc2-foundation",
]
persistence = ["cubecl-server/persistence"]
pliron-dump = [
"std",
"cubecl-cpp/pliron-dump",
"cubecl-spirv?/pliron-dump",
]
profile-tracy = ["tracy-client"]
renderdoc = [
"std",
"dep:renderdoc",
]
spirv = [
"cubecl-spirv",
"dep:rspirv",
"tracel-ash",
"cubecl-common/hash",
]
std = [
"upstream-wgpu/std",
"cubecl-server/std",
"cubecl-common/std",
"cubecl-core/std",
"cubecl-cpp/std",
"cubecl-opt/std",
"pliron/std",
"sanitize-filename",
]
tracing = [
"dep:tracing",
"cubecl-server/tracing",
"cubecl-common/tracing",
"cubecl-core/tracing",
]
vulkan-validate = []
[lib]
name = "nu_plugin_vulkan_matrix"
path = "src/lib.rs"
[[bin]]
name = "nu_plugin_vulkan_matrix"
path = "src/main.rs"
[[test]]
name = "layouts"
path = "tests/layouts.rs"
[[test]]
name = "reductions"
path = "tests/reductions.rs"
[[test]]
name = "transfers"
path = "tests/transfers.rs"
[dependencies.ash]
version = "0.38"
[dependencies.bytemuck]
version = "1.16.1"
[dependencies.cfg-if]
version = "1.0.0"
[dependencies.cubecl]
version = "=0.11.0"
features = [
"std",
"stdlib",
"vulkan",
]
default-features = false
[dependencies.cubecl-common]
version = "0.11.0"
default-features = false
[dependencies.cubecl-core]
version = "0.11.0"
default-features = false
[dependencies.cubecl-cpp]
version = "0.11.0"
features = ["metal"]
optional = true
[dependencies.cubecl-environment]
version = "0.11.0"
default-features = false
[dependencies.cubecl-ir]
version = "0.11.0"
default-features = false
[dependencies.cubecl-monitoring]
version = "0.11.0"
features = [
"amdgpu-busy-percent",
"gpu-engine-counters",
"intel-idle-residency",
"io-accelerator",
"nvml",
]
default-features = false
[dependencies.cubecl-opt]
version = "0.11.0"
default-features = false
[dependencies.cubecl-runtime]
version = "=0.11.0"
features = ["std"]
default-features = false
[dependencies.cubecl-server]
version = "0.11.0"
default-features = false
[dependencies.cubecl-spirv]
version = "0.11.0"
optional = true
[dependencies.cubek-matmul]
version = "=0.3.0"
features = [
"std",
"tiled",
"multi-level",
]
default-features = false
[dependencies.cubek-reduce]
version = "=0.3.0"
features = ["std"]
default-features = false
[dependencies.cubek-std]
version = "=0.3.0"
features = ["std"]
default-features = false
[dependencies.derive-new]
version = "0.7.0"
default-features = false
[dependencies.derive_more]
version = "2"
features = [
"not",
"add",
"mul",
"add_assign",
"mul_assign",
"display",
"debug",
"from",
"into",
]
default-features = false
[dependencies.getrandom]
version = "0.3"
[dependencies.half]
version = "2.5"
features = [
"alloc",
"num-traits",
"serde",
]
default-features = false
[dependencies.hashbrown]
version = "0.17"
[dependencies.itertools]
version = "0.15"
features = ["use_alloc"]
default-features = false
[dependencies.libc]
version = "0.2"
[dependencies.log]
version = "^0.4.22"
default-features = false
[dependencies.memmap2]
version = "0.9"
[dependencies.ndarray]
version = "0.17.2"
[dependencies.npyz]
version = "=0.9.1"
[dependencies.nu-plugin]
version = "=0.116.1"
[dependencies.nu-protocol]
version = "=0.116.1"
[dependencies.pliron]
version = "0.19"
default-features = false
[dependencies.py_literal]
version = "0.4"
[dependencies.rspirv]
version = "0.16.0"
optional = true
package = "tracel-rspirv"
[dependencies.sanitize-filename]
version = "0.6"
optional = true
[dependencies.serde]
version = "1"
features = [
"derive",
"rc",
]
[dependencies.tempfile]
version = "3"
[dependencies.thiserror]
version = "2"
default-features = false
[dependencies.tracel-ash]
version = "0.39.5"
optional = true
[dependencies.tracing]
version = "^0.1.43"
features = ["attributes"]
optional = true
default-features = false
[dependencies.tracy-client]
version = "0.18.0"
optional = true
[dependencies.typetag]
version = "0.2"
[dependencies.upstream-wgpu]
version = "=0.11.0"
default-features = false
package = "cubecl-wgpu"
[dependencies.wgpu-hal]
version = "^30.0.0"
optional = true
[build-dependencies.cfg_aliases]
version = "0.2.2"
[target.'cfg(not(target_os = "macos"))'.dependencies.renderdoc]
version = "0.12"
optional = true
[target.'cfg(not(target_os = "macos"))'.dependencies.wgpu]
version = "^30.0.0"
features = ["fragile-send-sync-non-atomic-wasm"]
[target.'cfg(target_family = "wasm")'.dependencies.wasm-bindgen-futures]
version = "0.4.45"
[target.'cfg(target_os = "macos")'.dependencies.wgpu]
version = "^30.0.0"
features = [
"vulkan-portability",
"fragile-send-sync-non-atomic-wasm",
]
[target.'cfg(target_vendor = "apple")'.dependencies.objc2]
version = "0.6"
optional = true
[target.'cfg(target_vendor = "apple")'.dependencies.objc2-foundation]
version = "0.3"
optional = true
[target.'cfg(target_vendor = "apple")'.dependencies.objc2-metal]
version = "0.3"
features = [
"MTLDevice",
"MTLLibrary",
]
[profile.dev]
debug = 0