Automatically detect the max_vecs_per_node. Or in the future, max_vecs_per_communicator. This would require some fancier things, like determining the available RAM and the size of a vector object. It might not be possible since some memory is used by the vector objects when doing inner products, etc. We could leave a safety factor though, and maybe leave space for 1-2 vecs/modes for scratch space for the user's functions.
Automatically detect the max_vecs_per_node. Or in the future, max_vecs_per_communicator. This would require some fancier things, like determining the available RAM and the size of a vector object. It might not be possible since some memory is used by the vector objects when doing inner products, etc. We could leave a safety factor though, and maybe leave space for 1-2 vecs/modes for scratch space for the user's functions.