쿠다 문서 섹션 1.2.3 Incorrect optimization는 말한다 :부작용이없는 PTX 용 asm volatile을 사용할 이유가 있습니까? 인라인 PTX에
컴파일러는
asm()
문이 출력 피연산자를 변경하는 제외하고 부작용이없는 것으로 간주합니다.asm
삭제하거나 PTX의 생성 중에 이동되지 않도록하려면volatile
키워드, 예를 사용해야합니다asm volatile ("mov.u32 %0, %%clock;" : "=r"(x));
내 인라인 PTX는 참으로 내가해야한다, 레지스터의 외부에는 부작용이없는 경우 휘발성 물질을 절대 사용하지 마십시오. 규칙을 가정