• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

kernelMatCpy에서는 __syncthreads가 필요없지 않나요

23.12.09 15:39 작성 조회수 95

0

제목 그대로 kernelMatCpy에서는 각 스레드 작업이 다른 스레드에 영향을 주지 않기 때문에 필요없을 것 같은데요. 실제로 __stncthreads()를 제거하고 돌려봐도 정상적으로 결과가 나오구요.
혹시 이런 경우라도 내부적으로 꼬일 수 있어서 사용하신 것인지 아니면 대부분의 shared memory로 복사해서 쓰는 경우에 필요하기 때문에 습관(?)차원에서 사용하신 것인지 궁금합니다.

답변 1

답변을 작성해보세요.

1

안녕하세요.

해당 부분에서는 "습관"으로 생각하시면 되겠습니다.

많은 경우에, kernel 실행 후에, 다른 kernel 이 연달아 실행되거나, 말씀하신 대로, shared memory 에서 즉시 사용하거나 하는 경우가 많아서, 보통 습관적으로 sync threads 를 하는 편입니다.

꼼꼼하게 따져보면, 예제 프로그램에서는 불필요한 경우가 가끔 있습니다. 참고하십시오.

감사합니다.