Softwares

Joblib 0.14 Oct 2019
Easy and reliable parallel computing with Python functions.
Joblib is a set of tools to provide lightweight pipelining in Python. In particular:
  • transparent disk-caching of functions and lazy re-evaluation (memoize pattern)
  • easy simple parallel computing
Joblib is optimized to be fast and robust on large data in particular and has specific optimizations for numpy arrays. It is BSD-licensed and its documentation can be found at https://joblib.readthedocs.io/.

Starting 2017, I have been involved in Joblib development, first to integrate loky as a new multiprocessing backend and them as a regular developer for the library.

python, multiprocessing, parallel computing
Loky Aug 2018
The aim of this project is to provide a robust, cross-platform and cross-version implementation of the ProcessPoolExecutor class of concurrent.futures.
The aim of this project is to provide a robust, cross-platform and cross-version implementation of the ProcessPoolExecutor class of concurrent.futures. It features:
  • Deadlock free implementation: one of the major concern in standard multiprocessing and concurrent.futures libraries is the ability of the Pool/Executor to handle crashes of worker processes. This library intends to fix those possible deadlocks and send back meaningful errors.

  • Consistent spawn behavior: All processes are started using fork/exec on POSIX systems. This ensures safer interactions with third party libraries.

  • Reusable executor: strategy to avoid respawning a complete executor every time. A singleton pool can be reused (and dynamically resized if necessary) across consecutive calls to limit spawning and shutdown overhead. The worker processes can be shutdown automatically after a configurable idling timeout to free system resources.


python, multiprocessing, parallel computing
DICOD Jul 2018
Package to run the experiments for the ICML paper DICOD: Distributed Convolutional Coordinate Descent for Convolutional Sparse Coding, ICML 2018, T. Moreau, L. Oudre, N. Vayatis.
Package to run the experiments for the ICML paper DICOD: Distributed Convolutional Coordinate Descent for Convolutional Sparse Coding, ICML 2018, T. Moreau, L. Oudre, N. Vayatis.
Gnome Shell Extension NvApplet Oct 2016
Gnome shell extension displaying the status of Nvidia GPU card in the gnome-shell panel.
Gnome shell extension displaying the status of Nvidia GPU card in the gnome-shell panel.


gnome-shell, clutter, bash
Gnome Shell Extension Section Todolist Oct 2016
Gnome shell extension to manage a todolist with different subsections.
Gnome shell extension to manage a todolist with different subsections.
This section is integrated in the gnome shell with a counter of the remaining tasks.
javascript, gnome-shell, bash, clutter