PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : nVidia - "Dynamic Tiling" bei 260er-Treibern - was hat es damit auf sich?


san.salvador
2010-09-08, 20:00:24
Hoi!

Bei den neuen 26x.xx Treibern (http://www.forum-3dcenter.org/vbulletin/showthread.php?t=491291) gibt es nun folgenden Menüpunkt.

http://dl.dropbox.com/u/4162752/Bilder/314yuti.jpg

Weiß jemand dazu näheres?

y33H@
2010-09-08, 20:11:26
Ich kenne aktuell nur das hier:
Dynamic Tiling Description

Simultaneous multithreaded (SMT) processors use data caches which are dynamically shared between threads. Depending on the processor workload, sharing the data cache may harm performance due to excessive cache conflicts. A way to overcome this problem is to physically partition the cache between threads. Unfortunately, partitioning the cache requires additional hardware and may lead to lower utilisation of the cache in certain workloads. It is therefore important to consider software mechanisms to implicitly partition the cache between threads by controlling the locations in the cache in which each thread can load data. This paper proposes standard program transformations for partitioning the shared data caches of SMT processors, if and only if there are conflicts between threads in the shared cache at runtime. We propose transformations based on dynamic tiling. The key idea is to use two tile sizes in the program, one for single-threaded execution mode and one suitable for multithreaded execution mode and switch between tile sizes at runtime. Our transformations combine dynamic tiling with either copying or storing arrays in block layout. The paper presents an implementation of these transformations along with runtime mechanisms for detecting cache contention between threads and react to it on-the-fly. Our experimental results show that for regular, perfect loop nests, these transformations provide substantial performance improvements.


Example:

CPU Intensive games running on more then 2 cores may benefit by increasing this value to 2 or higher.

phoenix887
2010-09-09, 18:16:57
Also ich kann zwar englisch, aber sowas ist mir dann doch zu kompliziert. Kann mir das jemand in deutsch erklären?

Thunder99
2010-09-09, 18:22:53
Soweit ich verstanden habe eine neue/weitere Stufe der Optimierung des Treibers für Multi Thread Prozessoren (Quad/Six/...). Vornehmlich durch bessere Ausnutzung des Caches der Prozessoren :)

Korrigiert mich wenn ich falsch liege :redface:

fdk
2010-09-09, 18:35:08
Da ist ausdrücklich die Rede von Prozessoren mit SMT - also i7-8xx / -9xx.
Was er sagen will ist wohl in etwa das bei einem Prozessor mit smt thread 1 den cache für thread 2 "versauen" kann indem er ihn mit seinen Daten füllt.
Was das nun aber bringen soll - keine Ahnung. Va. da mit win7 die zweite logische cpu eines cores erst berücksichtigt werden sollte wenn alle cores ausgelastet sind.

Der Satz den er darunter geklatscht hat impliziert nur das er selbst nicht kapiert hat worum es geht (smt != multicore) daher denke ich er hat den einfach erninjagooglet und ins nv-forum gestellt.

phoenix887
2010-09-09, 22:35:40
Also bringt mir diese Option nichts da ich einen Q9300 habe und damit kein SMT?

Spasstiger
2010-09-09, 23:09:24
Damit soll der Performanceverlust verhindert werden, der in Spielen manchmal unter Nutzung von Hyperthreading/SMT auftritt. Interessant also für Besitzer von Core-iX-Prozessoren.

san.salvador
2010-09-09, 23:10:41
Auch bei den Q9xxx teilen sich je zwei Cores einen Cache - sollte das nicht auch hier helfen?

Gast
2010-09-10, 11:36:02
Auch bei den Q9xxx teilen sich je zwei Cores einen Cache - sollte das nicht auch hier helfen?

Es geht um den kleinen L1-Cache, der bei SMT-Prozessoren ja von 2 Threads verwendet werden kann.

Der L2-Cache der bei diesen Prozessoren geteilt wird ist deutlich größer und 16x assoziativ, damit wird die Wahrscheinlichkeit dass 1 Thread die Cachedaten des anderen überschreibt deutlich geringer.

Gast
2010-09-10, 11:50:15
Damit soll der Performanceverlust verhindert werden, der in Spielen manchmal unter Nutzung von Hyperthreading/SMT auftritt. Interessant also für Besitzer von Core-iX-Prozessoren.
Windows7 achtet doch schon selbst darauf, erst einmal physische Kerne zu belegen. Ist das dann nur für frühere Windowsversionen relevant?

Gast
2010-09-11, 15:16:00
Kurz und bündig, die bestehenden Probleme mit der Frostbite Engine behebt das Dynamic Tiling nicht. Jeder mit einer DualCore CPU hat weiterhin Ruckler und Ladelags. AMD CPUs sind vom Tiling komplett ausgenommen?

san.salvador
2010-09-11, 15:33:31
Kurz und bündig, die bestehenden Probleme mit der Frostbite Engine behebt das Dynamic Tiling nicht. Jeder mit einer DualCore CPU hat weiterhin Ruckler und Ladelags. AMD CPUs sind vom Tiling komplett ausgenommen?
Welche CPUs von AMD nutzen SMT? ;)

sputnik1969
2010-09-11, 18:59:35
Ähhh... Entschuldigung, aber wenn ich mich nicht vollständig irre gibt es dieses Dynamic Tiling bereits seit (oder schon mal zu) seligen Riva-TNT Zeiten...Und wenn ich mich recht erinnere waren damals Multicore-CPUs noch nicht marktgängig. Entweder hat man damals eine andere Funktion genauso genannt oder es hat nicht wirklich etwas mit der CPU und deren Caches zu tun sondern mit der GPU und deren Caches.

san.salvador
2010-09-11, 19:01:11
Bringst du das vielleicht mit "Tile based renedring" durcheinander?

sputnik1969
2010-09-11, 20:53:46
Wenn du mich meinst: Nein, sicher nicht, meine Tile Based Rendering Phase hatte ich nach meiner PowerVR2 hinter mir gelassen. ;) Ich bin mir sicher, dass das eine meiner folgenden Grafikkarten betraf, also entweder Voodoo oder TNT.

Coda
2010-09-11, 23:28:36
Das ist eine Treiberoptimierung und hat nichts mit der GPU an sich zu tun.

RavenTS
2010-09-12, 14:24:06
Ähhh... Entschuldigung, aber wenn ich mich nicht vollständig irre gibt es dieses Dynamic Tiling bereits seit (oder schon mal zu) seligen Riva-TNT Zeiten...Und wenn ich mich recht erinnere waren damals Multicore-CPUs noch nicht marktgängig...

Multicore gab es damals quasi nur "experimentell" für Consumer auf Server-Boards mit mehreren Sockeln, könnte also schon dafür irgendwie gedacht gewesen sein.

kief
2010-11-16, 22:52:48
nochmals bitte für dummies :)

also Dynamic Tiling bringt nur was bei CPU's die Hyper-Threading (also z.B. alle i7-xxx) unterstützen oder allgemein bei Mehr-Kern CPU's ? Hab das irgendwie noch ned gerafft.

der_Kief