Python 並行編程手冊 Python并行编程手册

詹卡洛·扎克尼 (Giancarlo Zaccone)

買這商品的人也買了...

商品描述

若想充分利用所有的計算資源來構建高效的軟件系統,並行編程技術是不可或缺的一項技能。本書以Python為藍本,對並行編程領域的各項技術與知識進行了廣泛且深入的講解。通過對本書的學習,讀者將能夠快速且準確地掌握並行編程方方面面的技能,從而應用在自己的項目開發中,提升系統運行效率。本書共分為6章,從原理到實踐系統化地對並行編程技術進行了層層剖析,並通過大量可運行的實例演示了每一個知識點的具體運用方式,是提升並行編程技能的一本不可多得的好書。相信本書的出版將會填補Python在並行領域應用的一大空白,能夠幫助想要從事並行編程與並行計算的讀者提升實踐能力,並將這一能力應用到實際的項目開發中。

作者簡介

(意大利)Giancarlo Zaccone(詹卡洛扎克尼)譯者:張龍

Giancarlo Zaccone擁有超過10年的管理研發項目的經驗,涉及到科學與工業這兩個領域。他曾以研究員身份就職於國家研究委員會(CNR),主要從事一些並行科學計算與科學可視化項目。他目前作為一名軟件工程師就職於一家諮詢公司,主要負責開發和維護一些面向太空和防禦應用的軟件系統。Giancarlo擁有那不勒斯費德里科II大學的物理學碩士學位,並且獲得了羅馬大學科學計算專業的第二研究生學位。可以通過https://it.linkedin.com/in/giancarlozaccone了解到關於Giancarlo的更多信息。

目錄大綱

1並行計算與Python起步 
介紹 
並行計算內存架構 
內存組織 
並行編程模型 
如何設計並行程序 
如何評估並行程序的性能 
Python簡介 
並行世界中的Python 
進程與線程介紹 
開始在Python中使用進程 
開始在Python中使用線程 

2基於線程的並行 
介紹 
使用Python的線程模塊 
如何定義線程 
如何確定當前的線程 
如何在子類中使用線程 
使用Lock與RLock實現線程同步 
使用RLock實現線程同步 
使用信號量實現線程同步 
使用條件實現線程同步 
使用事件實現線程同步 
使用with語句 
使用隊列實現線程通信 
評估多線程應用的性能 

3基於進程的並行 
介紹 
如何生成進程 
如何對進程命名 
如何在後台運行進程 
如何殺死進程 
如何在子類中使用進程 
如何在進程間交換對象 
如何同步進程 
如何管理進程間狀態 
如何使用進程池 
使用mpi4py模塊 
點對點通信 
避免死鎖問題 
使用廣播實現聚合通信 
使用scatter實現聚合通信 
使用gather實現聚合通信 
使用Alltoall實現聚合通信 
匯聚操作 
如何優化通信 

4異步編程 
介紹 
使用Python的concurrentfutures模塊 
使用Asyncio實現事件循環管理 
使用Asyncio處理協程 
使用Asyncio管理任務 
使用Asyncio和Futures 

5分佈式P 
介紹 
使用Celery分發任務 
如何使用Celery創建任務 
使用SCOOP進行科學計算 
使用SCOOP處理映射函數 
使用Pyro4遠程調用方法 
使用Pyro4鏈接對象 
使用Pyro4開發一個客戶端-服務器應用 
使用PyCSP實現順序進程通信 
在Disco中使用MapReduce 
使用RPyC調用遠程過程 

6使用Python進行GPU編程 
介紹 
使用PyCUDA模塊 
如何構建一個PyCUDA應用 
通過矩陣操作理解PyCUDA內存模型 
使用GPUArray調用內核 
使用PyCUDA對逐元素表達式求值 
使用PyCUDA進行MapReduce操作 
使用NumbaPro進行GPU編程 
通過NumbaPro使用GPU加速的庫 
使用PyOpenCL模塊 
如何構建一個PyOpenCL應用 
使用PyOpenCL對逐元素表達式求值 
使用PyOpenCL測試GPU應用