1
A
回答
3
有OpenACC这是有点类似于OpenMP,虽然当然适应CPU + GPU非常不同的不对称情况。
如果您的目的是测试OpenMP代码,答案是肯定的否。你不能采用同一个程序,反正它也不会以同样的方式执行。
最好的办法可能是使用OMP_NUM_THREADS = 8执行OpenMP程序,即使只有2个内核可用,它也将启动8个线程。尽管如此,某些方面(例如锁定争用)仍然会与真正的8核心系统不同。
相关问题
- 1. 程序并行化使用OpenMP C++
- 2. CUDA程序运行的必要条件
- 3. 在cuda主机代码中使用openMP?
- 4. 并行编程使用OpenMP
- 5. 使用openMP并行编程
- 6. CUDA驱动程序API对CUDA运行时
- 7. 在非CUDA机器上运行CUDA程序
- 8. 的OpenMP与CUDA在另一个GPU上运行,而不是0
- 9. 为什么OpenMP程序只运行一个线程
- 10. 推动OpenMP没有CUDA?
- 11. OpenMP运行线程,但继续主线
- 12. 平行冒泡排序使用OpenMP
- 13. 使用显式OpenMP任务剖析OpenMP程序
- 14. 使用哪个CUDA运行时DLL?
- 15. 使用LLVM/Clang在Win10上使用OpenMP的Cuda
- 16. 使用openmp并行化中止线程
- 17. 使用tensorflow运行程序
- 18. 将parralel CUDA程序转换为按顺序运行
- 19. Openmp Fortran子程序
- 20. 在群集上运行openmp
- 21. Fortran并行程序使用openmp的segmantation故障
- 22. CUDA驱动程序版本是不够的CUDA运行时版本
- 23. CUDA运行时版本与CUDA驱动程序版本有什么区别?
- 24. 如何使用远程桌面运行cuda代码?
- 25. 不能使Cuda的程序
- 26. 在LLVM-3.0中执行Openmp程序
- 27. OpenMP程序的奇怪行为
- 28. 使用CUDA运行时库的Qt应用程序在双击时无法运行
- 29. 运行并行CUDA任务
- 30. 在包含CUDA运行时API的主机代码中使用CUDA驱动程序API
未来的OpenMP版本可能会合并加速器支持,但现在唯一的选择是使用比CPU内核多的线程运行。 –
这是正常的吗?我有2个核心,运行4或8的程序,结果是一样的:\ – gaussblurinc
那么,你不会得到任何真正的加速(更糟的是,由于增加的开销,你会得到放缓),但至少你可以确认你的代码可以使用8个线程。 –