gpt4 book ai didi

cuda - 了解 cudaMemcpyFromSymbol() 的符号参数

转载 作者:行者123 更新时间:2023-12-04 17:51:49 29 4
gpt4 key购买 nike

下面,我包含了一个使用 cudaMemcpyFromSymbol() 的自包含示例。从内核中检索结果。该示例将符号参数(调用中的第二个参数)作为常规变量传递。但是,据我了解 CUDA 文档,将参数作为字符串传递,即:

cudaMemcpyFromSymbol(&out, "out_d", sizeof(out_d), 0, cudaMemcpyDeviceToHost);

(符号名称周围有引号),也应该有效。那对我不起作用。

符号名称何时起作用,符号名称作为字符串何时起作用?
#include "cuda_runtime.h"
#include <stdio.h>

__device__ int out_d;

__global__ void test() {
out_d = 123;
}

int main() {
test<<<1,1>>>();
int out;
cudaMemcpyFromSymbol(&out, out_d, sizeof(out_d), 0, cudaMemcpyDeviceToHost);
printf("%d\n", out);
return 0;
}

最佳答案

在 CUDA 4.2 中不推荐将符号名称作为字符串参数传递,并且在 cuda 5.0 中删除了语法。原因与启用单独的设备代码链接器功能有关,该功能出现在 CUDA 5 中。对于 cuda 5 工具包,此更改记录在 release notes 中。 . “•不再支持使用字符串来表示设备符号,这在某些 API 函数中是可行的。而应直接使用该符号。”

关于cuda - 了解 cudaMemcpyFromSymbol() 的符号参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14794319/

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