Papers
Topics
Authors
Recent
2000 character limit reached

Native Width Alignment Mechanisms

Updated 26 November 2025
  • Native width alignment is a set of strategies that align data or layout elements to match the inherent atomic width of hardware or software, ensuring correctness and optimal resource usage.
  • In graph drawing and floating-point accumulation, enforcing native width preserves structural accuracy and improves efficiency through specialized flow models and online tree methods.
  • Real-world implementations like processing-using-DRAM and the PUMA system demonstrate significant improvements in throughput, power reduction, and area savings by ensuring strict native alignment.

Native width alignment designates strategies, algorithms, and system-level mechanisms that ensure data, operands, or layout elements are aligned to the natural width or atomic operation unit of the target hardware or software abstraction. This concept is fundamental across several domains, including high-performance graph layout, floating-point datapath design, and processing-in-memory architectures, where respecting the “native” width ensures correctness, maximizes hardware efficiency, and enables atomic operations or optimal resource usage.

1. Native Width Alignment in Graph Drawing and Coordinate Assignment

Native width alignment in hierarchical graph drawing, as formalized in the Sugiyama framework, concerns the assignment of node x-coordinates such that the rendered drawing fits precisely within a prescribed total width WW, no more and no less. While traditional heuristics target aesthetically optimal layouts, they do not guarantee strict bounding of horizontal extent. The flow-based formulation presented in "A Flow Formulation for Horizontal Coordinate Assignment with Prescribed Width" (Jünger et al., 2018) introduces a minimum cost flow model where the native width corresponds to the external requirement (e.g., screen or page width) that must be enforced.

In this model, the flow network encodes gap constraints between nodes within layers and between adjacent layers, with all flow in the network funneling through an arc (or arc group) of capacity WW such that the reconstructed node coordinates respect maxi(maxjx(vji))minj(x(vji))W\max_i(\max_j x(v^i_j)) - \min_j(x(v^i_j)) \le W. This approach guarantees that the computed layout achieves native width alignment to the prescribed width, supporting further graph aesthetic and layout preservation constraints.

2. Native Width Alignment for Multi-Term Floating-Point Accumulation

In floating-point datapaths, particularly for multi-term addition as in vector dot-products and matrix multiplications, “native width alignment” refers to a process in which all mantissas are realigned to a shared exponent before accumulation, constrained by the bit-width of the target domain (e.g., BFloat16, FP32) (Alexandridis et al., 2024).

The native width here is the width of the data format’s significand, and native width alignment ensures each operand, after its alignment shift, fits in a precisely dimensioned accumulator with no excess padding. Historically, floating-point accumulator trees would serially compute the maximum exponent, then issue shift-and-add operations for each term, incurring dependency and propagation delays. Alexandridis & Dimitrakopoulos introduce an associative operator \otimes,

[λi,oi][λj,oj]=[max(λi,λj),  (oi(max(λi,λj)λi))+(oj(max(λi,λj)λj))],[\lambda_i, o_i] \otimes [\lambda_j, o_j] = \Bigl[\max(\lambda_i,\lambda_j),\; (o_i \gg (\max(\lambda_i,\lambda_j)-\lambda_i)) + (o_j \gg (\max(\lambda_i,\lambda_j)-\lambda_j))\Bigr],

which fuses maximum-exponent reduction, shift-amount computation, and mantissa summation in a single pass. Arranging \otimes operators in a balanced tree enables fully parallel, pipelined computation, enforcing native-width accumulator constraints at each node.

Empirically, native-width alignment via the \otimes operator yields up to 23% area and 26% power reductions, and up to 20% shorter critical-path delay compared to conventional serial-alignment implementations (see Table below for BFloat16, 32-term adders):

Design Area (mm2^2) Power (mW) Delay Savings
Baseline 6.44×1036.44\,\times10^{-3} 3.97 0%
Online tree 5.48×1035.48\,\times10^{-3} 2.94 16.6%

This online approach “slot-fits” into any multi-term adder without changing downstream normalization/rounding, fully respecting native accumulator width (Alexandridis et al., 2024).

3. Native Width Constraints in Processing-Using-DRAM Architectures

Native width alignment in processing-using-DRAM (PuD) architectures is imposed by the atomicity of bulk DRAM operations. In subarray-local operations—such as in-DRAM row copy (RowClone) or bitwise AND/OR/NOT (Ambit)—each operation acts over the entire width of a DRAM row. The native width is thus the row size, ROW_SIZE=Ncol×W\mathrm{ROW\_SIZE}=N_{\mathrm{col}}\times W, where NcolN_{\mathrm{col}} is the column count and WW the data width per column (e.g., 8 KB per row).

Operational constraints require both source and destination operands to (i) reside within the same subarray and (ii) be aligned on a ROW_SIZE\mathrm{ROW\_SIZE} boundary: PsrcmodROW_SIZE=0,PdstmodROW_SIZE=0,P_{\mathrm{src}}\bmod\mathrm{ROW\_SIZE}=0,\qquad P_{\mathrm{dst}}\bmod\mathrm{ROW\_SIZE}=0, with subarray co-location enforced by internal DRAM address mapping. Alignment to the native row width ensures the atomic operation reads/writes an entire row in a single command and prevents operation crossing or fragmentation.

4. PUMA: Operating System Level Native Width Allocation

PUMA (“Efficient and Low-Cost Memory Allocation and Alignment Support for Processing-Using-Memory Architectures”) (Oliveira et al., 2024) introduces a kernel module and API for guaranteeing native width alignment for PuD primitives. Standard OS allocators cannot guarantee (i) subarray co-location and (ii) row-boundary alignment. PUMA pre-allocates huge pages at boot, splits each into ROW_SIZE\mathrm{ROW\_SIZE}-sized chunks, and maintains free lists per subarray.

Allocation API calls (e.g., pim_alloc(size), pim_alloc_align(size, hint)) hand out virtually contiguous regions, each physically aligned to ROW_SIZE\mathrm{ROW\_SIZE} and tracked per subarray to maximize in-DRAM offload opportunity. Experiments with RowClone (memcpy) and Ambit (bitwise vector ops) show PUMA enabled 100% native-width-aligned allocations (compared to 0–60% for standard or hugepage allocators) and delivered up to 6×6\times throughput improvement for large buffers (Table below):

Benchmark malloc huge page PUMA
zero, 32 KB 0% 60% 100%
copy, 32 KB 0% 45% 100%
aand, 32 KB 0% 50% 99.9%

PUMA achieves native-width alignment purely in software, without hardware changes, and extends to other near-data accelerators by changing the atomic alignment parameter (Oliveira et al., 2024).

5. Mathematical Formalization of Native Width Alignment

Native width alignment is formalized via boundary and location constraints on address and data representations:

  • In DRAM allocation:

AlignedToRow(P):PmodROW_SIZE=0\text{AlignedToRow}(P):\quad P\bmod \mathrm{ROW\_SIZE}=0

SubarrayID(P)=P/2bcolmodNsubarr\text{SubarrayID}(P) = \left\lfloor P / 2^{b_{\mathrm{col}}}\right\rfloor\bmod N_{\mathrm{subarr}}

where bcol=log2(ROW_SIZE)b_{\mathrm{col}}=\log_2(\mathrm{ROW\_SIZE}).

  • In floating-point alignment:

[e1,m1][e2,m2][eN,mN]=[maxiei,i(mi(maxkekei))][e_1,m_1]\otimes[e_2,m_2]\otimes\cdots\otimes[e_N,m_N]=\left[\max_i e_i, \sum_i (m_i\gg(\max_k e_k-e_i))\right]

This framework ensures all operands are shifted to and summed at the same maximum exponent, with final result width fixed to W+1W+1 bits (including sign), directly mapping to hardware accumulator width.

  • In graph layout:

(s,w)ENfswW\sum_{(s,w)\in E_N} f_{sw}\le W

guarantees the sum of outgoing widths never exceeds the prescribed native drawing width.

6. Impact, Limitations, and Extensions

Native width alignment is essential for correctness and performance in domains where operations are atomic at a fixed granularity. Its enforcement in DRAM eliminates partial-row inefficiency, enables fast bulk operations (RowClone, Ambit), and is required for new near-memory processor primitives. In floating-point accumulation, native-width alignment (via online tree methods) directly improves area, power, and throughput for DNN accelerator architectures (Alexandridis et al., 2024).

Limitations are domain-specific: in DRAM the approach is constrained by the rigidity of row boundaries and subarray mapping, potentially fragmenting allocation space for large buffers. In multi-input floating-point adder trees, tradeoffs between tree radix, LUT usage, and pipeline depth must be balanced (Alexandridis et al., 2024). In graph drawing, strict width alignment may increase average edge length versus unbounded approaches (Jünger et al., 2018).

Broader generalization is feasible: any architecture or software requiring atomic operations tied to a natural width (e.g., flash page operations, PCM arrays) can adapt the described alignment and allocation mechanisms (Oliveira et al., 2024).


References:

  • "A Flow Formulation for Horizontal Coordinate Assignment with Prescribed Width" (Jünger et al., 2018)
  • "Online Alignment and Addition in Multi-Term Floating-Point Adders" (Alexandridis et al., 2024)
  • "PUMA: Efficient and Low-Cost Memory Allocation and Alignment Support for Processing-Using-Memory Architectures" (Oliveira et al., 2024)

Whiteboard

Topic to Video (Beta)

Follow Topic

Get notified by email when new papers are published related to Native Width Alignment.