cuda_rust_wasm/utils/
mod.rs1pub fn round_up(value: usize, multiple: usize) -> usize {
5 value.div_ceil(multiple) * multiple
6}
7
8pub fn calculate_block_size(problem_size: usize, max_threads: usize) -> usize {
10 const BLOCK_SIZES: &[usize] = &[1024, 512, 256, 128, 64, 32];
12
13 for &size in BLOCK_SIZES {
14 if size <= max_threads && problem_size >= size {
15 return size;
16 }
17 }
18
19 32
21}
22
23pub fn calculate_grid_size(problem_size: usize, block_size: usize) -> usize {
25 problem_size.div_ceil(block_size)
26}