一个warp是32个线程。 32个线程是否在多处理器中并行执行? 如果32个线程没有并行执行,那么在warp中没有竞争条件。 我经历了一些例子后,得到了这个疑问。CUDA warp中的线程是否在多处理器上并行执行?
2
A
回答
4
在CUDA编程模型中,一个warp内的所有线程并行运行。但是硬件中的实际执行可能并不是并行的,因为SM(流多处理器)中的内核数量可能少于32个。例如,GT200架构每个SM有8个内核,并且一个warp内的线程需要4个时钟周期完成执行。如果多个线程写入相同的位置(共享内存或全局内存),并且如果您不想竞争,那么您必须使用原子操作或锁定,因为CUDA编程模型并不能保证哪个线程是去写。
-1
相关问题
- 1. 在处理器内核上如何执行多个线程
- 2. CUDA并行线程
- 3. CUDA的总线程数(执行一段时间,不是并行)是多少?
- 4. 在PHP中执行线程处理
- 5. 在不同的处理器中并行执行两个程序
- 6. Cuda并行执行
- 7. CUDA中的全局内存是否在原始操作上并行执行?
- 8. 并行处理Python线程
- 9. 线程与并行处理
- 10. C++线程 - 并行处理
- 11. 为什么单个线程进程在多个处理器/内核上执行?
- 12. CUDA线程是否以O(n)操作的锁步执行?
- 13. 线程的执行处理程序
- 14. System.Event是否在主线程中执行?
- 15. CUDA并发执行
- 16. 在流水线执行中采用并行处理
- 17. 线程中的处理程序的行为是否不同?
- 18. 在什么线程上执行事件处理程序?
- 19. 中断处理程序在不同的线程中执行?
- 20. 多核处理器上当前正在运行的线程是什么?
- 21. 如何在执行器上处理RDD
- 22. 在cmd上执行进程,不处理
- 23. 执行并行线程池
- 24. 如何理解“warp中的所有线程同时执行相同的指令。”在GPU中?
- 25. C#,在单独的线程中执行事件处理程序
- 26. CUDA warp/block finalization
- 27. 在多核处理器中并行编程的性能测量
- 28. 在后台线程上执行时CoreData未处理删除
- 29. 在多线程环境中并行执行每个子任务
- 30. 在CUDA中进行并行化,为每列分配线程
似乎是重复的:http://stackoverflow.com/questions/5268103/cuda-threads-in-a-wrap你为什么问同样的问题两次? – 2011-03-11 04:48:46
请不要提出重复的问题,只需编辑这一个。正如你在另一方面有答案一样,我已经合并了它们。 – 2011-03-11 08:27:28