Существуют ли функции, аналогичные функции python multiprocessing.Process() в pycuda, numba или cupy?

У меня был код, в котором я использовал функцию python multiprocessing.Process(), но теперь я хочу перейти на использование cuda и связанных с ним библиотек, чтобы использовать преимущества ядра моего графического процессора Nvidia для моего параллельного программирования.

По сути, я просто хочу, чтобы одна и та же функция работала над разными строками массива параллельно. Так, например, ниже приведен код на языке Python, который должен был выполнять одну и ту же функцию параллельно в двух разных частях моего массива.

Существуют ли похожие функции у pycuda, cupy или numba? Я посмотрел, но еще не нашел аналог.

def new_function(array):
    p1 = multiprocessing.Process(target = function, args = (array[0:int((len(array))/2)],))
    p2 = multiprocessing.Process(target = function, args = (array[int((len(array))/2): 2 *int((len(array))/2)],))

    p1.start()
    p2.start()

    p1.join()
    p2.join()

0 ответов

Другие вопросы по тегам