В программировании, SPMD (single program, multiple data - единая программа, множество данных) является методом, используемым для достижения параллелизма; это подкатегория MIMD-класса вычислительных систем в классификации Флинна.
В данной категории задачи разделены и работают одновременно на нескольких процессорах с различными входными данными с целью более быстрого получения результатов. SPMD является наиболее распространенным стилем параллельного программирования.[1] Он также является предпосылкой для исследования таких концепций, как активные сообщения и распределенная совместно используемая память.