update
This commit is contained in:
29
language_learning/2021.05.10_parallel_calculations_using_sh_files/a.py
Executable file
29
language_learning/2021.05.10_parallel_calculations_using_sh_files/a.py
Executable file
@@ -0,0 +1,29 @@
|
||||
import numpy as np
|
||||
|
||||
# 设置
|
||||
cpus = 7 # 使用的CPU个数(等于提交任务的个数)
|
||||
parameter_array_all = np.arange(0, 10, 0.1) # 需要计算的参数
|
||||
|
||||
|
||||
# 通过.sh脚本文件修改的任务指标。job_index从0开始,最大值为cpus-1
|
||||
job_index = -1
|
||||
|
||||
|
||||
# 预处理
|
||||
len_of_parameter_all = len(parameter_array_all) # 需要计算参数的个数
|
||||
if len_of_parameter_all%cpus == 0:
|
||||
len_parameter = int(len_of_parameter_all/cpus) # 一个CPU/任务需要计算参数的个数
|
||||
parameter_array = parameter_array_all[job_index*len_parameter:(job_index+1)*len_parameter]
|
||||
else:
|
||||
len_parameter = int(len_of_parameter_all/(cpus-1)) # 一个CPU/任务需要计算参数的个数
|
||||
if job_index != cpus-1:
|
||||
parameter_array = parameter_array_all[job_index*len_parameter:(job_index+1)*len_parameter]
|
||||
else:
|
||||
parameter_array = parameter_array_all[job_index*len_parameter:len_of_parameter_all]
|
||||
|
||||
|
||||
# 任务
|
||||
with open('a'+str(job_index)+'.txt', 'w') as f:
|
||||
for parameter in parameter_array:
|
||||
result = parameter**2
|
||||
f.write(str(parameter)+' '+str(result)+'\n')
|
5
language_learning/2021.05.10_parallel_calculations_using_sh_files/a.sh
Executable file
5
language_learning/2021.05.10_parallel_calculations_using_sh_files/a.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
#PBS -N task
|
||||
#PBS -l nodes=1:ppn=1
|
||||
export OMP_NUM_THREADS=1
|
||||
python a.py
|
@@ -0,0 +1,6 @@
|
||||
f = open('combine.txt', 'w')
|
||||
for job_index in range(7):
|
||||
with open('a'+str(job_index)+'.txt', 'r') as f0:
|
||||
text = f0.read()
|
||||
f.write(text)
|
||||
f.close()
|
@@ -0,0 +1,16 @@
|
||||
0.0 0.0
|
||||
0.1 0.010000000000000002
|
||||
0.2 0.04000000000000001
|
||||
0.30000000000000004 0.09000000000000002
|
||||
0.4 0.16000000000000003
|
||||
0.5 0.25
|
||||
0.6000000000000001 0.3600000000000001
|
||||
0.7000000000000001 0.4900000000000001
|
||||
0.8 0.6400000000000001
|
||||
0.9 0.81
|
||||
1.0 1.0
|
||||
1.1 1.2100000000000002
|
||||
1.2000000000000002 1.4400000000000004
|
||||
1.3 1.6900000000000002
|
||||
1.4000000000000001 1.9600000000000004
|
||||
1.5 2.25
|
@@ -0,0 +1,16 @@
|
||||
1.6 2.5600000000000005
|
||||
1.7000000000000002 2.8900000000000006
|
||||
1.8 3.24
|
||||
1.9000000000000001 3.6100000000000003
|
||||
2.0 4.0
|
||||
2.1 4.41
|
||||
2.2 4.840000000000001
|
||||
2.3000000000000003 5.290000000000001
|
||||
2.4000000000000004 5.760000000000002
|
||||
2.5 6.25
|
||||
2.6 6.760000000000001
|
||||
2.7 7.290000000000001
|
||||
2.8000000000000003 7.840000000000002
|
||||
2.9000000000000004 8.410000000000002
|
||||
3.0 9.0
|
||||
3.1 9.610000000000001
|
@@ -0,0 +1,16 @@
|
||||
3.2 10.240000000000002
|
||||
3.3000000000000003 10.890000000000002
|
||||
3.4000000000000004 11.560000000000002
|
||||
3.5 12.25
|
||||
3.6 12.96
|
||||
3.7 13.690000000000001
|
||||
3.8000000000000003 14.440000000000001
|
||||
3.9000000000000004 15.210000000000003
|
||||
4.0 16.0
|
||||
4.1000000000000005 16.810000000000006
|
||||
4.2 17.64
|
||||
4.3 18.49
|
||||
4.4 19.360000000000003
|
||||
4.5 20.25
|
||||
4.6000000000000005 21.160000000000004
|
||||
4.7 22.090000000000003
|
@@ -0,0 +1,16 @@
|
||||
4.800000000000001 23.040000000000006
|
||||
4.9 24.010000000000005
|
||||
5.0 25.0
|
||||
5.1000000000000005 26.010000000000005
|
||||
5.2 27.040000000000003
|
||||
5.300000000000001 28.090000000000007
|
||||
5.4 29.160000000000004
|
||||
5.5 30.25
|
||||
5.6000000000000005 31.360000000000007
|
||||
5.7 32.49
|
||||
5.800000000000001 33.64000000000001
|
||||
5.9 34.81
|
||||
6.0 36.0
|
||||
6.1000000000000005 37.21000000000001
|
||||
6.2 38.440000000000005
|
||||
6.300000000000001 39.69000000000001
|
@@ -0,0 +1,16 @@
|
||||
6.4 40.96000000000001
|
||||
6.5 42.25
|
||||
6.6000000000000005 43.56000000000001
|
||||
6.7 44.89
|
||||
6.800000000000001 46.24000000000001
|
||||
6.9 47.61000000000001
|
||||
7.0 49.0
|
||||
7.1000000000000005 50.41000000000001
|
||||
7.2 51.84
|
||||
7.300000000000001 53.29000000000001
|
||||
7.4 54.760000000000005
|
||||
7.5 56.25
|
||||
7.6000000000000005 57.760000000000005
|
||||
7.7 59.290000000000006
|
||||
7.800000000000001 60.84000000000001
|
||||
7.9 62.410000000000004
|
@@ -0,0 +1,16 @@
|
||||
8.0 64.0
|
||||
8.1 65.61
|
||||
8.200000000000001 67.24000000000002
|
||||
8.3 68.89000000000001
|
||||
8.4 70.56
|
||||
8.5 72.25
|
||||
8.6 73.96
|
||||
8.700000000000001 75.69000000000001
|
||||
8.8 77.44000000000001
|
||||
8.9 79.21000000000001
|
||||
9.0 81.0
|
||||
9.1 82.80999999999999
|
||||
9.200000000000001 84.64000000000001
|
||||
9.3 86.49000000000001
|
||||
9.4 88.36000000000001
|
||||
9.5 90.25
|
@@ -0,0 +1,4 @@
|
||||
9.600000000000001 92.16000000000003
|
||||
9.700000000000001 94.09000000000002
|
||||
9.8 96.04000000000002
|
||||
9.9 98.01
|
@@ -0,0 +1,100 @@
|
||||
0.0 0.0
|
||||
0.1 0.010000000000000002
|
||||
0.2 0.04000000000000001
|
||||
0.30000000000000004 0.09000000000000002
|
||||
0.4 0.16000000000000003
|
||||
0.5 0.25
|
||||
0.6000000000000001 0.3600000000000001
|
||||
0.7000000000000001 0.4900000000000001
|
||||
0.8 0.6400000000000001
|
||||
0.9 0.81
|
||||
1.0 1.0
|
||||
1.1 1.2100000000000002
|
||||
1.2000000000000002 1.4400000000000004
|
||||
1.3 1.6900000000000002
|
||||
1.4000000000000001 1.9600000000000004
|
||||
1.5 2.25
|
||||
1.6 2.5600000000000005
|
||||
1.7000000000000002 2.8900000000000006
|
||||
1.8 3.24
|
||||
1.9000000000000001 3.6100000000000003
|
||||
2.0 4.0
|
||||
2.1 4.41
|
||||
2.2 4.840000000000001
|
||||
2.3000000000000003 5.290000000000001
|
||||
2.4000000000000004 5.760000000000002
|
||||
2.5 6.25
|
||||
2.6 6.760000000000001
|
||||
2.7 7.290000000000001
|
||||
2.8000000000000003 7.840000000000002
|
||||
2.9000000000000004 8.410000000000002
|
||||
3.0 9.0
|
||||
3.1 9.610000000000001
|
||||
3.2 10.240000000000002
|
||||
3.3000000000000003 10.890000000000002
|
||||
3.4000000000000004 11.560000000000002
|
||||
3.5 12.25
|
||||
3.6 12.96
|
||||
3.7 13.690000000000001
|
||||
3.8000000000000003 14.440000000000001
|
||||
3.9000000000000004 15.210000000000003
|
||||
4.0 16.0
|
||||
4.1000000000000005 16.810000000000006
|
||||
4.2 17.64
|
||||
4.3 18.49
|
||||
4.4 19.360000000000003
|
||||
4.5 20.25
|
||||
4.6000000000000005 21.160000000000004
|
||||
4.7 22.090000000000003
|
||||
4.800000000000001 23.040000000000006
|
||||
4.9 24.010000000000005
|
||||
5.0 25.0
|
||||
5.1000000000000005 26.010000000000005
|
||||
5.2 27.040000000000003
|
||||
5.300000000000001 28.090000000000007
|
||||
5.4 29.160000000000004
|
||||
5.5 30.25
|
||||
5.6000000000000005 31.360000000000007
|
||||
5.7 32.49
|
||||
5.800000000000001 33.64000000000001
|
||||
5.9 34.81
|
||||
6.0 36.0
|
||||
6.1000000000000005 37.21000000000001
|
||||
6.2 38.440000000000005
|
||||
6.300000000000001 39.69000000000001
|
||||
6.4 40.96000000000001
|
||||
6.5 42.25
|
||||
6.6000000000000005 43.56000000000001
|
||||
6.7 44.89
|
||||
6.800000000000001 46.24000000000001
|
||||
6.9 47.61000000000001
|
||||
7.0 49.0
|
||||
7.1000000000000005 50.41000000000001
|
||||
7.2 51.84
|
||||
7.300000000000001 53.29000000000001
|
||||
7.4 54.760000000000005
|
||||
7.5 56.25
|
||||
7.6000000000000005 57.760000000000005
|
||||
7.7 59.290000000000006
|
||||
7.800000000000001 60.84000000000001
|
||||
7.9 62.410000000000004
|
||||
8.0 64.0
|
||||
8.1 65.61
|
||||
8.200000000000001 67.24000000000002
|
||||
8.3 68.89000000000001
|
||||
8.4 70.56
|
||||
8.5 72.25
|
||||
8.6 73.96
|
||||
8.700000000000001 75.69000000000001
|
||||
8.8 77.44000000000001
|
||||
8.9 79.21000000000001
|
||||
9.0 81.0
|
||||
9.1 82.80999999999999
|
||||
9.200000000000001 84.64000000000001
|
||||
9.3 86.49000000000001
|
||||
9.4 88.36000000000001
|
||||
9.5 90.25
|
||||
9.600000000000001 92.16000000000003
|
||||
9.700000000000001 94.09000000000002
|
||||
9.8 96.04000000000002
|
||||
9.9 98.01
|
14
language_learning/2021.05.10_parallel_calculations_using_sh_files/task.sh
Executable file
14
language_learning/2021.05.10_parallel_calculations_using_sh_files/task.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
for job_index in 0 1 2 3 4 5 6
|
||||
do
|
||||
|
||||
cp a.py a${job_index}.py
|
||||
sed -i "s/job_index = -1/job_index = ${job_index}/" a${job_index}.py
|
||||
|
||||
|
||||
cp a.sh a${job_index}.sh
|
||||
sed -i "s/python a.py/python a${job_index}.py/" a${job_index}.sh
|
||||
qsub a${job_index}.sh
|
||||
|
||||
done
|
Reference in New Issue
Block a user