Python Parallel Programming Cookbook, 2/e (Paperback)

Giancarlo Zaccone

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

商品描述

Key Features

  • Design distributed computing systems and massive computational tasks coherently
  • Learn practical recipes with concise explanations that address development pain points encountered while coding parallel programs
  • Understand how to host your parallelized applications on the cloud

Book Description

Nowadays, it has become extremely important for programmers to understand the link between the software and the parallel nature of their hardware so that their programs run efficiently on computer architectures. Applications based on parallel programming are fast, robust, and easily scalable.

This updated edition features cutting-edge techniques for building effective concurrent applications in Python 3.7. The book introduces parallel programming architectures and covers the fundamental recipes for thread-based and process-based parallelism. You'll learn about mutex, semaphores, locks, queues exploiting the threading, and multiprocessing modules, all of which are basic tools to build parallel applications. Recipes on MPI programming will help you to synchronize processes using the fundamental message passing techniques with mpi4py. Furthermore, you'll get to grips with asynchronous programming and how to use the power of the GPU with PyCUDA and PyOpenCL frameworks. Finally, you'll explore how to design distributed computing systems with Celery and architect Python apps on the cloud using PythonAnywhere, Docker, and serverless applications.

By the end of this book, you will be confident in building concurrent and high-performing applications in Python.

What you will learn

  • Synchronize multiple threads and processes to manage parallel tasks
  • Use message passing techniques to establish communication between processes to build parallel applications
  • Program your own GPU cards to address complex problems
  • Manage computing entities to execute distributed computational task
  • Write efficient programs by adopting the event-driven programming model
  • Explore cloud technology with Django and Google App Engine
  • Apply parallel programming techniques that can lead to performance improvements

Who this book is for

The Python Parallel Programming Cookbook is for software developers who are well-versed with Python and want to use parallel programming techniques to write powerful and efficient code. This book will help you master the basics and the advanced of parallel computing.

商品描述(中文翻譯)

《Python平行程式設計食譜》

主要特點


  • 設計分散式計算系統和大規模計算任務

  • 學習實用的食譜,簡明扼要地解釋了在編寫並行程式時遇到的開發痛點

  • 了解如何在雲端上托管並行化應用程式

書籍描述

如今,對於程式設計師來說,了解軟體與硬體的並行性之間的聯繫變得非常重要,以便他們的程式在電腦架構上高效運行。基於並行程式設計的應用程式快速、穩健且易於擴展。

這本更新的第二版介紹了在Python 3.7中構建有效並行應用程式的尖端技術。本書介紹了並行程式設計架構,並涵蓋了基於線程和進程的並行性的基本食譜。您將學習使用互斥鎖、信號量、鎖、隊列來利用線程和多進程模組,這些都是構建並行應用程式的基本工具。關於MPI程式設計的食譜將幫助您使用mpi4py使用基本的消息傳遞技術來同步進程。此外,您還將瞭解非同步程式設計以及如何使用PyCUDA和PyOpenCL框架利用GPU的強大功能。最後,您將探索如何使用Celery設計分散式計算系統,並使用PythonAnywhere、Docker和無伺服器應用程式在雲端上架構Python應用程式。

通過閱讀本書,您將能夠自信地在Python中構建並行且高效的應用程式。

您將學到什麼


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

  • 使用消息傳遞技術在進程之間建立通信以構建並行應用程式

  • 編寫自己的GPU卡以解決複雜問題

  • 管理計算實體以執行分散式計算任務

  • 通過採用事件驅動的程式設計模型編寫高效的程式

  • 使用Django和Google App Engine探索雲端技術

  • 應用可以提高性能的並行程式設計技術

適合閱讀對象

《Python平行程式設計食譜》適合已熟悉Python並希望使用並行程式設計技術撰寫強大且高效程式的軟體開發人員。本書將幫助您掌握並行計算的基礎和高級技術。

作者簡介

Giancarlo Zaccone has over fifteen years' experience of managing research projects in the scientific and industrial domains. He is a software and systems engineer at the European Space Agency (ESTEC), where he mainly deals with the cybersecurity of satellite navigation systems.

Giancarlo holds a master's degree in physics and an advanced master's degree in scientific computing.

Giancarlo has already authored the following titles, available from Packt: Python Parallel Programming Cookbook (First Edition), Getting Started with TensorFlow, Deep Learning with TensorFlow (First Edition), and Deep Learning with TensorFlow (Second Edition).

作者簡介(中文翻譯)

Giancarlo Zaccone在科學和工業領域管理研究項目已有超過十五年的經驗。他是歐洲太空總署(ESTEC)的軟體和系統工程師,主要負責衛星導航系統的網路安全。

Giancarlo擁有物理學碩士學位和科學計算高級碩士學位。

Giancarlo已經撰寫了以下書籍,可在Packt出版社購得:《Python平行程式設計食譜(第一版)》、《TensorFlow入門指南》、《TensorFlow深度學習(第一版)》和《TensorFlow深度學習(第二版)》。

目錄大綱

  1. Getting Started with Parallel Computing and Python
  2. Thread-based Parallelism
  3. Process-based Parallelism
  4. Message Passing
  5. Asynchronous Programming
  6. Distributed Python
  7. Cloud Computing
  8. Heterogeneous Computing
  9. Python Debugging and Testing

目錄大綱(中文翻譯)

- 使用 Python 開始並行計算
- 基於線程的並行性
- 基於進程的並行性
- 訊息傳遞
- 非同步程式設計
- 分散式 Python
- 雲端計算
- 異質計算
- Python 偵錯與測試