#pragma once // CUDA translation of stage 01: one work item is one seed, its positions are serial. __global__ void seedKernel(DeviceArgs a, show::Hit* hits, unsigned long long* count) { const uint64_t stride=uint64_t(gridDim.x)*blockDim.x; for(uint64_t s=uint64_t(blockIdx.x)*blockDim.x+threadIdx.x;s(a.seed+s,x,z,a.n)) emit(a,hits,count,a.seed+s,x,z); } } }