CUDA库的通用工作流程

1.创建一个函数库句柄

句柄包含了库的一些上下文信息,如使用的数据结构格式,用于计算的设备端的使用。

2.分配设备内存

一般使用cudaMalloc分配设备内存,在使用多GPU编程库时,需要使用API来分配设备内存。

3.将输入数据转换为函数库支持的格式

如程序的数组是行优先,但是cuda库只接受按列优先存储的数组,这种时候就要进行数据转换了,但是也可以在创建的时候保持与cuda库的数据格式一致。

4.将输入数据传送到设备内存

在使用cublas库时,使用的就是cublasSetVector。

5.配置函数库

一般情况下只是传递一些需要的参数。

6.执行

7.取回设备内存中的结果

8.将数据转换为原始格式

9.释放cuda资源

发布了12 篇原创文章 · 获赞 8 · 访问量 5802

猜你喜欢

转载自blog.csdn.net/m0_37772527/article/details/103075088