Programm erlauben mehrere Kerne zu nutzen

  • Seite 1 von 1
  • Antworten
Benutzeravatar
Besucher
Besucher
Beiträge: 12
Offline Profil Private Nachricht senden
Verfasst am: Do 3. Jan 2013, 14:51
Ich denke jeder kennt Programme, die auf einem Multikernprozessor nur einen Kern ausnutzen. Ist es bei Mac möglich einem solchen Programm zu erlauben mehrere Kerne zu nutzen und sie damit zu beschleunigen?

Danke für Antworten!

Phila177


ANZEIGE

Für angemeldete Mitglieder ist das Forum Werbefrei. Registrieren Sie sich hier.

Benutzeravatar
Veteran
Veteran
Beiträge: 6273
Wohnort: Berlin
Offline Profil Private Nachricht senden
Verfasst am: Do 3. Jan 2013, 15:27
Das liegt an der Programmierung des Programms und nicht an irgend einer Einstellung des Rechners.

Man muss nicht alles wissen, man muss nur wissen, wo es steht. Gruß aus Berlin

Benutzeravatar
Forums-Urgestein
Forums-Urgestein
Beiträge: 15961
Offline Profil Private Nachricht senden
Verfasst am: Do 3. Jan 2013, 15:31
Genau - OS X und die Programmiertechnik der App bestimmen die Auslastung über mehrere Kerne.
Nicht immer ist die Verteilung nötig oder von Vorteil! Oft kann ein Single thread Prozess sinnvoller sein, wenn dabei der Turbo Modus (mehr GHz) erhalten bleiben kann.


Benutzeravatar
Besucher
Besucher
Beiträge: 12
Offline Profil Private Nachricht senden
Verfasst am: Do 3. Jan 2013, 15:33
Ich weiß, dass es an der Programmierung liegt. Gibt es trotzdem eine Möglichkeit dem Programm "vorzutäuschen" es gäbe einen Prozessor, der allerdings aus mehreren Kernen besteht, oder ähnlich?


Benutzeravatar
Veteran
Veteran
Beiträge: 3254
Offline Profil Private Nachricht senden
Verfasst am: Do 3. Jan 2013, 16:34
Damit ein Programm mehrere Cores benutzt muß die Aufgabe des Programms schon so seien, das auch mehrere Cores benutzt werden können. Die Aufgabenstellung des Programms muß parallelisierbar seien und nicht auf seriell Ablauf angewiesen. Aber das muß schon der Programmierer wissen und entsprechend danach programmieren.


Benutzeravatar
Forums-Urgestein
Forums-Urgestein
Beiträge: 15961
Offline Profil Private Nachricht senden
Verfasst am: Sa 5. Jan 2013, 17:57
Phila177 hat geschrieben:
Ich weiß, dass es an der Programmierung liegt. Gibt es trotzdem eine Möglichkeit dem Programm "vorzutäuschen" es gäbe einen Prozessor, der allerdings aus mehreren Kernen besteht, oder ähnlich?

Nur anders rum geht es - man kann OS X (oder auch Linux) beim booten sagen, dass nur x Kerne genutzt werden sollen (cpus=x als kernel flag). Also man schalten quasi Kerne dadurch sw mäßig ab.
Das ist interessant für Benchmarks um zu sehen inwieweit mehr Cores auch mehr Speed bringen.

Ansonsten wie gesagt: Ist Job der Programmierer eine Apps auf multicore zu optimieren. Für mehrere Apps parallel ist wieder OS X zuständig (automatisch). Apple bietet seit 10.6 jedoch eine vereinfachte Unterstützung (API) für die Programmierer an - grand central dispatch um mit weniger Programmieraufwand diese Threads in den Griff zu bekommen.
http://de.wikipedia.org/wiki/Grand_Central_Dispatch Von allein geht das damit aber immer noch nicht - vor allem nicht NACHTRÄGLICH!

PS: Um was für ne App handelt es sich denn eigentlich? Oft sind neuere Versionen deutlich mehr auf multicore speed ausgelegt als jahrealte Vorgänger.


Benutzeravatar
Veteran
Veteran
Beiträge: 3254
Offline Profil Private Nachricht senden
Verfasst am: Sa 5. Jan 2013, 21:48
Wenn die zu Grunde liegende Aufgabe nicht wirklich skalierbar ist, und das ist bei den für "Normalusern" meist benutzen Programmen meist so der Fall, dann spielt es keine Rolle wie alt oder neu.


Benutzeravatar
Forums-Urgestein
Forums-Urgestein
Beiträge: 15961
Offline Profil Private Nachricht senden
Verfasst am: So 6. Jan 2013, 11:18
Genau - deshalb auch meine Frage welcher Art das Programm ist welches der Fragende mit "zaubern" multicore optimieren wollte.
Sinn macht das in der Tat nur wenn die Aufgaben gut parallisierbar sind - wie Raytraycing, Videoencoding, Filter für Bildbearveitung usw.


ANZEIGE

Für angemeldete Mitglieder ist das Forum Werbefrei. Registrieren Sie sich hier.

  • Seite 1 von 1
  • Antworten
Gehe zu: