Python并行編程參考手冊-(影印版) 版權(quán)信息
- ISBN:9787564170738
- 條形碼:9787564170738 ; 978-7-5641-7073-8
- 裝幀:暫無
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
Python并行編程參考手冊-(影印版) 本書特色
對于開發(fā)人員而言,如今要想充分利用所有可用 的計算資源來構(gòu)建出高效的軟件系統(tǒng),并行編程技術(shù) 是必不可少的技能。從多核到GPU系統(tǒng),再到分布式 架構(gòu),計算量繁重的程序都離不開編程工具和軟件庫 。
吉安卡洛·扎克尼*的《Python并行編程參考手 冊》首先簡要介紹了并行編程,然后講述了Python的 基礎(chǔ)知識,接著探究了基于線程的并行模型、采用同 步線程的Python線程模塊以及鎖、互斥量、信號量隊 列、GIL和線程池的用法。
Python并行編程參考手冊-(影印版) 內(nèi)容簡介
對于開發(fā)人員而言,如今要想充分利用所有可用的計算資源來構(gòu)建出高效的軟件系統(tǒng),并行編程技術(shù)是必不可少的技能。從多核到GPU系統(tǒng),再到分布式架構(gòu),計算量繁重的程序都離不開編程工具和軟件庫。本書首先簡要介紹了并行編程,然后講述了Python的基礎(chǔ)知識。隨后探究了基于線程的并行模型、采用同步線程的Python線程模塊以及鎖、互斥量、信號量隊列、GIL和線程池的用法。
Python并行編程參考手冊-(影印版) 目錄
Preface
Chapter 1: Getting Started with Parallel Computing and PythonIntroductionThe parallel computing memory architectureMemory organizationParallel programming modelsHow to design a parallel programHow to evaluate the performance of a parallel programIntroducing PythonPython in a parallel worldIntroducing processes and threadsStart working with processes in PythonStart working with threads in Python
Chapter 2: Thread-based ParallelismIntroductionUsing the Python threading moduleHow to define a threadHow to determine the current threadHow to use a thread in a subclassThread synchronization with Lock and RLockThread synchronization with RLockThread synchronization with semaphoresThread synchronization with a conditionThread synchronization with an eventUsing the with statementThread communication using a queueEvaluating the performance of multithread applications
Chapter 3: Process-based ParallelismIntroductionHow to spawn a processHow to name a processHow to run a process in the backgroundHow to kill a processHow to use a process in a subclassHow to exchange objects between processesHow to synchronize processesHow to manage a state between processesHow to use a process poolUsing the mpi4py Python modulePoint-to-point communicationAvoiding deadlock problemsCollective communication using broadcastCollective communication using scatterCollective communication using gatherCollective communication using AIItoallThe reduction operationHow to optimize communication
Chapter 4: Asynchronous ProgrammingIntroductionUsing the concurrent.futures Python modulesEvent loop management with AsyncioHandling coroutines with AsyncioTask manipulation with AsyncioDealing with Asyncio and Futures
Chapter 5: Distributed PythonIntroductionUsing Celery to distribute tasksHow to create a task with CeleryScientific computing with SCOOPHandling map functions with SCOOPRemote Method Invocation with Pyro4Chaining objects with Pyro4Developing a client-server application with Pyro4Communicating sequential processes with PyCSPUsing MapReduce with DiscoA remote procedure call with RPyC
Chapter 6: GPU Programming with PythonIntroductionUsing the PyCUDA moduleHow to build a PyCUDA applicationUnderstanding the PyCUDA memory model with matrix manipulationKernel invocations with GPUArrayEvaluating element-wise expressions with PyCUDAThe MapReduce operation with PyCUDAGPU programming with NumbaProUsing GPU-accelerated libraries with NumbaProUsing the PyOpenCL moduleHow to build a PyOpenCL applicationEvaluating element-wise expressions with PyOpenCITesting your GPU application with PyOpenCL
Index
展開全部
Python并行編程參考手冊-(影印版) 作者簡介
Giancarlo Zaccone has more than 10 years of experience in managing research projects,both in scientific and industrial domains. He worked as a researcher at the National Research Council (CNR), where he was involved in a few parallel numerical computing and scientific visualization projects. He currently works as a software engineer at a consulting company, developing and maintaining software systems for space and defense applications. Giancarlo holds a master's degree in physics from the University of Naples Federico Ⅱ and has completed a second-level postgraduate master's program in scientific computing from the Sapienza University of Rome.