python做平行計算可以嗎
python可以做並行計算,以下是相關介紹:
##一、概覽
Parallel Python是一個python模組,提供在SMP(具有多個處理器或多核心的系統)和叢集(透過網路連接的電腦)上並行執行python程式碼的機制。它輕巧,易於安裝和與其他python軟體整合。 Parallel Python是一個用純Python編寫的開源和跨平台模組。二、特性
在SMP和叢集上並行執行python程式碼易於理解和實作基於Job的並行化技術(易於並行轉換序列應用程式)自動偵測最佳配置(預設工作進程數設定為有效處理器數)動態處理器分配(工作進程數可以在運行時變更)具有相同功能的後續作業的低開銷(實現透明高速緩存以減少開銷)動態負載平衡(作業在運行時在處理器之間分佈)容錯(如果其中一個節點發生故障,任務在其他節點上重新調度)計算資源的自動發現計算資源的動態分配(自動發現和容錯的結果)網路連接的基於SHA的認證跨平台可移植性和互通性(Windows,Linux,Unix,Mac OS X)跨架構可移植性和互通性(x86,x86 -64等)開源相關推薦:《python影片教學》
三、動機
現在,用python編寫的軟體應用在許多應用程式中,包括業務邏輯,數據分析和科學計算。這與市場上的SMP電腦(多處理器或多核心)和叢集(電腦透過網路連接)的廣泛可用性一起創建了並行執行python程式碼的需求。 為SMP電腦編寫並行應用程式的最簡單且常見的方法是使用執行緒。雖然,如果應用程式是計算綁定使用線程或線程python模組將不允許並行運行python字節碼。原因是python解釋器使用GIL(全域解釋器鎖定)進行內部記帳。這個鎖允許一次只執行一個python字節碼指令,即使在SMP計算機上。 PP模組克服了這個限制,並提供了一種寫入平行python應用程式的簡單方法。內部ppsmp使用進程和IPC(進程間通訊)來組織並行計算。後者的所有細節和複雜性完全被照顧,應用程式只提交作業並檢索其結果(寫並行應用程式的最簡單的方法)。 為了讓事情變得更好,用PP編寫的軟體並行工作,即使在透過本機網路或Internet連接的許多電腦上。跨平台可移植性和動態負載平衡允許PP即使在異質和多平台叢集上也能有效地並行運算。四、安裝
任何平台:下載模組存檔並將其解壓縮到本機目錄。執行安裝腳本:python setup.py install Windows:下載並執行Windows安裝程式二進位。五、範例
import math, sys, time import pp def isprime(n): """Returns True if n is prime and False otherwise""" if not isinstance(n, int): raise TypeError("argument passed to is_prime is not of 'int' type") if n < 2: return False if n == 2: return True max = int(math.ceil(math.sqrt(n))) i = 2 while i <= max: if n % i == 0: return False i += 1 return True def sum_primes(n): """Calculates sum of all primes below given integer n""" return sum([x for x in xrange(2,n) if isprime(x)]) print """Usage: python sum_primes.py [ncpus] [ncpus] - the number of workers to run in parallel, if omitted it will be set to the number of processors in the system """ # tuple of all parallel python servers to connect with ppservers = () #ppservers = ("10.0.0.1",) if len(sys.argv) > 1: ncpus = int(sys.argv[1]) # Creates jobserver with ncpus workers job_server = pp.Server(ncpus, ppservers=ppservers) else: # Creates jobserver with automatically detected number of workers job_server = pp.Server(ppservers=ppservers) print "Starting pp with", job_server.get_ncpus(), "workers" # Submit a job of calulating sum_primes(100) for execution. # sum_primes - the function # (100,) - tuple with arguments for sum_primes # (isprime,) - tuple with functions on which function sum_primes depends # ("math",) - tuple with module names which must be imported before sum_primes execution # Execution starts as soon as one of the workers will become available job1 = job_server.submit(sum_primes, (100,), (isprime,), ("math",)) # Retrieves the result calculated by job1 # The value of job1() is the same as sum_primes(100) # If the job has not been finished yet, execution will wait here until result is available result = job1() print "Sum of primes below 100 is", result start_time = time.time() # The following submits 8 jobs and then retrieves the results inputs = (100000, 100100, 100200, 100300, 100400, 100500, 100600, 100700) jobs = [(input, job_server.submit(sum_primes,(input,), (isprime,), ("math",))) for input in inputs] for input, job in jobs: print "Sum of primes below", input, "is", job() print "Time elapsed: ", time.time() - start_time, "s" job_server.print_stats()
以上是python做平行計算可以嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。
