您的位置:首页 > 财经 > 产业 > 某公司网络营销现状分析_管理软件开发平台_seo排名软件哪个好用_b站推广网站2024年

某公司网络营销现状分析_管理软件开发平台_seo排名软件哪个好用_b站推广网站2024年

2025/1/11 14:06:31 来源:https://blog.csdn.net/weixin_42046845/article/details/144193357  浏览:    关键词:某公司网络营销现状分析_管理软件开发平台_seo排名软件哪个好用_b站推广网站2024年
某公司网络营销现状分析_管理软件开发平台_seo排名软件哪个好用_b站推广网站2024年

单源文件 CUDA 程序基本框架

对于单源文件的 cuda 程序,基本框架为:

包含头文件
定义常量或宏
声明 c++ 自定义函数和 cuda 核函数的原型
int main()
{1. 分配主机和设备内存2. 初始化主机中数据3. 将某些数据从主机复制到设备4. 调用核函数在设备中计算5. 将某些数据从设备复制到主机6. 释放主机和设备内存
}c++ 自定义函数和 cuda 核函数的定义

CUDA 核函数的要求:

  1. 返回类型必须是 void,但是函数中可以使用 return(但不可以返回任何值);
  2. 必须使用限定符 glolbal,也可以加上 c++ 限定符;
  3. 核函数支持 c++ 的重载机制
  4. 核函数不支持可变数量的参数列表,即参数个数必须确定;
  5. 一般情况下,传给核函数的数组(指针)必须指向设备内存(“统一内存编程机制”除外);
  6. 核函数不可成为一个类的成员(一般以包装函数调用核函数,将包装函数定义为类成员);
  7. 在计算能力3.5之前,核函数之间不能相互调用;之后,通过“动态并行”机制可以调用;
  8. 无论从主机调用还是从设备调用,核函数都在设备中执行(“<<<,>>>”指定执行配置)。

自定义设备函数

核函数可以调用不带执行配置的自定义函数,即 设备函数。
设备函数在设备中执行、在设备中被调用;而核函数在设备中执行、在主机中被调用。

  1. __global__修饰的函数称为核函数,一般由主机调用、在设备中执行;
  2. __device__修饰的函数称为设备函数,只能被核函数或其他设备函数调用、在设备中执行;
  3. __host__修饰主机段的普通 c++ 函数,在主机中被调用、在主机中执行,一般可以省略;
  4. 可以同时用 hostdevice 修饰函数,从而减少代码冗余,此时编译器将 分别在主机和设备上编译该函数;
  5. 不能同时用 globaldevice 修饰函数;
  6. 不能同时用 globalhost 修饰函数;
  7. 可以通过 noinline 建议编译器不要将一个设备函数当作内联函数;
  8. 可以通过 forceinline 建议编译器将一个设备函数当作内联函数。
    设备函数可以有返回值。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com