Wie kann man die Taktrate von Sandy Bridge HD 3000 IGP unter OS X überprüfen?

1002
Steven Lu

Ich schreibe eine plattformübergreifende OpenGL-Anwendung und erlebe sehr unterschiedliche Leistungsergebnisse zwischen OS X und Windows (beide 7 und 8).

In Windows GPU-Z-Berichten läuft die Sandy Bridge HD 3000-GPU weiterhin bei 350 MHz, und das würde mir erklären, warum mein Code in OS X etwa fünfmal schneller ausgeführt wird als in Windows.

Um dies zu überprüfen, dachte ich, es wäre schön zu überprüfen, ob die Taktrate in OS X tatsächlich hochgefahren wird, aber es gibt keine GPU-Z für OS X.

Irgendwelche Ideen?

Eine andere Möglichkeit, dieses Problem ins Bett zu stellen, besteht darin, herauszufinden, wie das IGP unter Windows korrekt aufgespult wird. Ich habe Sketchfab gerade in Chrome getestet, was bei dem TIE-Fighter-Modell einen guten vollen 1200-MHz-Wert erreicht hat (und ich war überrascht, wie gut die GPU-Anforderungen waren): Bei weniger komplexen Modellen war die Uhr auf 650 oder 750 MHz eingestellt. )

Okay. Chrome hat also etwas implementiert, was ich nicht getan habe. Vielleicht ist es an der Zeit, dass ich SDL nicht mehr benutze. Jetzt muss ich herausfinden, wie ich 1200Mhz erreichen kann, wenn ich mein Programm laufe.

1

1 Antwort auf die Frage

1
Steven Lu

Ich habe es geschafft, die Taktfrequenz zu bekommen, um mein Programm zu verbessern! Dies geschieht ziemlich sporadisch, da meine Grafiklast meistens sehr niedrig ist. Wenn ich eine konstantere Last auflege (etwas mehr Hochleistungsschattierung), werde ich sicherlich konsistentere Timing-Daten erhalten, sobald der Takt auf max.

Das ist wirklich sehr ordentlich, weil mein Programm so gut optimiert ist, dass es die GPU lange genug im Leerlauf halten kann, um eine Drosselung zu bewirken. Wenn ich die Schlafanrufe in meinem Programm eliminiere (die Simulation läuft also viel schneller als in Echtzeit), kann ich die GPU-Uhr jetzt auf 1200 MHz halten. Es scheint, als ob ein Neustart (und das Ausführen der Release-Version des Builds) dazu beigetragen hat, es anzupassen.

Update: Ich habe das Problem gelöst, mit dem ich mich befasste, aber auf meine ursprüngliche Frage, wie man die Echtzeituhr einer Intel Sandy Bridge IGP unter OSX überprüft, keine zufriedenstellende Antwort gefunden. Kann mir jemand dabei helfen? (Apple Ingenieure vielleicht?)

Unter Linux ist dies in `/ sys / kernel / debug / dri / 0 / i915_max_freq` Andrew Smith vor 7 Jahren 0