CUDA(4)之指標的認識

2021-07-11 18:07:52 字數 911 閱讀 8393

摘要

本文的主要目的是認識指標。

1. 指標的含義

指標是一種資料型別!

指標和其他資料型別(double, float, int...)一樣需要占用記憶體空間;通常情況下,double占用8個位元組,float占用4個位元組,int占用4個位元組,指標占用2個位元組。

指標和其他資料型別一樣同樣有值,唯一不同的是指標這種資料型別的值存放的是位址。

2. 指標中的符號

& 獲取物件的位址。

* 取出指標變數存放位址指向的值。

注意,&獲取記憶體位址意思非常顯然,*的用法一開始會出現混淆的問題。下面我們解決這個問題。

3. 解決指標符號*使用的問題

如圖3所示,指標*p的賦值語句,p = value,該語句value賦到了valuea。*是取值操作,*p取出的值是valueb。

4. 看懂圖3之後,下邊的例子就非常容易理解了。

char stuname, name; // 定義字串變數stuname, name

char *pstu; // 定義指向字元型變數的指標pstu

char *pnew; // 定義指向字元型變數的指標pnew

pstu = &stuname; // 取變數stuname的位址,並賦予指標變數pstu

pnew = pstu; // 把指標變數pstu的值賦給pnew

name = *pnew; // 把pnew指向的記憶體單元的值賦給變數name

CUDA 4 初探平行計算

本文將計算兩個向量 陣列 的和。分別在cpu和gpu上進行計算。平行計算 include include include using namespace std define n 200000 void add cpu int a,int b,int c global void add int a,...

顯示卡,驅動和CUDA的認識

之乎 顯示卡 gpu 主流是nvidia的gpu,深度學習本身需要大量計算。gpu的平行計算能力,在過去幾年裡恰當地滿足了深度學習的需求。amd的gpu基本沒有什麼支援,可以不用考慮。驅動 沒有顯示卡驅動,就不能識別gpu硬體,不能呼叫其計算資源。但是呢,nvidia在linux上的驅動安裝特別麻煩...

關於指標的認識

在寫圖的鄰接矩陣轉化為圖的鄰接表儲存時,碰到了乙個問題,為每個節點建立好vnode之後,每個節點的arcnode無法正確建立。在除錯的過程中,發現程式有新建節點的操作,但是沒有與之前的鍊錶指標關聯,這個問題本質上是線性表的建立問題。尋找程式的錯誤,發現首先是新建操作的p節點沒有回到起始位置,也就是沒...