Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
При этом, однако, очень важно не терять в скорости выполнения программ, поскольку некоторые расчеты могут занимать от нескольких часов до суток.
«известная всем медлительность питона» ?
Расчеты показывают, что для N = 512 время выполнения C-программы распараллеленной на GPU составляет 0.27 секунд против 33.06 секунд для последовательной реализации алгоритма на CPU. То есть ускорение CPU/GPU составляет около 120 раз. С ростом N величина ускорения не убывает.
int* dN, double* dth2
передаются через аргументы в виде указателей в общую память, а не пишутся в константную память как в примере на C? Этого нельзя было сделать?__device__ __constant__ int dN;
__device__ __constant__ double dth2;
from pycuda.compiler import SourceModule
module = SourceModule(kernelCode)
dN = module.get_global('dN')[0]
cuda.memcpy_htod(dN, valueOnHost)
Сравнение производительности GPU-расчетов на Python и C