На диаграмме есть точки, которые используются двумя процессами. Это бы имело смысл, если бы вызов scatterv мог распределить такие точки обоим процессам. Но, согласно стандарту MPI, "спецификация количества, типов и смещений не должна приводить к чтению более одного раза никакого местоположения на корневом процессе". Не существует никакой очевидной причины такого ограничения. Вероятно, это было сделано, чтобы сохранить симметрию с операцией gatherv, поскольку в gatherv выполнение множественных записей в одно и тоже место на корневом процесса приведет к неприятности √ например, результат не будет детерминирован. Что касается scatterv ... скажем только, что неблагоразумно искажать стандарт, даже если такое искажение приводит к работающей программе.