发现在目录 \NVIDIA GPU Computing Toolkit\CUDA\v5.5\include下有很多头文件,CUDA提供多种API,书上说这些API从高层到底层包括:1.数据并行C++ Thrust API;2.可用于C或C++的 Runtime API;3.可用于C或C++的 Driver API。问题:
[list=1]
[]使用这些API下对应的库函数,应该包含什么头文件?
[]能否提供一个总的函数库电子手册?
[]在网上看到有人说使用CUDA标准runtime函数不需要include任何头文件,是不是runtime API下的所有函数都可以不用包含任何头文件?如果是的话,原因是啥呢?
[]以前的书上说过CUDA有个实用库CUTIL,但是在网上查了一下,说是新版本的Cuda不支持cutil.h、cutil_inline.h、cutil_gl_inline.h、cutil_gl_error.h、cutil_match.h等文件 ,而是替换为在目录\CUDA Samples\v5.5\common\inc下的helper_cuda.h, helper_cuda_ gl.h, helper_cuda_drvapi.h, helper_functions.h, helper_image.h, helper_math.h, help er_string.h, and helper_timer.h。如果是这样的话,原来包含cutil.h现在应改为包含什么?
[/list]谢谢!
考虑到你在询问这个问题,所以我就假设了你对这些都不熟悉。
既然如此,你只需要#include <cuda_runtime.h>。
但实际上,你在VS里编译贵.cu文件的时候不需要#include <cuda_runtime.h>,因为默认这个会被自动包含的。
当某一天你的知识层次到了需要使用driver api的时候, 你届时自然会知道需要#include <cuda.h>,因为在driver api的介绍中有提到,你看了driver api后,自然你也知道。如果你不知道,证明你真的不需要。
cutil是仅供CUDA Examples中使用的一些辅助函数,请不要使用他们中的任何一个。
嗯,确实不熟悉,谢谢玫瑰!
顺便补充一下玫瑰斑竹:
LZ可以在CUDA Toolkit Reference Manual(CUDA API Reference Manual)中找到Runtime API和Driver API的函数说明,其他库如cuFFT,cublas等的函数说明都在各自的手册中。
所有这些手册都随CUDA Toolkit免费发放,如果LZ安装了CUDA Toolkit,就能直接在自己的硬盘上找到。
祝LZ好运~
嗯,我找过了,谢谢ice哥:)