2013-08-14 781 views
9

ラップトップにグラフィックスカードがないため、OpenCLとCudaコードをhgpu.orgにアップロードしています。私は私のコードをアップロードするとき、私は次のエラーを取得する:エラーを解決する方法:「クロックスキューが検出されましたか?

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

私はクロック・スキューは、私のマシンのクロック時刻とサーバのクロックの時間差によるものであることを知っているので、私は、サーバーのと私の時間を同期します。 OpenCLとC++のコードはうまく動いていますが、Cudaコードはまだ私にこのエラーを与えています。

だから私の質問は次のとおりです。

時刻の同期のほかにクロックスキューエラーの他の理由はありますか?それがどうすれば私はそれを解決するのですか?

クーダコード:

__global__ 
void test() 
{ 
} 

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

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

注:私はあまりにもメイクファイルを提供することができます。

+1

コードのスクリーンキャップが奇妙です... – Reinderien

+0

可能な複製[リモートLinuxマシンでのC++のコンパイル - 「クロックスキューが検出されました」という警告](http://stackoverflow.com/questions/3824500/compiling- c-on-remote-linux-machine-clock-skew-detected-warning) – skrrgwasme

答えて

6

私は自分の質問に答えるつもりです。

私は自分のMakefileに以下のコード行を追加し、それが「クロック・スキュー」問題修正:可能な解決策を更新するために、ソースツリー内のすべてのファイルに触れることである

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

これは症状のみを処理するものであり、下敷きの原因ではなく、問題を「修正」しません。他の誰かがこの問題を抱えているなら、これをしないでください! – RolKau

+0

@RolKau問題は何だと思いますか? – zindarod

5

この投稿を参照してください:Compling C++ on remote Linux machine - “clock skew detected” warning

ソースコード(実行可能ファイル)をコピーしてから、touch *を実行して、最新の変更時刻を現在のhgpu.orgサーバー時刻に設定することをお勧めします。残念ながら、これはすべてを強制的に再構築されます。

あなたのPCの時刻を同期させた後、main.cuの修正時間はまだ381秒ですか?

+0

はいこれは同期処理後のエラーです。また、私はmakeとmain.cuファイルをサーバにアップロードします。実行ファイルはありません。 – zindarod

+0

makeファイルでtouchを使いましたか?あなたはそれを使用する方法をいくつかのヒントを与えることができますか?私はmakeファイルにタッチを追加しましたが、何の影響もありませんでした。 – zindarod

+0

私はメイクファイルでタッチを使用していませんが、通常はタッチする必要はありません。私はmakeを実行する直前にコマンドラインから実行することを考えていました。 – chippies

5

次のコマンドを入力し

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

手入れが行き届いていますか? – swdev

2

は、単にコンソールで引用符なし厄介なファイルがあるディレクトリ、タイプtouch *に行き、あなたは良いことがあります。

+2

そのディレクトリ内のすべてのファイルのタイムスタンプを更新しますか?それはちょっと危険なことではありませんか?間違ったディレクトリで誤って実行された場合は特にですか? –

-2

Makefile : Clock skew detected を」タイムスタンプ: ゴーサブツリーのルート行うには:。。 検索-execタッチ{} \; はその後きれいにし、コンパイルを再試行してください

1

理由の一つは、の不適切な日付/時間がかかるかもしれませんあなたのPC。使用して、日付と時刻を確認するためのUbuntu PCで

date 

例、日付と時刻を更新する方法の1つは次のとおりです。

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

がこの状況に合致し、システム時間が正しく修正され、問題が解決されました。 :) – yurenchen

0

make clean 
を行うにしてみてください

makeの代わりに)、

make 

再び。

関連する問題