注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計Python 并行編程手冊

Python 并行編程手冊

Python 并行編程手冊

定 價:¥59.00

作 者: (意大利)詹卡洛 扎克尼 著,張龍 譯
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購買這本書可以去


ISBN: 9787121337536 出版時間: 2018-04-01 包裝:
開本: 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

  Giancarlo Zaccone擁有超過10年的管理研發(fā)項(xiàng)目的經(jīng)驗(yàn),涉及到科學(xué)與工業(yè)這兩個領(lǐng)域。他曾以研究員身份就職于國家研究委員會(CNR),主要從事一些并行科學(xué)計算與科學(xué)可視化項(xiàng)目。他目前作為一名軟件工程師就職于一家咨詢公司,主要負(fù)責(zé)開發(fā)和維護(hù)一些面向太空和防御應(yīng)用的軟件系統(tǒng)。Giancarlo擁有那不勒斯費(fèi)德里科II大學(xué)的物理學(xué)碩士學(xué)位,并且獲得了羅馬大學(xué)科學(xué)計算專業(yè)的第二研究生學(xué)位??梢酝ㄟ^https://it.linkedin.com/in/giancarlozaccone了解到關(guān)于Giancarlo的更多信息。兩位譯者均擁有10年以上的系統(tǒng)研發(fā)與管理經(jīng)驗(yàn),關(guān)注領(lǐng)域主要有高并發(fā)程序設(shè)計、JVM設(shè)計與實(shí)現(xiàn)、函數(shù)式編程與分布式系統(tǒng)設(shè)計與實(shí)現(xiàn)。對于編寫優(yōu)雅的代碼有著不懈的追求,喜歡一切簡單而美好的事物。

圖書目錄

1 并行計算與Python起步...............................................1

介紹 ..................................1

并行計算內(nèi)存架構(gòu) ..........2

內(nèi)存組織 ..........................5

并行編程模型 ................10

如何設(shè)計并行程序 ........12

如何評估并行程序的性能 ....................................................14 

Python簡介 ....................16

并行世界中的Python ....20

進(jìn)程與線程介紹 ............21

開始在Python中使用進(jìn)程 ....................................................21

開始在Python中使用線程 ....................................................23

2 基于線程的并行. .27

介紹 ................................27

使用Python的線程模塊 28

如何定義線程 ................28 

如何確定當(dāng)前的線程 ....30

如何在子類中使用線程 32

使用Lock與RLock實(shí)現(xiàn)線程同步 ........................................34

使用RLock實(shí)現(xiàn)線程同步 .....................................................38

使用信號量實(shí)現(xiàn)線程同步 ....................................................40

使用條件實(shí)現(xiàn)線程同步 44

使用事件實(shí)現(xiàn)線程同步 47

使用with語句 ................51

使用隊(duì)列實(shí)現(xiàn)線程通信 53

評估多線程應(yīng)用的性能 57

3 基于進(jìn)程的并行63

介紹 ................................64

如何生成進(jìn)程 ................64

如何對進(jìn)程命名 ............66

如何在后臺運(yùn)行進(jìn)程 ....68

如何殺死進(jìn)程 ................69

如何在子類中使用進(jìn)程 70

如何在進(jìn)程間交換對象 72

如何同步進(jìn)程 ................78

如何管理進(jìn)程間狀態(tài) ....81

如何使用進(jìn)程池 ............82

使用mpi4py模塊 ...........84

點(diǎn)對點(diǎn)通信 ....................87

避免死鎖問題 ................91

使用廣播實(shí)現(xiàn)聚合通信 94

使用scatter實(shí)現(xiàn)聚合通信 .....................................................96

使用gather實(shí)現(xiàn)聚合通信 ......................................................99

使用Alltoall實(shí)現(xiàn)聚合通信 .................................................101 

匯聚操作 ......................103

如何優(yōu)化通信 ..............105

4 異步編程. ........111

介紹 .............................. 111

使用 Python的 concurrent.futures 模塊 .............................. 112

使用Asyncio實(shí)現(xiàn)事件循環(huán)管理 ........................................ 116

使用Asyncio處理協(xié)程 120

使用Asyncio管理任務(wù) 125

使用Asyncio和Futures 128

5 分布式Python133

介紹 ..............................133

使用 Celery 分發(fā)任務(wù) .134

如何使用 Celery 創(chuàng)建任務(wù) .................................................136

使用 SCOOP進(jìn)行科學(xué)計算 ...............................................139

使用 SCOOP處理映射函數(shù) ...............................................143

使用 Pyro4 遠(yuǎn)程調(diào)用方法 ..................................................147

使用 Pyro4 鏈接對象 ..150

使用 Pyro4 開發(fā)一個客戶端-服務(wù)器應(yīng)用.........................156

使用 PyCSP實(shí)現(xiàn)順序進(jìn)程通信 ........................................162

在Disco中使用 MapReduce ................................................167

使用 RPyC 調(diào)用遠(yuǎn)程過程 ..................................................172

6 使用Python進(jìn)行GPU編程. ......................................175

介紹 ..............................175

使用 PyCUDA模塊 ....177

如何構(gòu)建一個 PyCUDA應(yīng)用 ............................................181 

通過矩陣操作理解 PyCUDA內(nèi)存模型 ............................186

使用 GPUArray 調(diào)用內(nèi)核 ..................................................192

使用 PyCUDA對逐元素表達(dá)式求值 ................................194

使用 PyCUDA進(jìn)行 MapReduce 操作 ...............................198

使用 NumbaPro 進(jìn)行GPU編程 ..........................................201

通過 NumbaPro 使用 GPU 加速的庫 ................................206

使用 PyOpenCL模塊 .. 211

如何構(gòu)建一個 PyOpenCL應(yīng)用 ..........................................214

使用PyOpenCL對逐元素表達(dá)式求值 ................................218

使用 PyOpenCL測試 GPU 應(yīng)用 ........................................221


本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號