• 玩玩CUBLAS(1)——hello cublas


    /*=======================================================================

    * 度假中,在青岛这块曾经应该很熟悉的土地上,另一半在围着病人们转悠

    * 所以自己在酒店里,也不想出去,听听歌,写写文章。

    =======================================================================*/

    cublas是NVIDIA的一个GPU的blas库,提供的计算函数都在GPU上执行。

    本文是cublas库介绍的第一篇文章,我们从基本开始学起。本文主要学习如何配置使用cublas的环境,并写一个hello cublas的小程序。


    1.1 平台配置

    硬件要求:GPU支持CUDA,并且计算能力越高越好,至于如何知道GPU的计算能力,请移步这里,当然,计算能力不能代表你的显卡的性能,这一点应该注意。

    软件要求:操作系统使用Windows 7,因为Linux上的配置比Windows简单点,所以我在这里选择用Windows写。需要Visual Studio,最好是9.0(VS2008)之后的版本。我使用VS10.0(VS2010),为例讲解。CUDA toolkit 5.0。


    1.2 CUBLAS环境配置

    第一步:创建一个新的win32控制台应用程序(win32 console application)空项目,如图1所示。这里我添加一个新的cublas01项目。


    图1 创建空项目


    第二步:添加新建源程序,如图2所示,这里源文件我起名为cubals00.c (啥名没啥可说的,我自己老想从0开始,写C写多了。。)


    图2 添加新文件


    第三步:添加包含库目录,就是包含cublas头文件的目录,这样是为了能让VS在编译的时候能找到相应的头文件,如图3所示。这里我使用宏变量,这样会增加程序的可移植性。


    图3,添加include路径


    第四步:添加库目录,这一步添加的目录里面包含了cubals的静态库,同样也使用宏变量,看图4。在链接器中添加cublas.lib的依赖。


    图4 添加lib路径


    图5 添加附加依赖项


    第五步:写点代码测试下环境是否配置成功。

    将下面的代码贴到cubals01.c文件中。

    /*
    * test for cublas
    */
    #include <stdio.h>
    #include <stdlib.h>
    #include "cublas_v2.h"
    int main(int argc, char **argv)
    {
    	cublasHandle_t cubhandle;
    	int version;
    	cublasCreate(&cubhandle);
    	cublasGetVersion(cubhandle, &version);
    	printf("hello cublas v %d\n", version);
    	cublasDestroy(cubhandle);
    	return 0;
    }


    生成项目,如果生成失败,请把你的问题给我留言。


    执行,你可以两种方式测试:方式一,直接在VS中按下F5;方式二,在CMD下执行。他们的区别我不确定,但是这样是为了以防万一。


    如果执行时说缺少某个DLL,你有两个方案可选,不管怎样你必须在你的计算机里找到这个dll,方案一,将此dll拷贝到你的可执行文件目录下,方案二,在把dll的目录添加到环境变量PATH中。


    一切OK了。


    第六步,看看我的执行结果。







  • 相关阅读:
    centos7网络配置
    centos7安装gitlab错误解决
    数据库事务的隔离级别
    数据库事务的特性
    windows系统下安装redis扩展
    windows 7搭建基于docker的nginx, php运行环境
    php foreach 引用注意
    mysql远程连接10038
    mysql忘记root密码
    phpstorm添加sdk
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3063554.html
Copyright © 2020-2023  润新知