问题描述
我正在尝试使用Numba将这个相当简单的功能实现为CUDA内核:
@(2,&[0])
此功能工作正常,结果符合我的期望。我尝试通过以下代码将其实现为CUDA等效版本:
@Echo Off
SetLocal EnableExtensions disableDelayedExpansion
( For /F UseBackQ^ Delims^=^ EOL^= %%G In ("DateFile.txt") Do (
Set "line=%%G"
SetLocal EnableDelayedExpansion
Echo(!line:""=!
EndLocal
)
) 1> "NewDataFile.txt"
@nb.njit(parallel=True)
def sum_pixel_signals_cpu(pixels_signals,signals,index_map):
for it in nb.prange(signals.shape[0]):
for ipix in nb.prange(signals.shape[1]):
index = index_map[it][ipix]
start_tick = track_starts[it] // consts.t_sampling
for itick in nb.prange(signals.shape[2]):
itime = int(start_tick+itick)
pixels_signals[index,itime] += signals[it][ipix][itick]
我不明白我在做什么错。有没有办法至少调试这种错误消息?
解决方法
问题是由向后写的网格参数引起的...正确的方法:
sum_pixel_signals[blockspergrid,threadsperblock](pixels_signals,d_signals,pixel_index_map)