매우 이상한 오류가 있습니다. 나는 Conway Game of Life를 에뮬레이션하는 프로그램을 Cuda에 쓴다. 나는 2D 배열을 장치로 전송했고, 상태의 스레드를 검사하는 if-case가있다.NVIDIA Cuda if-statement
if(iam==-1)
{ //i am on
iam=0;
}
else if(iam==1)
{ //i am dying
iam=-1;
}
else //i am off
{
if(counter_alive==2)//two neighboors alive
{
iam=1; //i will be on
}
// iam = -999;
}
마지막 줄이 주석에 있으면 아무 것도 작동하지 않고 var "iam"이 첫 번째 값을 갖습니다. 그러나 만약 내가// 드롭, 작동합니다. 물론, 흐름의 코드가 else를 실행하면 var "iam"은 -999 값을 취합니다. 아이디어가 있으십니까? 내가 놓친 게 있니? 미리 감사드립니다.
@ 탈론 : C 또는 C++과 관련이없는 질문은 어떻게 알 수 있습니까? 그것이 그대로, 나는 그것을 의심하지만, CUDA와 전혀 관련이 없을 수도 있습니다. :) – tera
@tera : 태그 스팸 일 뿐이므로 그 이유가 있습니다. 그리고 평소 C 또는 C++ 화가 트롤 중 하나를 찾아서 제거하고 동시에 불꽃 전쟁을 시작하기보다는 태그를 조용히 제거하는 것이 더 좋을 것입니다. – talonmies
아하. 어쨌든 이것은 통이 뺨이었습니다. @fikos : [Minimal, Complete, Verifiable example] (http://stackoverflow.com/help/mcve)를 제공해야합니다. – tera