block_voxels#

anri.index.block_voxels(q, n_j, budget_bytes, n_corners=8)[source]#

Voxels per block (a power of 2) so that one block’s system entries for q orientations take ~budget_bytes.

Counts ~32 bytes per corner of each (voxel, orientation, prediction): index and weight, temporaries and gathers. 8 corners for the 2-row model, 4 n_beam with a beam profile (system()).

Parameters:
  • q (int) – Orientations per voxel handled at once

  • n_j (int) – Predictions per orientation

  • budget_bytes (float) – Memory for one block

  • n_corners (int, default: 8) – System entries per prediction

Returns:

int – Voxels per block