first CUDA
来源:互联网 发布:电力大数据应用 编辑:程序博客网 时间:2024/05/16 19:39
#include <stdio.h>
#include <cuda_runtime.h>//要使用 runtime API 的时候,需要 include cuda_runtime.h
bool InitCUDA()//InitCUDA 函式,会呼叫 runtime API 中,有关初始化 CUDA 的功能:
{
int count;
cudaGetDeviceCount(&count);
if(count == 0) {
fprintf(stderr, "There is no device./n");
return false;
}
int i;
for(i = 0; i < count; i++) {
cudaDeviceProp prop;
if(cudaGetDeviceProperties(&prop, i) == cudaSuccess)
{
if(prop.major >= 1) {
break;
}
}
}
if(i == count) {
fprintf(stderr, "There is no device supporting CUDA 1.x./n");
return false;
}
cudaSetDevice(i);
return true;
}
///////////////////////////////
cudaGetDeviceCount 函式,取得支持 CUDA 的装置的数目.
确定系统上是否有支持 CUDA 的装置,需要对每个 device 呼叫 cudaGetDeviceProperties 函式,取得装置的各项数据,并判断装置支持的 CUDA 版本(prop.major 和 prop.minor 分别代表装置支持的版本号码,例如 1.0 则 prop.major 为 1 而 prop.minor 为 0).除了装置支持的 CUDA 版本之外,还有装置的名称、内存的大小、最大的 thread 数目、执行单元的频率等等。
在找到支持 CUDA 1.0 以上的装置之后,就可以呼叫 cudaSetDevice 函式,把它设为目前要使用的装置.
最后是 main 函式。在 main 函式中我们直接呼叫刚才的 InitCUDA 函式,并显示适当的讯息:
int main()
{
if(!InitCUDA()) {
return 0;
}
printf("CUDA initialized./n");
return 0;
}
- first CUDA
- CUDA
- CUDA
- CUDA
- CUDA
- CUDA
- CUDA
- CUDA
- CUDA
- cuda
- cuda
- cuda
- Cuda
- cuda
- CUDA
- cuda
- CUDA
- CUDA
- Android下拉刷新库,利用viewdraghelper实现,集成了下拉刷新,底部加载更多,数据初始加载显示loading等功能
- UGUI之精灵的创建与打包
- c++学习5
- iOS开发之详解正则表达式
- [BZOJ2428] [HAOI2006]均分数据 && 模拟退火
- first CUDA
- 小菜学Chromium之OpenGL学习之二
- 使用SharedPreference存储数据
- Python与Qt
- 出现error:unknown filesystem grub rescue解决办法
- 第26章 MYSQL Administrator
- 常用算法总结
- 【二毛分享】爱站SEO教程分享
- MySQL ERROR2013完美解决方案