web-dev-qa-db-fra.com

Comment résoudre l'erreur: "Décalage d'horloge détecté"?

Je télécharge mon code OpenCL et Cuda sur hgpu.org parce que je n'ai pas de carte graphique sur mon ordinateur portable. Lorsque je télécharge mon code, j'obtiens l'erreur suivante:

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

Je sais que le décalage d'horloge est dû à la différence entre l'heure de l'horloge de ma machine et celle du serveur, j'ai donc synchronisé mon heure avec celle du serveur. Le code OpenCL et C++ fonctionne bien maintenant, mais le code Cuda me donne toujours cette erreur.

Ma question est donc:

Y a-t-il une autre raison à l'erreur d'horloge en plus de la synchronisation de l'heure? Et s'il y a alors comment le résoudre?

Code Cuda:

__global__
void test()
{
}

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

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

Remarque: je peux également fournir le fichier make.

17
zindarod

Je vais répondre à ma propre question.

J'ai ajouté les lignes de code suivantes à mon Makefile et il a résolu le problème de "décalage d'horloge":

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

Tapez la commande suivante:

find . -exec touch \{\} \;

(le ou les premiers arguments à rechercher spécifient le ou les répertoires à rechercher)

12
Muneeb Zulfiqar

Voir cet article: Compling C++ sur une machine Linux distante - avertissement de "décalage d'horloge détecté" .

Je suggère de copier uniquement le code source (pas d'exécutables), puis d'exécuter touch * pour définir les dernières heures modifiées sur l'heure actuelle du serveur hgpu.org. Cela obligera malheureusement tout à être reconstruit.

Par curiosité, le temps de modification de main.cu est-il encore de 381 secondes dans le futur après la synchronisation de l'heure de votre PC?

5
chippies

Accédez simplement au répertoire où se trouve le fichier problématique, tapez touch * sans guillemets dans la console, et vous devriez être bon.

4
Nerox

L'une des raisons peut être une date/heure incorrecte de votre PC.

Dans Ubuntu PC pour vérifier la date et l'heure en utilisant:

date

Exemple, Une des façons de mettre à jour la date et l'heure est:

date -s "23 MAR 2017 17:06:00"
3
Nitesh Shetty

s'il vous plaît essayez de faire

make clean

(au lieu de make), puis

make

encore.

0
Sean