1. 程式人生 > >《CUDA並行程式設計:GPU程式設計指南》筆記 Chaper 4 環境搭建

《CUDA並行程式設計:GPU程式設計指南》筆記 Chaper 4 環境搭建

關於平臺:Windows、Linux、Mac OS都支援

Windows下環境搭建順序:

(1) VS 2010 (必須先安裝VS!,然後再安裝其他) (2) CUDA ToolKit (在9.0版本中,顯示卡驅動以及Nsight偵錯程式都已經整合在ToolKit中一併安裝)

Windows上支援Nsight偵錯程式,這一點極為方便

CUDA程式支援向後相容

通過CUDA檢測本機上的GPU資訊

/************************************************************************/
/* cuda測試                                                                     */
/************************************************************************/
#include <iostream>
#include <cuda_runtime_api.h>
#include <stdlib.h>

bool InitCUDA()
{
    int count;

    cudaGetDeviceCount(&count);//獲得cuda裝置的數量

    if(count == 0)
    {
        std::cout<<"There is no device.\n" ;
        return false;
    }

    int i;

    for(i = 0; i < count; i++)
    {
        cudaDeviceProp prop;//cuda裝置屬性物件

        if(cudaGetDeviceProperties(&prop, i) == cudaSuccess)
        {
            std::cout<<"裝置名稱:"<<prop.name<<"\n" ;
            std::cout<<"計算能力的主代號:"<<prop.major<<"\t"<<"計算能力的次代號:"<<prop.minor<<"\n" ;
            std::cout<<"時鐘頻率:"<<prop.clockRate<<"\n" ;

            std::cout<<"裝置上多處理器的數量:"<<prop.multiProcessorCount<<"\n" ;
            std::cout<<"GPU是否支援同時執行多個核心程式:"<<prop.concurrentKernels<<"\n" ;
        }
    }

    cudaSetDevice(i);//啟動裝置

    return true;
}

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

    std::cout<<"cuda配置成功!\n" ;
	system("pause");
    return 0;
}

剛開始執行可能出現的問題: “致命錯誤LNK1181,無法開啟輸入檔案‘cutil32D.lib’”,參考文獻1

ShaneCook, 庫克, 蘇統華,等. CUDA並行程式設計:GPU程式設計指南[M]. 機械工業出版社, 2014.