# Multi CPU Processing

[**Numpy**](https://gitlab.com/tenzing/shared-array) **on multi process, and** [**how to use it.**](https://medium.com/analytics-vidhya/multiprocessing-for-data-scientists-in-python-427b2ff93af1)

1. [**Pandas on multi process**](https://github.com/nalepae/pandarallel)
2. **\*\*\***[**Dask**](https://docs.dask.org/en/latest/) **- youtube** [**intros**](https://www.youtube.com/channel/UCj9eavqmvwaCyKhIlu2GaoA)
   1. **Diagnostic** [**dashboards**](https://www.youtube.com/watch?v=N_GqzcuGLCY)
   2. [**Ditributed sklearn**](https://www.youtube.com/watch?v=5Zf6DQaf7jk) **(amazing)**
3. [**Dask vs swifter vs vectorize**](https://gdcoder.com/speed-up-pandas-apply-function-using-dask-or-swifter-tutorial/)
   1. **Dask is dask**
   2. **Swifter will attempt to understand if dask or pandas apply should be used, looks like its using multi cpu so it may not be just using dask on the backend?**
   3. **Vectorize is just another option**
4. [**Multi process cpu example**](https://datascience.blog.wzb.eu/2017/06/19/speeding-up-nltk-with-parallel-processing/)
5. [**Medium on MP, using MP pool, Ray etc.**](https://medium.com/distributed-computing-with-ray/how-to-scale-python-multiprocessing-to-a-cluster-with-one-line-of-code-d19f242f60ff)
6. [**Async (multi process/thread/coroutines/asyncio)**](https://medium.com/velotio-perspectives/an-introduction-to-asynchronous-programming-in-python-af0189a88bbb)
