Узнав, что проект научных вычислений (оказывается методом стохастической трактографии описан здесь) В настоящее время я работаю над исследованием, которое займет 4 месяца в нашем кластере из 50 узлов. Исследователь попросил меня изучить другие варианты. В настоящее время проект использует параллельный Python для передачи фрагментов массива 4d на разные узлы кластера и объединения обработанных фрагментов.
Задания, с которыми я сейчас работаю, вероятно, слишком грубы (от 5 секунд до 10 минут, мне пришлось увеличить время ожидания по умолчанию в параллельном питоне), и я оцениваю, что мог бы ускорить процесс в 2-4 раза, переписав его чтобы лучше использовать ресурсы (разделение и сборка данных занимает слишком много времени, это также должно быть распараллелено). Большая часть работы выполняется массивами numpy.
Предположим, что 2-4 раза недостаточно, и я решаю снять код с нашего локального оборудования. Каковы мои коммерческие варианты для таких высокопроизводительных вычислений и как мне нужно изменить код?