首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >cuda文件组织的有效方法:.cpp .h .cu .cuh .curnel文件

cuda文件组织的有效方法:.cpp .h .cu .cuh .curnel文件
EN

Stack Overflow用户
提问于 2013-03-05 10:59:37
回答 2查看 19.8K关注 0票数 14

什么是cuda最容易理解/最有效的代码组织。经过一些调查,我发现cuda函数声明应该在.cuh文件中,实现驻留在.cu文件中,内核函数实现在.curnel文件中。通常情况下,.cpp和.h文件中的其他内容。最近我发了一个问题visual studio .cu file shows syntax error but compile successfully。这个组织正确吗?其中,.cpp调用.cu,并在.curnel中调用内核函数。

EN

回答 2

Stack Overflow用户

发布于 2013-03-05 21:21:42

  • hcppchpp公司< code >E 211-不包含CUDA C代码的文件(例如__device__和其他关键字、内核调用等)也不要进行任何cuda运行时调用(cuda.职能)。调用CUDA驱动程序API (cu.)非常好。这些文件中的函数。请注意,可以使用NVCC以外的编译器编译这些文件。
  • cu - CUDA C源文件。将这些文件传递给NVCC编译器,以便将其编译为可链接(主机/设备)对象。
  • cuh,cuinc -包含在.cu文件中的文件。这些文件可以具有CUDA C关键字和/或调用CUDA运行时函数。
票数 11
EN

Stack Overflow用户

发布于 2013-03-05 14:14:59

例如,假设有一个基于GPU的FDTD代码.我通常执行以下操作(Visual 2010)。

  • main.cpp文件,包括CPU-GPU内存传输;
  • FDTD.cu,包括一个包含内核<<< >>>调用的extern "C" void E_update(...)函数;
  • 包含extern "C" void E_update(...)原型的main.h文件;
  • FDTD.cuh,包括__global__ void E_update_kernel(...)函数。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15222071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档