Dabei wird unterschieden, ob es die Daten sind, die auf die einzelnen Prozessoren aufgeteilt werden, oder ob das Programm so in verschiedene Teile aufgespalten wird, daß es parallel auf mehrern Prozessoren ausgeführt werden kann.
Bei der Multiplikation grosser Matrizen wird es wahrscheinlich günstig sein, die Daten aufzuteilen. Jeder Prozessor berechnet nur eine (mehrere) Spalten der Ergebnismatrix. Dabei führt ein jeder Prozessor das gleiche Programm aus, nur mit verschiedenen Daten (den Daten die er zur Berechnug seiner zugeteilten Spate(n) braucht).
Ein Beispiel, bei dem nicht die Daten, sondern das Programm aufgeteilt wird, wäre zum Beispiel die Visualierung einer Simulation in Echtzeit. Wäerend ein oder mehrere Prozessoren die Simulation berechnen, kümmern sich andere Prozessoren um die Berechnung der graphischen Darstellung.