ฉันสนใจที่จะเรียนรู้วิธีการใช้ประโยชน์จากพลังการประมวลผลแบบมัลติคอร์ที่มีอยู่ในคอมพิวเตอร์เดสก์ท็อป อาร์คระบุว่าพื้นหลังการประมวลผลทางภูมิศาสตร์ช่วยให้ผู้ใช้สามารถใช้หลายคอร์อย่างไรก็ตามงานจำเป็นต้องรอให้งานก่อนหน้าเสร็จสิ้น
มีใครพัฒนาวิธีการประมวลผลทางภูมิศาสตร์แบบขนานหรือแบบมัลติเธรดใน Arc / Python หรือไม่? มีปัญหาคอขวดของฮาร์ดแวร์ที่ป้องกันการประมวลผลแบบมัลติคอร์ในแต่ละงานหรือไม่?
ฉันพบตัวอย่างที่น่าสนใจใน Stackoverflow ที่ดึงดูดความสนใจของฉันแม้ว่าจะไม่ใช่ตัวอย่างของกระบวนการทางภูมิศาสตร์:
from multiprocessing import Pool
import numpy
numToFactor = 976
def isFactor(x):
result = None
div = (numToFactor / x)
if div*x == numToFactor:
result = (x,div)
return result
if __name__ == '__main__':
pool = Pool(processes=4)
possibleFactors = range(1,int(numpy.floor(numpy.sqrt(numToFactor)))+1)
print 'Checking ', possibleFactors
result = pool.map(isFactor, possibleFactors)
cleaned = [x for x in result if not x is None]
print 'Factors are', cleaned
this is not meant to discourage
ทราบว่า