e3j.utils.options.Layout¶
- class e3j.utils.options.Layout¶
Memory layout for equivariant arrays.
An equivariant feature space such as
"128x0e + 64x1o"is built from irreducible blocks with multiplicitymand irrep dimension2l + 1for each degreel.The layout controls how different blocks are arranged in memory, eventually factorizing the GCD of multiplicities in a separate
channelsaxis.- Values:
LEADING_CHANNELS –
(batch, channels, dim)– channels on an explicit leading axis.TRAILING_CHANNELS –
(batch, dim, channels)– channels on a trailing axis. Faster on GPU thanks to coalesced memory access.E3NN –
(batch, channels * dim)– channels folded into the feature dimension, matchinge3nn_jax.IrrepsArray.
Note
The CUDA kernels only support channel counts that are powers of two for now.
Methods
parse(key)parse_value(key)__getitem__(name)Return the member matching
name.__iter__()Return members in definition order.
__len__()Return the number of members (no aliases)
Attributes
LEADING_CHANNELSTRAILING_CHANNELSE3NN