亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用GPU編寫Hello World

發布時間:2022-05-25 11:26:54 來源:億速云 閱讀:248 作者:iii 欄目:大數據

這篇文章主要介紹“怎么用GPU編寫Hello World”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“怎么用GPU編寫Hello World”文章能幫助大家解決問題。

函數聲明

??在GPU編程中,有三種函數的聲明:


Executed onOnly callable from
__global__ void KernelFunc()devicehost
__device__ float DeviceFunc()devicedevice
__host__ float HostFunt()hosthost

這里的host端就是指CPU,device端就是指GPU;使用__global__聲明的核函數是在CPU端調用,在GPU里執行;__device__聲明的函數調用和執行都在GPU中;__host__聲明的函數調用和執行都在CPU端。

并行優化定理

??在講GPU并行計算之前,我們先講一下使用GPU后能提高性能的理論值,即Amdahld定理,也就是相對串行程序而言,并行程序的加速率。

??假設程序中可并行代碼的比例為p,并行處理器數目是n,程序并行化后的加速率為:
怎么用GPU編寫Hello World

GPU Hello World

??Hello World程序是我們學習任何編程語言時,第一個要完成的,雖然cuda c并不是一門新的語言,但我們還是從Hello World開始Cuda編程。

#include <stdio.h>
#include "cuda_runtime.h"
#include "device_launch_parameters.h"

__global__ void hello_world(void)
{
    printf("GPU: Hello world! Thread id : %d\n", threadIdx.x);
}

int main(){
    printf("CPU: Hello world!\n");
    hello_world <<<1, 10>>>();
    // cudaDeviceReset must be called before exiting in order for profiling and
    // tracing tools such as Nsight and Visual Profiler to show complete traces.
    cudaDeviceReset();
    return 0;
}

??程序中的具體語法我們后面會講到,這里只要記住<<<1, 10>>>是調用了10個線程即可,執行上面的程序,會打印出10個GPU的Hello World,這個就是SIMD,即單指令多線程,多個線程執行相同的指令,就像程序中的這個10個線程同時執行打印Hello Wolrd的這個指令一樣。

關于“怎么用GPU編寫Hello World”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

gpu
AI

秦安县| 土默特右旗| 江安县| 子洲县| 伊宁市| 个旧市| 铅山县| 永年县| 连州市| 定兴县| 江永县| 大理市| 庄河市| 淄博市| 丰顺县| 炎陵县| 沅江市| 炉霍县| 南丹县| 米易县| 郸城县| 卫辉市| 淮安市| 新巴尔虎右旗| 金溪县| 南昌县| 大庆市| 呼图壁县| 友谊县| 安阳县| 霍城县| 德江县| 海原县| 电白县| 获嘉县| 东乌珠穆沁旗| 开化县| 乐山市| 敖汉旗| 北流市| 海晏县|