나는 CUDA를 연구 중이며 스레드 동기화와 관련된 문제가 있습니다. 내 코드에서 다음과 같이 코드의 다른 부분을 실행하는 스레드가 필요합니다.다른 스레드가 CUDA에서 다른 부분을 실행하도록 만드는 방법은 무엇입니까?
one thread ->
all thread ->
one thread ->
이것이 내가 원하는 것입니다. 코드의 초기 부분에서는 오직 하나의 쓰레드 만 실행될 것이고 어떤 부분은 모든 쓰레드에 의해 실행될 것이고 다시 한번 단일 쓰레드에 의해 실행될 것입니다. 또한 스레드가 루프에서 실행 중입니다. 아무도 그렇게하는 법을 말해 줄 수 있습니까?
이것은 간단한 해결책이지만 브랜칭 (현재 워프가 직렬화 됨)에 유의해야합니다. 가능한 경우 반쪽 워프의 모든 스레드가 동일한 실행 경로를 따르도록하십시오. – Ljdawson