У меня есть задача, где мне нужно запускать одну и ту же функцию на разных панелях данных панд.Я загружаю все кадры данных в список, а затем передаю его в Pool.map
с помощью модуля multiprocessing
.Сам код функции в максимально возможной степени векторизован, содержит несколько предложений if / else и никаких матричных операций.
В настоящее время я использую 10-ядерный xeon и хотел бы ускорить процесс, в идеале передавая его.от Pool(10)
до Pool(xxx)
.Я вижу две возможности:
обработка графического процессора.Из того, что я прочитал, я не уверен, что смогу добиться того, чего хочу, и в любом случае потребуется много изменений кода.
Xeon-Phi.Я знаю, что это прекращается, но, предположительно, адаптация кода проще, и если бы это действительно так, я бы с радостью его получил.
На каком пути мне следует сосредоточиться?Любые другие альтернативы?
Программное обеспечение: Ubuntu 18.04, Python 3.7.Аппаратное обеспечение: чипсет X99, 10-ядерный Xeon (без HT)