Master efficient parallel programming to build powerful applications using Python
This course will teach you parallel programming techniques using examples in Python and help you explore the many ways in which you can write code that allows more than one process to happen at once.
Starting with introducing you to the world of parallel computing, we move on to cover the fundamentals in Python. This is followed by exploring the thread-based parallelism model using the Python threading module by synchronizing threads and using locks, mutex, semaphores queues, GIL, and the thread pool. Next you will be taught about process-based parallelism, where you will synchronize processes using message passing and will learn about the performance of MPI Python Modules.
Moving on, you’ll get to grips with the asynchronous parallel programming model using the Python asyncio module, and will see how to handle exceptions. You will discover distributed computing with Python, and learn how to install a broker, use Celery Python Module, and create a worker. You will understand anche Pycsp, the Scoop framework, and disk modules in Python. Further on, you will get hands-on in GPU programming with Python using the PyCUDA module and will evaluate performance limitations.
About the Author
Giancarlo Zaccone, a physicist, has been involved in scientific computing projects among firms and research institutions. He currently works in an IT company that designs software systems with high technological content.
What are the requirements?
- This course is for software developers who are well versed with Python and want to use parallel programming techniques to write powerful and efficient code.
What am I going to get from this course?
- Synchronize multiple threads and processes to manage parallel tasks
- Implement message passing communication between processes to build parallel applications
- Program your own GPU cards to address complex problems
- Manage computing entities to execute distributed computational tasks
- Write efficient programs by adopting the event-driven programming model
- Explore the cloud technology with DJango and Google App Engine
- Apply parallel programming techniques that can lead to performance improvements
Who is the target audience?
- It will help you master the basics and the advanced levels of parallel computing.
Full Details : [ Take Course Now ]