인프런 커뮤니티 질문&답변

최준석님의 프로필 이미지
최준석

작성한 질문수

CUDA 프로그래밍 (4) - C/C++/GPU 병렬 컴퓨팅 - 행렬 matrix 곱하기

22-4 tiled approach - 타일 방식 처리

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

해결된 질문

작성

·

130

0

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

답변 1

1

안녕하세요.

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

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

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

감사합니다.

최준석님의 프로필 이미지
최준석

작성한 질문수

질문하기