3D视觉工坊

GPU高性能编程CUDA实战(二)

2019-04-01  本文已影响1人  3D视觉工坊

原文首发于公众号【视觉IMAX】,GPU高性能编程CUDA实战(二)

前言

在上一篇文章中:CUDA8.0+VS2015+Win10开发环境搭建教程中已经介绍了CUDA工程的配置与安装。本篇文章是对CUDA工程的配置作进一步介绍与补充说明。

CUDA工程的建立(两种方法)

第一种方法:

这种方法在上一篇文章中作了简单介绍,但是尚有不足,此处补全。
按照常规方式,新建一个win32控制台程序,新建一个main.cpp源文件。
右键点击工程——>「生成依赖项」——>「生成自定义」(选择cuda生成)。

在这里插入图片描述
在这里插入图片描述
接下来实施「三步走战略」配置「附加包含目录」、「附加库目录」以及「附加依赖项」。
第一步:配置「附加包含目录」。
在这里插入图片描述
注:对于CUDA Samples,有的电脑安装后的路径会隐藏,我们可以在「开始」按钮处查找,见下图。
在这里插入图片描述
第二步:配置「附加库目录」。
在这里插入图片描述
第三步:配置「附加依赖项」
在这里插入图片描述
最后,验证一下配置是否成功。
在新建的工程main.cpp中输入下述测试代码:
#include "stdafx.h"

#include <iostream>
#include<stdio.h>
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
bool InitCUDA()
{
    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;
}

int main()
{
    if (!InitCUDA())
    {
        return 0;
    }

    printf("HelloWorld, CUDA has been initialized.\n");
    system("pause");
    return 0;
}

运行结果如图所示。


在这里插入图片描述

第二种方法

这种方法,与第一种方法仅在创建工程时存在差异,其他配置方式皆一致。如图:


在这里插入图片描述

经过上述步骤,便完成了CUDA项目工程的搭建,只要在这个框架下实现你的项目需求即可。关于CUDA加速的更多细节,后期将会在知识星球【3D视觉工坊】与公众号【视觉IMAX】中持续总结并与大家分享,感兴趣的小伙伴可以关注。

彩蛋

在公众号【视觉IMAX】后台回复「GPU高性能编程CUDA实战」,即可领取该书籍的中文版pdf。


在这里插入图片描述
上一篇 下一篇

猜你喜欢

热点阅读