关于vs2013用openmp实现并行计算的问题 20
在VS2013中,采用了#pragmaompparallelfor对for循环进行并行处理(采用c++),问题是CPU的利用率一直是单核,很确定在项目属性中开启了open...
在VS2013中,采用了#pragma omp parallel for 对for循环进行并行处理(采用c++),问题是CPU的利用率一直是单核,很确定在项目属性中开启了openmp支持。现在找不到程序不并行的原因,求VS大神指导:为什么CPU利用率一直很低?明显看着就是单线程运行。。。(Windows平台)
展开
展开全部
代码优化:
属性->配置属性->C/C++->代码生成:启用增强指令集,可选用 流式处理 SIMD 扩展 2 (/arch:SSE2) (/arch:SSE2)、流式处理 SIMD 扩展 2 (/arch:SSE2) (/arch:SSE2) 进行加速浮点模型,可选用 快速 (/fp:fast) 进行浮点数据运算的加速
属性->配置属性->C/C++->优化:可选用 使速度最大化 (/O2) 进行优化。全程序优化选择是(/GL),在debug版本下不能这样设置,必须在release版本
属性->配置属性->C/C++->代码生成:启用增强指令集,可选用 流式处理 SIMD 扩展 2 (/arch:SSE2) (/arch:SSE2)、流式处理 SIMD 扩展 2 (/arch:SSE2) (/arch:SSE2) 进行加速浮点模型,可选用 快速 (/fp:fast) 进行浮点数据运算的加速
属性->配置属性->C/C++->优化:可选用 使速度最大化 (/O2) 进行优化。全程序优化选择是(/GL),在debug版本下不能这样设置,必须在release版本
追问
您好,设置之后CPU的效率没有变,仍然是8%左右(我用的电脑12线程,所以仍然是单线程运行)。我的问题并不是计算慢,而是电脑没有进行多线程的运算。是不是跟电脑系统的设置有关?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询