kernelMatCpy에서는 __syncthreads가 필요없지 않나요
제목 그대로 kernelMatCpy에서는 각 스레드 작업이 다른 스레드에 영향을 주지 않기 때문에 필요없을 것 같은데요. 실제로 __stncthreads()를 제거하고 돌려봐도 정상적으로 결과가 나오구요.
혹시 이런 경우라도 내부적으로 꼬일 수 있어서 사용하신 것인지 아니면 대부분의 shared memory로 복사해서 쓰는 경우에 필요하기 때문에 습관(?)차원에서 사용하신 것인지 궁금합니다.
답변 1
1
안녕하세요.
해당 부분에서는 "습관"으로 생각하시면 되겠습니다.
많은 경우에, kernel 실행 후에, 다른 kernel 이 연달아 실행되거나, 말씀하신 대로, shared memory 에서 즉시 사용하거나 하는 경우가 많아서, 보통 습관적으로 sync threads 를 하는 편입니다.
꼼꼼하게 따져보면, 예제 프로그램에서는 불필요한 경우가 가끔 있습니다. 참고하십시오.
감사합니다.
최신 엔비디아 CUDA 아키텍처에서의 결정적 변경 사항
0
10
1
자문자답- 맞는지 틀린지 확인부탁드립니다.
0
11
0
55강 파이썬에만있는 연산자들
0
11
1
55강의 파이썬에서만 있는 연산자들
0
11
1
[문의] 강의 코드 제공여부
0
24
2
코딩살구클럽 가입 문의
0
38
2
코딩 살구 클럽 컴파일 에러
0
22
1
추천 문제
0
22
2
코딩살구클럽 승인
0
31
1
이 강의를 다 들으면 어떤 강의를 들어야 하나요?
0
42
2
선생님 13.3을 써도 큰 차이가 없나요?
0
33
2
코살구 1주차 1940번 문제 조건과 프라이빗 테스트 불일치 문의
0
35
2
메모리 동적할당시 메모리창 빨간 글씨
0
27
2
문제를 고민하는 시간 관련
0
28
2
29강 5:00
0
33
2
코딩살구클럽
0
43
2
코딩살구클럽 문의
0
47
2
코딩살구클럽 승인
0
38
2
띄어쓰기
0
38
2
공부 순서
1
47
2
24-2 3중 for loop 개선책 이해가 가지 않습니다.
0
143
2
transpose-shared.cu 가 느린 이유에 대해서 질문 있습니다.
0
146
2
소스 코드 에러 문의 드립니다
0
348
1
global memory를 사용한 matrix copy 대비 global memory를 활용한 matrix transpose가 속도가 느린 이유가 궁금합니다.
0
374
1





