Вычисления на базе GPU на pandas кадре данных - PullRequest
0 голосов
/ 01 августа 2020

У меня есть pandas фрейм данных в качестве вывода из doepy пакета, который содержит около 5000 строк. Каждый столбец содержит значения для моей пользовательской функции.

простой вывод (назовем эту таблицу параметров):

| paramA | paramB | paramC | paramD | paramE |
| ------ | ------ | ------ | ------ | ------ |
| 1      | 2      | 3      |  4     | 5      |
| 6      | 7      | 8      |  9     | 10     |
| ------ | ------ | ------ | ------ | ------ |

Пользовательская функция (псевдокод)

def myfunc(df, a, b, c, d, e):
    # do something to df, which is another dataframe

Итерация в таблице параметров:

for index, row in paramTable.iterrows():
    myfunc(df, row['paramA'], row['paramB']...)

Каждый запуск myfunc занимает около 2 секунд. Он вызывает несколько пользовательских функций и выполняет некоторые pandas операций. Он настолько оптимизирован, насколько это возможно в Python. Я мог бы оптимизировать его дальше, используя Numba или Cython, но он все равно не будет масштабироваться для количества вызовов myfun c, которые я буду выполнять с другой версией paramTable.

Каков наилучший способ используя графический процессор для выполнения myfunc на более крупном paramTable? Я знаю, что тактовая частота графического процессора намного ниже, чем у процессора, но в целом графический процессор выглядит как способ go для

.
...