Ошибки синхронизации ядра PyCUDA - PullRequest
1 голос
/ 18 апреля 2011

Достаточно просто

start=cuda.Event()
func(args,block=blockdims)
cuda.memcpy_dtoh(d,h)
end=cuda.Event()

dur=start.time_till(end)
print dur

Но я получаю эту ошибку

File "gpu.py", line 161, in gpu_test
    dur=start.time_till(end)
pycuda._driver.LogicError: cuEventElapsedTime failed: invalid handle

Насколько я могу судить по документам , это правильное использование. Кто-нибудь понял, что я делаю не так?

1 Ответ

1 голос
/ 18 апреля 2011

Взгляните на SimpleSpeedTest.py :

start=cuda.Event()
end=cuda.Event()

start.record() # start timing
func(args,block=blockdims)
cuda.memcpy_dtoh(d,h)
end.record() # end timing
# calculate the run length
end.synchronize()
millis = start.time_till(end)
print millis
...