Try an Allgatherv() operation in the rmatvec since Allreduce() appears to be slower.
(Based on previous testing.)