91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么用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

大田县| 万年县| 湖南省| 福海县| 沙湾县| 雅江县| 忻城县| 汝州市| 略阳县| 垣曲县| 溆浦县| 金堂县| 加查县| 伊宁县| 大竹县| 河池市| 沈丘县| 泰兴市| 太保市| 炉霍县| 平谷区| 泸定县| 大石桥市| 高州市| 汤阴县| 甘肃省| 昭苏县| 连江县| 萨迦县| 建宁县| 雷州市| 长宁县| 宁河县| 林西县| 横峰县| 安仁县| 绥阳县| 县级市| 民乐县| 宝坻区| 喀什市|