inflearn logo
강의

Course

Instructor

CUDA Programming (4) - C/C++/GPU Parallel Computing - Matrix Multiplication

22-4 tiled approach - tiled approach

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

Resolved

259

javer965697

1 asked

0

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

c c++ cuda gpu 병렬-처리

Answer 1

1

onemoresipofcoffee

안녕하세요.

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

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

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

감사합니다.

runpod에서 실습하는 내용이 조금 다릅니다.

0

14

0

DACL 질문

0

14

1

터보퀀트(예정)

0

23

1

DLL 제작자가 PDB도 같이 제공해야 한다는 설명에 질문

0

23

2

정처기 2026-3 실기 문의

0

59

2

정처기 실기 3회 컴싸 사용 여부

0

36

1

모의고사 1 회 2번문제 중

0

54

2

26-2 이론문제 재탕

1

40

1

26-2년도 코드문제

0

31

0

26-2 코드문제

0

33

1

15분 48초 질문

0

44

2

⬛ 출력 문제

0

36

1

26-1년도 이론문제 재탕

0

58

1

26-1년도 코드문제 재탕

0

42

0

이론재탕만 눈치챘어도

0

68

1

25-3년도 이론문제 재탕

0

52

1

25-3년도 코드문제 재탕

0

38

0

출력값 문의

0

45

2

25-2 분기커버리지

0

45

0

25-2 이론 재탕

0

60

1

24-2 3중 for loop 개선책 이해가 가지 않습니다.

0

178

2

transpose-shared.cu 가 느린 이유에 대해서 질문 있습니다.

0

177

2

소스 코드 에러 문의 드립니다

0

381

1

global memory를 사용한 matrix copy 대비 global memory를 활용한 matrix transpose가 속도가 느린 이유가 궁금합니다.

0

403

1