26 if (gridDim.y != 1)
return;
27 if (gridDim.z != 1)
return;
28 if (blockDim.x != 256)
return;
29 if (blockDim.y != 1)
return;
30 if (blockDim.z != 1)
return;
32 unsigned tid = threadIdx.x;
33 unsigned bid = blockIdx.x;
38 for (
int i=0; i<16; i++) {
42 unsigned src = tid*16+15-i;
43 unsigned dst = (tid+257)%512 + 512*i;
50 __syncwarp(0xffffffff);
__managed__ fr_t toeplitz_coefficients[512 *16][512]
__managed__ fr_t polynomial[512 *4096]
__global__ void fk20_poly2toeplitz_coefficients(fr_t *toeplitz_coefficients, const fr_t *polynomial)
polynomial -> toeplitz_coefficients
__device__ __host__ void fr_zero(fr_t &z)
Sets the value of z to zero.
uint64_t fr_t[4]
Subgroup element stored as a 256-bit array (a 4-element little-endian array of uint64_t)....
__device__ __host__ void fr_cpy(fr_t &z, const fr_t &x)
Copy from x into z.