gpt4 book ai didi

c - 如何有效地将大数组加载到 GPU 共享内存?

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

我想加载一个大数组到 GPU 共享内存。当我像下面那样使用它时:

1: int index = threadidx.x;

2: 共享无符号字符 x[1000];

3: x[i] = 数组[i];

那么如果我们调用一个有 1000 个线程和一个 block 的内核代码,每个线程都会发生一次内存访问?是否可以通过一次内存访问加载此数组并将其加载到共享内存?

如有任何建议,我们将不胜感激。

最佳答案

不,它不能通过一次访问完成。

如您所示,使用并行线程加载共享内存是最快的方法。共享内存只能由 CUDA 内核中的线程执行的内存操作加载。没有用于加载共享内存的 API 函数。

如果您的数组大于线程 block 中的线程数,您可以使用循环方法,如概述的方法 here .

关于c - 如何有效地将大数组加载到 GPU 共享内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25976488/

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