CUDA8 0 VS2013的安裝和配置

2022-08-24 07:09:09 字數 4429 閱讀 3332

首先宣告,本文借鑑自:

所以,可參考鏈結的博文。但原文有個瑕疵就是,cublas.lib錯寫成了cudlas.lib。

其次,我還是記下我的cuda8.0的安裝和測試過程,是為備忘。

步驟如下:

1.2  安裝。雙擊cuda_7.5.18_win10.exe,一步步來就好。

2.vs2013配置和測試

2.1 重啟計算機。關於是否新增環境變數,筆者安裝的時候系統已自動新增好對應的環境變數,如果沒有,請檢視上文鏈結的博文;

2.2 配置vs。也請參考上述博文,不再贅述。

3.測試

上兩個測試檔案。

3.1

1 #include< stdio.h> 

2 #include "

cuda_runtime.h

"3 #include "

device_launch_parameters.h"4

bool

initcuda() 5

13int

i; 14

for(i = 0; i < count; i++) 15

23}

24}

25if(i ==count) 26

30cudasetdevice(i);

31return

true

; 32

} 33

34int

main() 35

40 printf("

helloworld, cuda has been initialized.\n

");

41return0;

42 }

3.2

1

//cuda runtime 庫 + cublas 庫

2 #include "

cuda_runtime.h

"3 #include "

cublas_v2.h"4

5 #include 6 #include 7

8using

namespace

std;910

//定義測試矩陣的維度

11int

const m = 5;12

intconst n = 10;13

14int

main()

1532

33//

列印待測試的矩陣

34 cout << "

矩陣 a :

"<35for (int i=0; i)

39 cout <40 cout << "

矩陣 b :

"<41for (int i=0; i)

45 cout <4647

/*48

** gpu 計算矩陣相乘

49*/

5051

//建立並初始化 cublas 庫物件

52cublashandle_t handle;

53 status = cublascreate(&handle);

5455

if (status !=cublas_status_success)

5660

getchar ();

61return

exit_failure;62}

6364

float *d_a, *d_b, *d_c;

65//

在 視訊記憶體 中為將要計算的矩陣開闢空間

66cudamalloc (

67 (void**)&d_a, //

指向開闢的空間的指標

68 n*m * sizeof(float) //

需要開闢空間的位元組數

69);

70cudamalloc (

71 (void**)&d_b,

72 n*m * sizeof(float

)

73);

7475

//在 視訊記憶體 中為將要存放運算結果的矩陣開闢空間

76cudamalloc (

77 (void**)&d_c,

78 m*m * sizeof(float

)

79);

8081

//將矩陣資料傳遞進 視訊記憶體 中已經開闢好了的空間

82cublassetvector (

83 n*m, //

要存入視訊記憶體的元素個數

84sizeof(float), //

每個元素大小

85 h_a, //

主機端起始位址

861, //

連續元素之間的儲存間隔

87 d_a, //

gpu 端起始位址881

//連續元素之間的儲存間隔

89);

90cublassetvector (

91 n*m,

92sizeof(float

), 93

h_b, 941

, 95

d_b, 961

97);

9899

//同步函式

100cudathreadsynchronize();

101102

//傳遞進矩陣相乘函式中的引數,具體含義請參考函式手冊。

103float a=1; float b=0

;104

//矩陣相乘。該函式必然將陣列解析成列優先陣列

105cublassgemm (

106 handle, //

blas 庫物件

107 cublas_op_t, //

矩陣 a 屬性引數

108 cublas_op_t, //

矩陣 b 屬性引數

109 m, //

a, c 的行數

110 m, //

b, c 的列數

111 n, //

a 的列數和 b 的行數

112 &a, //

表示式的 α 值

113 d_a, //

a 在視訊記憶體中的位址

114 n, //

lda115 d_b, //

b 在視訊記憶體中的位址

116 m, //

ldb117 &b, //

表示式的 β 值

118 d_c, //

c 在視訊記憶體中的位址(結果矩陣)

119 m //

ldc120

);121

122//

同步函式

123cudathreadsynchronize();

124125

//從 視訊記憶體 中取出運算結果至 記憶體中去

126cublasgetvector (

127 m*m, //

要取出元素的個數

128sizeof(float), //

每個元素大小

129 d_c, //

gpu 端起始位址

1301, //

連續元素之間的儲存間隔

131 h_c, //

主機端起始位址

1321

//連續元素之間的儲存間隔

133);

134135

//列印運算結果

136 cout << "

計算結果的轉置 ( (a*b)的轉置 ):

"<137138

for (int i=0;i)

142143

//清理掉使用過的記憶體

144free

(h_a);

145free

(h_b);

146free

(h_c);

147cudafree (d_a);

148cudafree (d_b);

149cudafree (d_c);

150151

//釋放 cublas 庫物件

152cublasdestroy (handle);

153154

getchar();

155156

return0;

157 }

特別注意,是cublas.lib,不是cudlas.lib

祝好運。

同時安裝CUDA8 0和CUDA9 0

tensorflow1.5版本竟然不支援cuda8.0了 解除安裝是不可能解除安裝的 建議選擇使用.run檔案安裝,因為使用.deb可能會將已經安裝的較新的顯示卡驅動替換。對於cudnn7.0的安裝方式選項,我選擇的是cudnn v7.0.5 library for linux,對應於cudnn 9...

語義SLAM(二)cuda8 0安裝

注 如果你確定你已經正確安裝好nvidia顯示卡驅動,那就不必按ctrl alt f1進入命令列模式,直接在圖形化介面安裝即可,親測可行。cd home sudo chmod 777 cuda 8.0.61 375.26 linux.run 給使用者增加讀寫和執行的許可權 sudo cuda 8.0...

Ubuntu16 06和CUDA8 0的安裝

1.安裝ubuntu16.04,然後製作u 盤啟動盤 推薦製作軟體u 啟動uefi 相比較於14.04 的版本,16.04 不會出現 acpi pcc probefailed 不會出現大問題。2.安裝nvidia的驅動 重點 經過了無數次的重灌系統和重啟,終於摸出了一條可以成功安裝驅動的路子了。總的...