In addition to the -projectors themselves, the inner products of the projectors with the wavefunction bands are also non-distributed. These so-called data are computed and stored in the wavefunction, wavefunction_slice and band data types for efficiency. For ease of use the array is stored in unpacked form, but this is undesirable for large systems since the addition of a single new species of ion can increase the size of the array dramatically.
Because the array has data for each band, it is naturally distributed over the band-group, as implemented in this dCSE project. However the projector dimension is not distributed, and it is not distributed over the gvector-group; thus the array could be distributed by projector index over the gvector-group to further reduce the memory overhead and improve scaling.
Both of these proposed distributions would save memory and improve run-time. However care must be taken in the implementation, as projector data would be distributed differently depending on whether it was the projectors themselves (which are currently distributed over the gvector-group and would be then distributed over the band-group too), or the arrays (which are already distributed over the bands, and would now be distributed over gvector-group as well).