cuda学习笔记

这篇CUDA学习笔记详细介绍了CUDA的学习平台搭建,重点讲解了CUDA的线程模型,包括线程索引、线程开辟和多维数据线程调用。此外,还探讨了矩阵乘法的实现,尤其是使用全局内存和共享内存。笔记中还涵盖了CUDA的基本架构,如共享内存、常量内存和纹理内存的使用,并简单介绍了CUDA流和如何使用事件进行程序计时。
摘要由CSDN通过智能技术生成

cuda学习笔记

标签(空格分隔): 学习笔记


一、学习平台

1.1学习平台搭建与学习平台基本信息

1.1.1学习平台搭建

此篇文档的整理基于nvidia公司出品的GeForce GTX 950 GPU,在电脑主机当中安装好独立显卡之后,安装cuda7.0至软件盘(不用再单独安装显卡驱动程序)。在vs下新建cuda工程,就可以编写cuda程序了。

1.1.2学习平台基本信息

在编写cuda程序时,程序的头文件应该包括 “cuda_runtime.h”和”device_launch_parameters.h”;以下一段代码用来查看显卡gpu的计算性能和架构

int main()
{
    cudaDeviceProp prop;

    int count;
    cudaGetDeviceCount(&count);

    for (int i = 0; i < count; ++i){
        cudaGetDeviceProperties(&prop, i);
        printf("     --- Genaral Information for Device %d ---\n", i);
        printf("Name : %s\n",prop.name);
        printf("Compute capability : %d.%d\n", prop.major, prop.minor);
        printf("Clock rate:  %d\n",prop.clockRate);
        printf("Device copy overlap: ");

        if (prop.deviceOverlap){
            printf("Enabled\n");
        }
        else{
            printf("Disabled\n");
        }

        printf("Kernel execition timeout : ");
        if (prop.kernelExecTimeoutEnabled)
            printf("Enabled\n");
        else
            printf("Disabled\n");

        printf("  ---Memory Information for Device %d ---\n",i);
        printf("Total global mem: %ld\n",prop.totalGlobalMem);
        printf("Total const mem : %ld\n", prop.totalConstMem);
        printf("Max mem pitch : %ld\n", prop.memPitch);
        printf("Texture Alignment : %ld\n",prop.textureAlignment);


        printf("   ---MP Information for device %d ---\n", i);
        printf("Multiprocessor count : %d\n", prop.multiProcessorCount);
        printf("shared mem per mp: %d\n", prop.sharedMemPerBlock);
        printf("Register per mp: %d\n",prop.regsPerBlock);
        printf("Threads in warp: %d\n", prop.warpSize);
        printf(" Max threads per block :%d\n", prop.maxThreadsPerBlock);
        printf("Max thread dimentions : (%d, %d, %d)\n", prop.maxThreadsDim[0], prop.maxThreadsDim[1], prop.maxThreadsDim[2]);
        printf("Max grid dimensions:(%d, %d, %d)\n", prop.maxGridSize[0], prop.maxGridSize[1], prop.maxGridSize[2] );

        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值