Python 並行編程實戰, 2/e (Python Parallel Programming Cookbook, 2/e)

Giancarlo Zaccone 譯 蘇鈺涵

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

商品描述

 

• 同步多個線程和進程來管理並行任務。

• 使用消息傳遞技術建立進程間通信來構建並行應用。

• 為自己的GPU卡編程來解決複雜的問題。

• 管理計算實體來執行分佈式計算任務。

• 採用事件驅動編程模型編寫高效的程序。

• 使用Django和Google App Engine研究雲技術。

• 應用能改善性能的並行編程技術。

作者簡介

Giancarlo Zaccone


在科學和工業領域的研究項目管理方面已經有超過15年的經驗。
他是歐洲航空局(ESTEC)的一位軟件和系統工程師,主要處理衛星導航系統的網絡安全。
Giancarlo擁有物理學碩士學位和科學計算高級碩士學位。
Giancarlo有以下著作:《Python Parallel Programming Cookbook(第1版)》
 《Getting Started with Tensor Flow 》《Deep Learning with Tensor Flow (第1版)》
和《Deep Learning with Tensor Flow (第2版) 》。

目錄大綱

目錄
前言
第1章並行計算和Python入門1
1.1為什麼需要並行計算? 1
1.2費林分類法2
1.2.1單指令流單數據流(SISD) 2
1.2.2多指令流單數據流(MISD) 3
1.2.3單指令流多數據流(SIMD) 4
1.2.4多指令流多數據流(MIMD) 4
1.3內存組織5
1.3.1共享內存6
1.3.2分佈式內存7
1.3.3大規模並行處理(MPP) 8
1.3.4工作站集群8
1.3.5異構體系結構9
1.4並行編程模型9
1.4.1共享內存模型10
1.4.2多線程模型10
1.4.3消息傳遞模型10
1.4.4數據並行模型11
1.5並行程序性能評價13
1.5.1加速比14
1.5.2效率14
1.5.3擴縮性15
1.5.4阿姆達爾定律15
1.5.5古斯塔夫森定律15
1.6 Python介紹16
1.6.1幫助函數16
1.6.2語法18
1.6.3註釋19
1.6.4賦值19
1.6.5數據類型19
1.6.6字符串21
1.6.7流控制21
1.6.8函數23
1.6.9類24
1.6.10異常25
1.6.11導入庫26
1.6.12管理文件26
1.6.13列表推導27
1.6.14運行Python腳本28
1.6.15使用pip安裝Python包28
1.7 Python並行編程介紹29

第2章基於線程的並行33
2.1什麼是線程? 34
2.2 Pythonthreading模塊35
2.3定義一個線程35
2.3.1準備工作35
2.3.2實現過程36
2.3.3工作原理36
2.3.4相關內容37
2.4確定當前線程37
2.4.1準備工作37
2.4.2實現過程37
2.4.3工作原理38
2.5定義一個線程子類39
2.5.1準備工作39
2.5.2實現過程39
2.5.3工作原理41
2.5.4相關內容42
2.6使用鎖的線程同步42
2.6.1準備工作43
2.6.2實現過程43
2.6.3工作原理45
2.6.4相關內容46
2.7使用RLock的線程同步47
2.7.1準備工作47
2.7.2實現過程48
2.7.3工作原理49
2.7.4相關內容50
2.8使用信號量的線程同步51
2.8.1準備工作51
2.8.2實現過程51
2.8.3工作原理53
2.8.4相關內容54
2.9使用條件的線程同步54
2.9.1準備工作54
2.9.2實現過程54
2.9.3工作原理56
2.9.4相關內容58
2.10使用事件的線程同步58
2.10.1準備工作59
2.10.2實現過程59
2.10.3工作原理61
2.11使用屏障的線程同步62
2.11.1準備工作62
2.11.2實現過程62
2.11.3工作原理63
2.12使用隊列的線程通信63
2.12.1準備工作64
2.12.2實現過程64
2.12.3工作原理65
2.12.4相關內容66

第3章基於進程的並行68
3.1理解Python的multiprocessing模塊68
3.2創建進程69
3.2.1準備工作69
3.2.2實現過程69
3.2 .3工作原理70
3.2.4相關內容71
3.2.5參考資料71
3.3命名進程72
3.3.1準備工作72
3.3.2實現過程72
3.3.3工作原理73
3.3.4相關內容73
3.3.5參考資料73
3.4在後台運行進程73
3.4.1準備工作74
3.4.2實現過程74
3.4.3工作原理75
3.4.4參考資料76
3.5殺死進程76
3.5.1準備工作76
3.5.2實現過程76
3.5. 3工作原理77
3.5.4參考資料78
3.6子類中定義進程78
3.6.1準備工作78
3.6.2實現過程78
3.6.3工作原理79
3.6.4相關內容80
3.6.5參考資料80
3.7使用隊列交換數據80
3.7.1準備工作80
3.7.2實現過程80
3.7.3工作原理82
3.7.4相關內容83
3.7.5參考資料84
3.8使用管道交換對象84
3.8.1準備工作84
3.8.2實現過程84
3.8.3工作原理86
3.8.4相關內容87
3.8.5參考資料87
3.9同步進程87
3.9.1準備工作87
3.9.2實現過程87
3.9.3工作原理89
3.9.4相關內容89
3.9.5參考資料89
3.10使用進程池90
……
第4章消息傳遞
第5章異步編程
第6章分佈式Python
第7章云計算
第8章異構計算
第9章Python調試和測試