-2
私は行列の行の合計を計算しようとしています。なぜなら、cudaは並列処理に使用されているので、ループを必要としないからです。私は行列和演算を行っており、コードは行列の行の合計がuda
__global__ void MatAdd(int A[][N], int B[][N], int C[][N]){
int i = threadIdx.x;
int j = threadIdx.y;
C[i][j] = A[i][j] + B[i][j];
}
ですが、同じ場合には行列の行の合計に変換することはできません。私は2番目のためにあなたの最初のコードサンプルは限り行列のサイズが十分(gridDim X blockdimより)小さいため、正しく見える
__global__ void rowSums(float* matrix, float* sums, int rows, int cols)
{
int row = blockIdx.y * blockDim.y + threadIdx.y;
int col = blockIdx.x * blockDim.x + threadIdx.x;
if (i < N && j < M)
sums[j] += matrix[i][j];
}
実際の質問がありますか? – talonmies
jcudaで行列の行の合計をどのように行うべきか質問したい – user3804161