gpt4 book ai didi

c++ - 在 CUDA 中有这样的可能吗

转载 作者:太空宇宙 更新时间:2023-11-04 06:29:16 25 4
gpt4 key购买 nike

比方说,我有一个值为 0 或 1 的矩阵。在 CUDA 中可以这样做:

__global__ void kernel(float *matrix, float *count)
{
int row = blockIdx.y * blockDim.y + threadIdx.y;
int column = blockIdx.x * blockDim.x + threadIdx.x;

if (row >= MATRIXSIZE || column >= MATRIXSIZE)
{
return;
}

if (matrix[MATRIXSIZE * row + column] == 1)
{
count[0]++;
}
}

所以我最终在矩阵中得到了 ne 个 1。我知道,这是一个非常简单的示例,但如果可能的话,其他变体也是如此......

最佳答案

有针对 CUDA 的高度优化库可以执行这些类型的操作,称为缩减。查看 CUDA Thrust 或 CUB。在 Thrust 中,您可以使用 reduce 来汇总所有值或使用 count 来计算特定值的实例数。

关于c++ - 在 CUDA 中有这样的可能吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22539310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com