Local machine without GPU acceleration#
Do’s:
Use
numbasjit features in a fire and forget manner. Just decorate your functions with anumba.jitand see if this already does the trick.Or make use of the
numpyapi as often as possible to get nuerical focus and faster execution.Use the divide and conquer pattern to split up the workload and use the
concurrent.futuresinterface to create aProcessPoolExecutorexecuting it in parallel.Move forward to more specialized libraries implementing a
numpylike interface. The changes to make here will be usually very subtle and can be done iteratively without eating to much time.
Dont’s:
Do not use
ThreadPoolExecutorsdue to the GIL.Do not mix
numbaandconcurrent.futuresbased approaches, as usuallynumbawill target all available cores already