runmat-accelerate 0.4.5

Pluggable GPU acceleration layer for RunMat (CUDA, ROCm, Metal, Vulkan/Spir-V)
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use std::collections::hash_map::DefaultHasher;
use std::hash::{Hash, Hasher};

pub fn compute_pipeline_hash_bytes(
    shader_bytes: &[u8],
    layout_tag: &str,
    workgroup_size: Option<u32>,
) -> u64 {
    let mut hasher = DefaultHasher::new();
    shader_bytes.hash(&mut hasher);
    layout_tag.hash(&mut hasher);
    if let Some(wg) = workgroup_size {
        wg.hash(&mut hasher);
    }
    hasher.finish()
}