2013-08-14 7 views
9

Ich lade meinen OpenCL- und Cuda-Code zu hgpu.org, weil ich keine Grafikkarte auf meinem Laptop habe. Wenn ich meinen Code hochzuladen bekomme ich folgende Fehlermeldung:So lösen Sie den Fehler: "Clock Skew Detected"?

make: Warning: File `main.cu' has modification time 381 s in the future 
make: warning: Clock skew detected. Your build may be incomplete. 

Ich weiß, dass Taktabweichungen zu Unterschied in meiner Maschinen Taktzeit fällig ist und die Uhrzeit des Servers, so synchronisiert ich meine Zeit mit dem Server. Der OpenCL- und C++ - Code läuft jetzt gut, aber der Cuda-Code gibt mir immer noch diesen Fehler.

Also meine Frage ist:

Gibt es einen anderen Grund für die Clock Skew-Fehler neben der Zeitsynchronisation? Und wenn es dann gibt, wie löse ich es?

Cuda-Code:

__global__ 
void test() 
{ 
} 

int main() 
{ 
    dim3 gridblock(1,1,1); 
    dim3 threadblock(1,1,1); 

    test<<<gridblock,threadblock>>>(); 
    return 0; 
} 

Hinweis: Ich habe die Make-Datei liefern.

+1

Die ScreenCap des Codes ist ... ungerade ... – Reinderien

+0

mögliche Duplikate von [Compiling C++ auf Remote-Linux-Maschine - "Clock Skew Detected" Warnung] (http://stackoverflow.com/questions/3824500/compiling- c-on-remote-linux-machine-clock-skew-detected-warning) – skrrgwasme

Antwort

6

Ich werde meine eigene Frage beantworten.

Ich habe die folgenden Codezeilen zu meinem Makefile und fixierte das „Taktversatz“ Problem:

clean: 
    find . -type f | xargs touch 
    rm -rf $(OBJS) 
+4

Dies behandelt nur das Symptom und nicht die zugrunde liegende Ursache, es "repariert" das Problem nicht. Wenn jemand anderes dieses Problem hat, bitte tu das nicht! – RolKau

+0

@RolKau Was ist das Problem Ihrer Meinung nach? – zindarod

5

Siehe diesen Beitrag: Compling C++ on remote Linux machine - “clock skew detected” warning.

Ich würde vorschlagen, nur den Quellcode (keine ausführbaren Dateien) zu kopieren, dann touch * laufen zu lassen, um die letzten modifizierten Zeiten auf die aktuelle hgpu.org Serverzeit einzustellen. Dies wird leider alles zum Wiederaufbau zwingen.

Aus Neugier, ist main.cu Bearbeitungszeit noch 381 Sekunden in der Zukunft nach der Synchronisierung Ihrer PCs Zeit?

+0

Ja, dies ist der Fehler nach der Synchronisation. Außerdem lade ich nur die Dateien make und main.cu auf den Server, keine ausführbaren Dateien. – zindarod

+0

Haben Sie Touch in make-Datei verwendet? Wenn Sie haben, können Sie ein paar Tipps geben, wie man es benutzt? Ich habe Touch in die Make-Datei eingefügt, aber es hat keine Auswirkungen. – zindarod

+0

Ich habe keine Berührung in einem Makefile verwendet, brauche normalerweise keine Berührung. Ich habe daran gedacht, dass Sie es kurz vor dem Ausführen von make über die Befehlszeile ausführen. – chippies

5

Geben Sie den folgenden Befehl

find -exec touch \{\} \; 
+8

Pflege um zu erarbeiten? – swdev

2

einfach auf das Verzeichnis, in dem die beunruhigende Datei, Typ touch * ohne Anführungszeichen in der Konsole, und Sie sollten gut sein.

+2

Und aktualisieren Sie die Zeitstempel aller Dateien in diesem Verzeichnis? Ist das nicht ein bisschen gefährlich, besonders wenn es versehentlich im falschen Verzeichnis gemacht wird? –

-2

Makefile : Clock skew detected „Eine mögliche Lösung ist jede Datei im Quellbaum zu berühren, um zu aktualisieren, Zeitstempel: an die Wurzel des Go Unterbaum ein do: Fund -exec Touch {} \; Dann reinigen und Zusammenstellung wiederholen

1

einer der Gründe sein kann falsche Datum/Uhrzeit.. dein PC.

In Ubuntu PC mit dem Datum und Uhrzeit zu überprüfen:

date 

Beispiel, eine der Möglichkeiten, Datum und Uhrzeit zu aktualisieren:

date -s "23 MAR 2017 17:06:00" 
+0

entsprechen dieser Situation, korrekte Systemzeit, Problem gelöst. :) – yurenchen

0

bitte versuchen Sie

make clean 
zu tun

(anstelle von make), dann

make 

wieder.

Verwandte Themen