了解cuda和显卡等基本概念

1.如何运行
  • make run
2.显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么?
  • 关于显卡驱动与cuda驱动的版本匹配

  • 简单了解显卡相关概念
    • 显卡:GPU
    • 显卡驱动:驱动软件,类比声卡驱动,摄像头驱动
    • GPU架构:gpu架构指的是硬件的设计方式,例如是否有L1 or L2缓存
    • CUDA: 其中一种理解是它是一种编程语言(像c++,python等,只不过它是专门用来操控GPU的)
    • cudnn: 这个其实就是一个专门为深度学习计算设计的软件库,里面提供了很多专门的计算函数
    • CUDAToolkit:这是我们真正需要首先安装的工具包,所谓的装cuda首先指的是它
    • 它里面包含了许多库,例如:cudart, cublas等
    • 其他涉及到的知识有nvcc与nvidia-smi, 多个 cuda 版本之间进行切换, cuda的安装等
    • 详细请参考: https://zhuanlan.zhihu.com/p/91334380
3.cuda-driver-api 与 cuda-runtime-api
  • CUDA Driver与CUDA Runtime相比更偏底层,就意味着Driver API有着更灵活的控制,也伴随着更复杂的编程
  • 因此CUDA driver需要做显式的初始化cuInit(0),否则其他API都会返回CUDA_ERROR_NOT_INITIALIZED
  • 经过初始化后驱动和显卡的信息可以轻松获取:
    • 驱动版本管理 https://docs.nvidia.com/cuda/archive/11.2.0/cuda-driver-api/group__CUDA__VERSION.html#group__CUDA__VERSION
    • 设备信息管理 https://docs.nvidia.com/cuda/archive/11.2.0/cuda-driver-api/group__CUDA__DEVICE.html
4.写在文末 5.C++基础(供C++小白参考) 5.1 编译基础知识
  • “c++脚本程序写完之后,并不能直接运行,需要进行编译,转成.o文件,再链接才能运行”
5.1.1 单文件或少文件编译
  • 源文件[.c/cpp] -> Object文件[.o]
g++ -c [.c/cpp][.c/cpp]... -o [.o][.o]... -I[.h/hpp]
g++是编译命令 -c,-o,-I是选项 -c接源脚本文件 -o接目标文件 -I接头文件
(-c c++ /-o object/ -I include)
5.1.2 多文件编译(使用Makefile 和 CMake)
  • cmake比Makefile高级,但是两者的功能都是快速地进行批量的编译(因为当你有很多的c++源文件的时候,一个一个地去用g++去编译是很麻烦的)

  • makefile详情参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@BangBang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值