내 콘솔 응용 프로그램에서 전역 bool 변수가 필요합니까?이를 선언하는 방법은 무엇입니까?CUDA의 모든 스레드에 대한 전역 변수
1
A
답변
6
CUDA 전역 메모리에 상주하는 변수를 선언하려면 __device__
키워드를 앞에 붙여야합니다. 예 :
__device__ bool myGlobalBoolVar;
다른 방법으로는, 예를 들어 cudaMalloc
와 글로벌 메모리 공간에 메모리를 할당 할 수 있습니다
bool* myGlobalBoolVarPtr;
cudaMalloc(&myGlobalBoolVarPtr, sizeof(bool));
매개 변수로 포인터를 커널에 전달할 수 있습니다. 포인터 매개 변수 자체는 상수 또는 공유 메모리 공간 (아키텍처에 따라 다름)에 위치하지만 전역 메모리를 가리 킵니다.
-3
__global__ kernel <<<i,j>>>()
함수를 호출 할 때 변수를 지정하면 모든 변수는 입니다. (공유) 변수는 동일한 블록에 독립적으로 모든 스레드에 대해 공유됩니다.
관련 문제
- 1. 임의의 수의 스레드에 대한 CUDA의 Mersenne Twister
- 2. CUDA의 전역 메모리에 쓰기
- 3. 스레드에 대한 Django 전역 데이터
- 4. 모든 스레드에 대한 공유 변수 구현?
- 5. QApplication의 모든 스레드에 대한 액세스
- 6. cuda의 변수 정의에 관하여
- 7. 모든 스레드에 대한 문자열 목록을 유지하십시오.
- 8. CUDA의 전역 메모리에 대한 원자 연산은 워프를 통해 병렬로 수행됩니까?
- 9. PHP 모든 함수 변수 전역
- 10. PHP : 모든 페이지의 전역 변수
- 11. C# 모든 양식의 전역 변수
- 12. 모든 symfony2 앱의 전역 변수
- 13. 모든 모듈에서 파이썬의 전역 변수
- 14. cuda의 공유 및 관리 메모리의 변수
- 15. 함수 및 스레드에 대한 인수로 참조 변수
- 16. C++ 스레드에 대한 참조로 로컬 변수 전달
- 17. 작업자 스레드에 대한 전역 멈춤으로 셈플을 사용해도 괜찮습니까?
- 18. 전역 장치 변수 OpenCL
- 19. 내 응용 프로그램의 모든 스레드에 대해 하나의 전역 UncaughtExceptionHandler 정의
- 20. __global__ 커널에서 변수를 정의하는 방법 CUDA의 그리드에있는 모든 스레드간에 공유
- 21. 모든 GUI 스레드에 대한 Application.ThreadException 이벤트
- 22. GDB의 모든 스레드에 대한 백 트레이스 얻기
- 23. 관리되는 모든 스레드에 대한 참조를 얻는 방법
- 24. 응용 프로그램의 모든 스레드에 대한 ThreadContext 설정
- 25. 스레드 풀의 모든 스레드에 대한 큐
- 26. Windows DLL 전역 변수
- 27. 모든 클래스에서 액세스하는 전역 변수 선언 C++
- 28. 전역 변수
- 29. 모든 것에 대한 PHP 전역 var?
- 30. PHP - 모든 PHP 스레드에서 전역 변수에 액세스
올바르지 않습니다. 커널의 매개 변수 변수는 아키텍처에 따라 공유 메모리 또는 상수 메모리에 있습니다. 각 블록에는 자체 데이터 복사본이 있습니다. – CygnusX1
Ow. 나는 "글로벌 (공유) 변수"를 본다. CUDA의 "공유 메모리"는 "전역 메모리"와 동일하지는 않지만 모든 스레드와 모든 블록간에 전역 메모리가 공유됩니다. – CygnusX1