Fortran Coder

标题: 请问ifort编译时如何规定并行作用的cpu数量? [打印本页]

作者: mmSCI    时间: 2021-9-20 22:55
标题: 请问ifort编译时如何规定并行作用的cpu数量?
台式机有16核,可是在用mkl并行计算时每次只用到了8个,50%的使用率。
作者: 布衣龙共    时间: 2021-9-21 08:19
j = OMP_GET_NUM_PROCS()
call OMP_SET_NUM_THREADS(j)
作者: mmSCI    时间: 2021-9-21 10:08
布衣龙共 发表于 2021-9-21 08:19
j = OMP_GET_NUM_PROCS()
call OMP_SET_NUM_THREADS(j)

请问是在程序中直接添加吗?j指的是CPU 核数?
作者: mmSCI    时间: 2021-9-21 10:43
布衣龙共 发表于 2021-9-21 08:19
j = OMP_GET_NUM_PROCS()
call OMP_SET_NUM_THREADS(j)

我试了call OMP_SET_NUM_THREADS(16),但是每次计算的时候并行还是只能占用50%的cpu感觉好奇怪。之前我在服务器上跑的,没有关心核数的问题,每次都是满核计算的
作者: li913    时间: 2021-9-25 20:49
你可能是8核16线程。
作者: mmSCI    时间: 2021-9-29 15:36
li913 发表于 2021-9-25 20:49
你可能是8核16线程。

是的,我就是用的台式机,请问这种情况怎么处理呢。我现在想了一个折中的办法就是每次并行两个程序,正好就把cpu占满了。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2