Fortran openmp并行打开多个文件

思路

计算中需要读取几十GB的文件(文件大概有100个),顺序读取太慢,想用并行试试。6核读取时间将近缩短了5倍,效果极其满意。
python读取文件夹下所有同一类文件名name,将这些文件名写入多个文件file下,fortran循环读取file下name,依据name变量读取文件夹下所有同一类文件内容。将多个文件file记为循环变量i,采用openmp 设定线程数=i,从而并行读取文件。
服务器硬盘采用RAID 5,理论上可获得极好的读写效率。

python获取文件名并放在一些文件内

#!/usr/bin/env python3
from ase.data import atomic_numbers, atomic_names
from os import listdir
import os,sys,math
from os.path import isfile, join, exists
from natsort import ns, natsorted
import numpy as np

gbw_lst = []
for f in [ f for f in listdir(".") if isfile(join(".",f)) ]:
	if f.endswith(".mos"): gbw_lst += [f] ; print('*************gbw file found!************')
number=0
mos=[]
gbw_lst=natsorted(gbw_lst,alg=ns.PATH)
'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值