我和这里有同样的问题,但现在我试图用 python 做同样的事情,因为它更适合这项任务。
我从这个开始:
import os
import shutil
import random
import glob
root_dir = '/home/leonardo/Desktop/python_script/rfe'
output_dir = '/home/leonardo/Desktop/python_script/output_folder'
ref = 200
folders_root_dir = os.listdir(root_dir)
print folders_root_dir
count = len(folders_root_dir)
print count
for i in xrange(count):
folder_inside = root_dir + '/' + folders_root_dir[i]
print folder_inside
number_files_folder_inside = len(os.listdir(folder_inside))
print number_files_folder_inside
if number_files_folder_inside > ref:
ref_copy = round(0.2*number_files_folder_inside)
print ref_copy
# here I have to copy 20% of the files in this folder to the output folder
else:
# here …Run Code Online (Sandbox Code Playgroud) 晚安
我正在参加并行编程课程.老师给了我们一个涉及用于模板计算的域分区的任务.对于这种类型的计算(有限差分),并行化代码的最常用方法是对域进行分区并创建一些重影区域(晕圈).
为了更好地理解MPI中鬼区的创建,我编写了这个简单的例子来初始化一些内部值= 123和边界值88的数组.在所有通信结束时,所有重影值应保持为8.在一个节点中,我得到了123个值.
连环(无幽灵):
123 - 123 - ... - 123 - 123
Run Code Online (Sandbox Code Playgroud)
两个分区:
123 - 123 - ... - 88 ||| 88 - ... - 123 - 123
Run Code Online (Sandbox Code Playgroud)
三个分区:
123 - 123 - ... - 88 ||| 88 - ... - 123 - 123 - 88 ||| 88 - ... - 123 - 123
Run Code Online (Sandbox Code Playgroud)
除了这个bug之外,这里的主要问题是关于创建和维护更新鬼区的正确方法.除了我的凌乱if之外还有一个更清洁的解决方案吗(myid == .... else if(myid = ... else类型的实现?人们通常如何实现这种并行性?
#include<mpi.h>
#include<stdio.h>
#include<stdlib.h>
int WhichSize(int mpiId, int numProc, int tam);
int main(int argc, char *argv[]){
int …Run Code Online (Sandbox Code Playgroud)