真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么用GPU編寫HelloWorld

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

創(chuàng)新互聯(lián)是專業(yè)的富寧網(wǎng)站建設(shè)公司,富寧接單;提供網(wǎng)站建設(shè)、網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行富寧網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

函數(shù)聲明

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


Executed onOnly callable from
__global__void KernelFunc()devicehost
__device__float DeviceFunc()devicedevice
__host__float HostFunt()hosthost

這里的host端就是指CPU,device端就是指GPU;使用__global__聲明的核函數(shù)是在CPU端調(diào)用,在GPU里執(zhí)行;__device__聲明的函數(shù)調(diào)用和執(zhí)行都在GPU中;__host__聲明的函數(shù)調(diào)用和執(zhí)行都在CPU端。

并行優(yōu)化定理

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

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

GPU Hello World

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

#include 
#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>>>是調(diào)用了10個(gè)線程即可,執(zhí)行上面的程序,會打印出10個(gè)GPU的Hello World,這個(gè)就是SIMD,即單指令多線程,多個(gè)線程執(zhí)行相同的指令,就像程序中的這個(gè)10個(gè)線程同時(shí)執(zhí)行打印Hello Wolrd的這個(gè)指令一樣。

關(guān)于“怎么用GPU編寫Hello World”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點(diǎn)。


新聞標(biāo)題:怎么用GPU編寫HelloWorld
當(dāng)前URL:http://weahome.cn/article/pjgjgd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部