gpt4 book ai didi

c++ - 自动为 C++ 函数添加函数前缀

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

我正在移植一个小型 C++ 代码库,以便通过 CUDA 在显卡上调用。CUDA 要求所有函数都以 __host__ __device__ 开头,以便在 CPU 和 GPU 内核代码中都可以调用。例如,

void foo() {} // callable on CPU, not on GPU
__host__ __device__ foo() {} // callable on CPU and on GPU

__host__ __device__ 添加到我的代码库中的每个 函数是一项乏味但直接的任务,但我想知道:是否有一种有效的方法来前置限定符到 C/C++ 函数?

如果有一种文本编辑器技术可以检测所有函数声明,或者具有编译器功能,我会很高兴。但是,我不知道涉及其中任何一个的解决方案。

想法?

最佳答案

我不知道有任何这样的编译器功能。尽管如此,我还是会谨慎地广泛应用这些指令,因为调用约定和堆栈管理在不需要时可能与正常的主机约定有很大不同(例如更慢?)。我可能会把我自己的宏放在一起,例如#define HDFN __host__ __device__ 以便于添加/更改。

除此之外,您也许能够挖掘出用于检测方法的正则表达式并编写一个简单的宏...

关于c++ - 自动为 C++ 函数添加函数前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14819864/

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