gpt4 book ai didi

CUDA:结果的总和

转载 作者:行者123 更新时间:2023-12-01 02:52:41 28 4
gpt4 key购买 nike

我正在使用 CUDA 来运行一个问题,我需要一个具有许多输入矩阵的复杂方程。每个矩阵都有一个 ID,取决于它的集合(在 1 到 30 之间,有 100,000 个矩阵),每个矩阵的结果存储在一个 float[N] 数组中,其中 N 是输入矩阵的数量。

在此之后,我想要的结果是每个 ID 在这个数组中的每个浮点数的总和,因此对于 30 个 ID,有 30 个结果浮点数。

关于我应该如何做到这一点的任何建议?

现在,我将浮点数组 (400kb) 从设备读回主机并在主机上运行:

// Allocate result_array for 100,000 floats on the device
// CUDA process input matrices
// Read from the device back to the host into result_array
float result[10] = { 0 };
for (int i = 0; i < N; i++)
{
result[input[i].ID] += result_array[i];
}

但我想知道是否有更好的方法。

最佳答案

您可以使用 cublasSasum()要做到这一点 - 这比调整 SDK 减少之一更容易(但当然不太通用)。查看 CUDA SDK 中的 CUBLAS 示例。

关于CUDA:结果的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4335850/

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