cuda学习日记

    科技2022-08-01  110

    cuda学习日记_1005

    主题:HelloWorld 实现

    代码转载:

    #include <stdio.h>

    #include <stdlib.h>

    #include <cuda_runtime.h>

    __global__ void helloWorld()

    {

    printf("Hello! I am GPU!\n");

    }

    int main(void)

    {

    helloWorld<<<2, 4>>>(); //1 grid, 2 blocks and 4 threads

    cudaDeviceSynchronize();

    cudaDeviceReset();

    system(pause);

    }

     

    key point:

    1. system(pause)对应的头文件为:stdlib.h

    2. global 关键字的识别/函数cudaDeviceSynchronize,必须添加:runTime运行时库

    3. 补充cudaDeviceSynchronize函数(运行时API函数)的目的:

    在使用内核调用使得主机和设备同步之后,可确保在从内核返回到主机之前,已清空printf函数的输出流。 如果没有这样的同步,主机将不会等待内核执行完成,并且消息也不会输出到控制台。

    4. gird中的每个block都是独立的,因而输出结果中,block的index可为0,可为1

    Processed: 0.010, SQL: 8