Reverse Array
80 字
1 分钟
Reverse Array
#include <cuda_runtime.h>
__global__ void reverse_array(float* input, int N) { int idx = blockDim.x * blockIdx.x + threadIdx.x; if (idx < N / 2) { float tmp = input[idx]; input[idx] = input[N - 1 - idx]; input[N - 1 - idx] = tmp; }}
// input is device pointerextern "C" void solve(float* input, int N) { int threadsPerBlock = 256; int blocksPerGrid = (N + threadsPerBlock - 1) / threadsPerBlock;
reverse_array<<<blocksPerGrid, threadsPerBlock>>>(input, N); cudaDeviceSynchronize();}


