Python並行編程手冊
作 者: (意)詹卡洛·扎克尼(Giancarlo Zaccone) 著;張龍,宋秉金 譯 著作
定 價: 59
出?版?社: 電子工業出版社
出版日期: 2018年04月01日
頁 數: 225
裝 幀: 平裝
ISBN: 9787121337536
●目錄1 並行計算與Python起步...............................................1介紹 ..................................1並行計算內存架構 ..........2內存組織 ..........................5並行編程模型 ................10如何設計並行程序 ........12如何評估並行程序的性能 ....................................................14 Python簡介 ....................16並行世界中的Python ....20進程與線程介紹 ............21開始在Python中使用進程 ....................................................21開始在Python中使用線程 ....................................................232 基於線程的並行. .27介紹 ................................27使用Python的線程模塊 28如何定義線程 ................28 如何確定當前的線程 ....30如何在子類中使用線程 32使用Lock與RLock實現線程同步 ........................................34使用RLock實現線程同步 .....................................................38使用信號量實現線程同步 ....................................................40使用條件實現線程同步 44使用事件實現線程同步 47使用with語句 ................51使用隊列實現線程通信 53評估多線程應用的性能 573 基於進程的並行63介紹 ................................64如何生成進程 ................64如何對進程命名 ............66如何在後臺運行進程 ....68如何殺死進程 ................69如何在子類中使用進程 70如何在進程間交換對像 72如何同步進程 ................78如何管理進程間狀態 ....81如何使用進程池 ............82使用mpi4py模塊 ...........84點對點通信 ....................87避免死鎖問題 ................91使用廣播實現聚合通信 94使用scatter實現聚合通信 .....................................................96使用gather實現聚合通信 ......................................................99使用Alltoall實現聚合通信 .................................................101 彙聚操作 ......................103如何優化通信 ..............1054 異步編程. ........111介紹 .............................. 111使用 Python的 concurrent.futures 模塊 .............................. 112使用Asyncio實現事件循環管理 ........................................ 116使用Asyncio處理協程 120使用Asyncio管理任務 125使用Asyncio和Futures 1285 分布式Python133介紹 ..............................133使用 Celery 分發任務 .134如何使用 Celery 創建任務 .................................................136使用 SCOOP進行科學計算 ...............................................139使用 SCOOP處理映射函數 ...............................................143使用 Pyro4 遠程調用方法 ..................................................147使用 Pyro4 鏈接對像 ..150使用 Pyro4 開發一個客戶端-服務器應用.........................156使用 PyCSP實現順序進程通信 ........................................162在Disco中使用 MapReduce ................................................167使用 RPyC 調用遠程過程 ..................................................1726 使用Python進行GPU編程. ......................................175介紹 ..............................175使用 PyCUDA模塊 ....177如何構建一個 PyCUDA應用 ............................................181 通過矩陣操作理解 PyCUDA內存模型 ............................186使用 GPUArray 調用內核 ..................................................192使用 PyCUD素表達式求值 ................................194使用 PyCUDA進行 MapReduce 操作 ...............................198使用 NumbaPro 進行GPU編程 ..........................................201通過 NumbaPro 使用 GPU 加速的庫 ................................206使用 PyOpenCL模塊 .. 211如何構建一個 PyOpenCL應用 ..........................................214使用PyOpenC素表達式求值 ................................218使用 PyOpenCL測試 GPU 應用 ........................................221
內容簡介
若想充分利用所有的計算資源來構建高效的軟件繫統,並行編程技術是不可或缺的一項技能。本書以Python為藍本,對並行編程領域的各項技術與知識進行了廣泛且深入的講解。通過對本書的學習,讀者將能夠快速且準確地掌握並行編程方方面面的技能,從而應用在自己的項目開發中,提升繫統運行效率。本書共分為6章,從原理到實踐繫統化地對並行編程技術進行了層層剖析,並通過大量可運行的實例演示了每一個知識點的具體運用方式,是提升並行編程技能的一本的好書。相信本書的出版將會填補Python在並行領域應用的一大空白,能夠幫助想要從事並行編程與並行計算的讀者提升實踐能力,並將這一能力應用到實際的項目開發中。
(意)詹卡洛·扎克尼(Giancarlo Zaccone) 著;張龍,宋秉金 譯 著作
Giancarlo Zaccone擁有超過10年的管理研發項目的經驗,涉及到科學與工業這兩個領域。他曾以研究員身份就職於國家研究委員會(CNR),主要從事一些並行科學計算與科學可視化項目。他目前作為一名軟件工程師就職於一家咨詢公司,主要負責開發和維護一些面向太空和防御應用的軟件繫統。Giancarlo擁有那不勒斯費德裡科II大學的物理學碩士學位,並且獲得了羅馬大學科學計算專業的第二研究生學位。
張龍、宋秉金均擁有10年以上的繫統研發與管理經驗,關注領域主要有高並發程序設計、JVM設計與實現、函數式編程與分布式繫統設計與實現。對於編寫優雅的代碼有著不懈的追求,喜歡一切簡單而美好......
"