High Performance Computing with Python

Advanced Python concepts. Optimizing Python. Analyzing performance. Optimized use of Numpy and Pandas. Interactions with C Language. Interactions with FORTRAN. Using Cython. Exploring the Pypy. Numba. Concurrency and asynchronous processing. Parallel processing: Threads and processes. Distributed processing: Dask and Pyspark. 

Basic Information

Workload
45 hours

Mandatory

  • Python High Performance - Second Edition: Build high-performing, concurrent, and distributed applications. Gabriele Lanaro. 2017
  • High Performance Python: Practical Performant Programming for Humans. Misha Gorelik e Ian Ozvald. O’Reilly. 2014
  • Fluent Python. Luciano Ramalho. O’Reilly. 2015

Complementary: 

 

  • Cython: A guide for programmers. Kurt Smith. 2015
  • IPython Interactive Computing and Visualization Cookbook - Second Edition: Over 100 hands-on recipes to sharpen your skills in high-performance and data science in the Jupyter Notebook. Cyrille Rossant. 2018
  • Elegant SciPy: The Art of Scientific Python. Juan Nunez-Iglesias and Stéfan van der Walt. 2017
  • Guide to NumPy: 2nd Edition. Travis E. Oliphant. 2015
  • Computação Científica com Python, Flávio Codeço Coelho. 2007