Abschnitt B.10 von CUDA Programming Guide 4.1 erläutert, dass:CUDA-Threads werden in Zeit geschnitten. Was bedeutet das?
[...] die Anzahl der Takt durch die Vorrichtung genommen Zyklen vollständig den Faden auszuführen, [unterscheidet sich von] der Zahl von Taktzyklen das Gerät wirklich verbrachte Thread Befehle ausführen. Die erstere Zahl größer ist als der letztere, [...]
Ich verstehe, dass die erste die Wandtaktzeit für die Fertigstellung der Thread-Ausführung ist. Das zweite Mal ist das erste Mal minus der Zeit, die der Thread im Leerlauf verbracht hat. Der Thread wäre untätig, wenn seine Befehle auf Ergebnisse von vorherigen Befehlen (Befehlsabhängigkeit) warten müssen oder auf Operandenwerte aus dem Speicher warten oder an einem Synchronisationspunkt warten müssen.
Die Führung geht dann auf das zu sagen:
Die ehemalige Nummer größer ist als die letztere, da Threads Zeit in Scheiben geschnitten.
Was bedeutet zeit geschnitten in diesem Zusammenhang? Was bedeutet es, dass Threads in Zeit geschnitten sind?
Beachten Sie, dass dieser Begriff nirgendwo sonst im Handbuch erscheint. (Verzeih mir, wenn ich hier etwas übersehen habe, was durch den Kontext offensichtlich ist, bin ich kein englischer Muttersprachler.)
Time Slicing bezieht sich in diesem Zusammenhang wahrscheinlich auf Pipelining. – talonmies
Ich habe die Version 1.0 des CUDA-Programmierleitfadens, der 2007 veröffentlicht wurde, überprüft, und dort erscheint derselbe Wortlaut. Aber sie müssen die Begriffe durcheinander bringen. Ich bin sicher, was sie eigentlich meinen, ist Kontextwechsel, um Latenz zu verstecken, wie Sie in der Frage sagen. –