Адекватно ли использование ray для задач с неловко параллельными задачами?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Адекватно ли использование ray для задач с неловко параллельными задачами?

Сообщение Anonymous »

Есть задача, которую мне нужно повторить примерно миллион раз. Задача сама по себе «короткая», но ее выполнение все равно займет около 5 часов, поэтому я хочу ее распараллелить. Вот как выглядит задание:

Код: Выделить всё

def general(N, BORDER): #N and BORDER are two positive integers that are fixed
(...)
return r,A #r is an integer or None, M is an adj matrix
(...) — это случайный процесс, поэтому мне не нужна какая-либо связь между рабочими узлами. Я просто хочу, чтобы этот процесс выполнялся в общей сложности миллион раз.
Я пытался использовать для этого ray, так как увидел, что он довольно мощный по сравнению с некоторыми другими пакетами, такими как многопроцессорность. Поэтому я сделал следующее :

Код: Выделить всё

ray.init()
(...)
@ray.remote
def general(N, BORDER): #N and BORDER are two positive integers that are fixed
(...)
return r,A #r is an integer or None, M is an adj matrix
(...)
for i in range(10**7):
r,A = general.remote(N,BORDER)
это не работает, но я знаю почему. вызов General.remote() возвращает что-то вроде ObjectRef(c8ef45ccd0112571ffffffffffffffffffffff0100000001000000), который априори не может быть разбит на кортеж, поэтому неудивительно, почему он не работает: мне нужно сделать что-то дополнительное, чтобы это исправить. Я подумал, что в какой-то момент мне следует использовать ray.get(), но во всех примерах, которые я видел, я так и не понял, насколько именно это соответствует моей проблеме. Например, здесь показан пример использования ray.get() со списками; но списка того, что я делаю, нет.
Поэтому мой вопрос: действительно ли Ray адаптирован для того, что я хочу делать?

Подробнее здесь: https://stackoverflow.com/questions/790 ... llel-tasks
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»