gpt4 book ai didi

cuda - Thrust 设备管理和内核

转载 作者:行者123 更新时间:2023-12-01 02:33:44 27 4
gpt4 key购买 nike

我在当前项目中使用了 Thrust,所以我不必写 device_vector自己抽象或(分段)扫描内核。

到目前为止,我已经使用推力抽象完成了我的所有工作,但是对于简单的内核或不容易转换为 for_each 或转换抽象的内核,我更喜欢在某些时候编写自己的内核。

所以我的问题是:我可以通过 Thrust(或者可能是 CUDA)询问当前正在使用哪个设备以及它具有哪些属性(最大块大小、最大共享内存等等)?

如果我无法获得当前设备,那么如果我提供内核寄存器和共享内存要求,是否有某种方法可以让我获得推力来计算内核尺寸?

最佳答案

您可以使用 CUDA 查询当前设备。请参阅 device management 上的 CUDA 文档.寻找 cudaGetDevice() , cudaSetDevice() , cudaGetDeviceProperties() , 等等。

Thrust 目前没有设备管理的概念。我不确定“获得推力来计算内核尺寸”是什么意思,但是如果您要确定用于启动自定义内核的网格尺寸,那么您需要自己完成。使用 cudaFuncGetAttributes() 可以帮助查询内核的属性,这就是 Thrust 使用的。

关于cuda - Thrust 设备管理和内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11421128/

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