如何借助GPU提升效率?
非常感谢你在百忙之中抽空为我解答。以下代码作用是在EXCEL表ABCDE列中选三列随机抽取4行做比较,由于效率很低,如果想通过调用GPU的并行运算去提高效率,该如何改呢?
import xlrd
import multiprocessing as mp
from functools import partial
import csv
import random as rd
def read_file(file):
data=xlrd.open_workbook(file)
names=data.sheet_names()
res=[]
for i in names:
table=data.sheet_by_name(i)
rows=table.nrows
res.append()
res=[[,j,j,tuple(j.split('A')),j,j] for j in i] for i in res]
return(res,names)
def write_file(file,res,names,maxlength):
head=+['']*4 for i in names] for k in j]
f=open(file,'w',newline='')
csvw=csv.writer(f)
csvw.writerow(head)
for i in range(maxlength):
csvw.writerow([:3]+data[:-3:-1] for data in res] for k in j])
f.close()
def check(sample,data2,index,around):
res=[]
for i in sample:
if around!=-1:
temp=]==j] and i]==j] and abs(i]-j])<=around]
else:
temp=]==j] and i]==j] and i]==j]]
if len(temp):
res.append(temp)
else:
break
else:
return(res)
return([])
def cal(label,data,index,num,around):
if len(data)>=num:
sample=rd.sample(data,num)
else:
sample=data
temp=+data]
if :
return(+temp)
else:
return([])
if __name__=='__main__':
alphatdict=dict([ for i in range(65,91)])
file = "test.xlsx"
index=sorted( for i in input('需要比对的三列:').upper()])
if 4 in index:
around=0
else:
around=-1
num=4
filenum=10000
label=0
data,names=read_file(file)
ff=partial(cal,data=data,index=index,num=num,around=around)
while label<filenum:
pool=mp.Pool(mp.cpu_count())
res=pool.map(ff,range(len(data)))
pool.close()
pool.join()
res=[ for i in res]
maxlength=max()
res=*6]*(maxlength-len(i)) for i in res]
if sum():
write_file('res'+str(label+1)+'.csv',res,names,maxlength)
label+=1
else:
pass
关键词 cuda,具体可以搜索: "cuda 编程" , “cuda cpp 编程", "cuda python 编程” 有哪位高人可以指点一下吗?
页:
[1]