Небольшое замечание по первому вопросу в блоке python. Так как в условии указано, что используется numpy, то можно использовать потоки, так как numpy «поднимает» GIL.
more importantly for us, while numpy is doing an array operation, python also releases the GIL
из wiki scipy