计算化学公社

 找回密码 Forget password
 注册 Register
Views: 3583|回复 Reply: 8
打印 Print 上一主题 Last thread 下一主题 Next thread

[Fortran] 请教Fortran如何获得CPU物理核心数

[复制链接 Copy URL]

1187

帖子

5

威望

2841

eV
积分
4129

Level 6 (一方通行)

跳转到指定楼层 Go to specific reply
楼主
请问Fortran如何获得CPU的物理核心数?
gfortran和Inter fortran都可以,如果能考虑到跨平台(主要是Windows和Linux)。
如果想获得线程总数,又该怎么做呢?
任何方案都可以提出来,谢谢大家。

1187

帖子

5

威望

2841

eV
积分
4129

Level 6 (一方通行)

9#
 楼主 Author| 发表于 Post on 2020-4-1 10:16:59 | 只看该作者 Only view this author
sobereva 发表于 2020-4-1 04:06
补充一句,开头得声明一下integer OMP_GET_NUM_PROCS(),否则返回值为0

谢谢提醒

1187

帖子

5

威望

2841

eV
积分
4129

Level 6 (一方通行)

8#
 楼主 Author| 发表于 Post on 2020-4-1 10:16:47 | 只看该作者 Only view this author
zjxitcc 发表于 2020-4-1 00:43
代码里插入3行(gfortran编译加-fopenmp, ifort编译加-qopenmp)

这样可以获取总线程数,如果有超线程数 ...

谢谢建议~

5万

帖子

99

威望

5万

eV
积分
112511

管理员

公社社长

7#
发表于 Post on 2020-4-1 04:06:35 | 只看该作者 Only view this author
zjxitcc 发表于 2020-4-1 00:43
代码里插入3行(gfortran编译加-fopenmp, ifort编译加-qopenmp)

这样可以获取总线程数,如果有超线程数 ...

补充一句,开头得声明一下integer OMP_GET_NUM_PROCS(),否则返回值为0
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

3814

帖子

4

威望

8005

eV
积分
11899

Level 6 (一方通行)

MOKIT开发者

6#
发表于 Post on 2020-4-1 00:43:45 | 只看该作者 Only view this author
本帖最后由 zjxitcc 于 2020-4-1 00:45 编辑

代码里插入3行(gfortran编译加-fopenmp, ifort编译加-qopenmp)
  1. !$omp parallel
  2. i = OMP_GET_NUM_PROCS()
  3. !$omp end parallel
复制代码

这样可以获取总线程数,如果有超线程数就会等于超线程数
(除非被用户在~/.bashrc里强制指定export OMP_NUM_THREADS)

评分 Rate

参与人数
Participants 1
eV +4 收起 理由
Reason
thanhtam + 4 GJ!

查看全部评分 View all ratings

自动做多参考态计算的程序MOKIT

1187

帖子

5

威望

2841

eV
积分
4129

Level 6 (一方通行)

5#
 楼主 Author| 发表于 Post on 2020-3-30 23:36:25 | 只看该作者 Only view this author
itpfeng 发表于 2020-3-30 22:36
https://software.intel.com/en-us/forums/intel-fortran-compiler/topic/311472

谢谢您,这个也看过一下,他那个代码我还没编译出来,有个module找不到。正在尝试。

145

帖子

0

威望

3930

eV
积分
4075

Level 6 (一方通行)

4#
发表于 Post on 2020-3-30 22:36:44 | 只看该作者 Only view this author

1187

帖子

5

威望

2841

eV
积分
4129

Level 6 (一方通行)

3#
 楼主 Author| 发表于 Post on 2020-3-30 22:27:52 | 只看该作者 Only view this author
njfuzjs 发表于 2020-3-30 21:13
可以看看这个问题(
https://stackoverflow.com/questions/49141093/get-system-information-with-fortran ...

谢谢您,那个问题之前看过,感觉主要不是针对这个问题的,用的也都是一些shell的内容,感觉还不是太好。也希望看看有没有别的解决方案。再次感谢。

125

帖子

0

威望

3509

eV
积分
3634

Level 5 (御坂)

アルトリア・ペンドラゴン

2#
发表于 Post on 2020-3-30 21:13:14 | 只看该作者 Only view this author
本帖最后由 njfuzjs 于 2020-3-30 21:17 编辑

可以看看这个问题(
https://stackoverflow.com/questions/49141093/get-system-information-with-fortran

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-27 15:31 , Processed in 0.192021 second(s), 23 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list