Мне нужна глобальная переменная bool в моем консольном приложении, так как объявить ее?Глобальная переменная для всех потоков в CUDA
1
A
ответ
6
Чтобы объявить переменную, которая будет находиться в глобальной памяти CUDA, вам нужно поставить перед этим ключевое слово __device__
, например.
__device__ bool myGlobalBoolVar;
В качестве альтернативы, вы можете выделить память в глобальном пространстве памяти с cudaMalloc
, например
bool* myGlobalBoolVarPtr;
cudaMalloc(&myGlobalBoolVarPtr, sizeof(bool));
то вы можете передать указатель в качестве параметра в ядро. Обратите внимание, что параметр указателя будет находиться либо в постоянном, либо в общем пространстве памяти (в зависимости от архитектуры), но он укажет на глобальную память.
-3
Когда вы вызываете вашу __global__ kernel <<<i,j>>>()
функции, и дать ему некоторые переменные, то все эти переменные будет глобальными (общие) переменными для всех потоков независимы существует в одном блоке или нет.
Смежные вопросы
- 1. Глобальная переменная устройства OpenCL
- 2. Глобальная переменная в классе потоков не обновляет
- 3. C# Глобальная переменная для всех форм
- 4. Угловая 2 - глобальная переменная для всех компонентов
- 5. Внешняя глобальная переменная устройства, определенная ранее в cuda C++
- 6. Переменная глобальная переменная?
- 7. Глобальная переменная в Phonegap
- 8. Глобальная переменная для expressjs
- 9. Глобальная переменная в nanoc
- 10. R Shiny: «глобальная» переменная для всех функций в сервере.R
- 11. Глобальная переменная класса для ASP.NET
- 12. Глобальная переменная, затронутая потоками
- 13. глобальная переменная cakephp для контроллеров
- 14. GPGPU - CUDA: глобальная эффективность магазина
- 15. Глобальная переменная модели Rails
- 16. PHP - глобальная/переменная экземпляра
- 17. Глобальная переменная в Flex
- 18. Глобальная переменная в Swift
- 19. Глобальная переменная в iOS
- 20. Глобальная переменная в C#
- 21. Глобальная переменная в ShinyServer
- 22. глобальная переменная в MySQL
- 23. AngularJS & транспортир & Жасмин - глобальная переменная для всех спецификаций
- 24. iphone глобальная переменная
- 25. Глобальная переменная не меняется
- 26. Глобальная переменная в Qt, как?
- 27. Глобальная переменная не такая глобальная в Chrome
- 28. Глобальная переменная экземпляра в Sinatra
- 29. глобальная переменная в onclicklistner
- 30. глобальная переменная в javascript?
Это неверно. Параметрические переменные ядра расположены либо в общей, либо в постоянной памяти в зависимости от архитектуры. Каждый блок имеет свою собственную копию данных. – CygnusX1
Ow. Я вижу «глобальные (общие) переменные». Осторожно, в CUDA «общая память» не совпадает с «глобальной памятью», хотя да, глобальная память распределяется между всеми потоками и всеми блоками. – CygnusX1