这一部分是CUDA的核心部分,涉及到了硬件和程序的执行模型。 SM 流式多处理器(Stream Multi-processor,SM)是构建整个GPU的核心模块。GPU的硬件并行,是通过复制了多个SM来实现的。一个Block只能在一个SM上被调度。 下图包含了SM的关键组件 CUDA核心 (Core
CUDA编程结构 在GPU上执行的函数称为CUDA核函数(Kernel Function),核函数会被GPU上多个线程执行。典型的CUDA程序遵循如下模式: 把数据从CPU内存(HOST)拷贝至GPU内存(DEVICE) 调用该Kernel函数,对DEVICE中的数据进行操作 将数据从DEVICE传
写在前面(废话,请跳过) 本来自己的脑子里是不存在CUDA编程这个东西的,没错,就是压根儿没听说过。 之所以了解到这个东西,是因为最近开始做AVM (Around View Monitor),或者说SVS (Surrounding View System),利用4个广角相机,实现车辆周围的360°环
写在前面 现在车上有7个相机,如果想要用OpenCV同时读取这些相机的画面的话,实例化7个 VideoCapture是没有问题的,虽然会涉及到多线程的问题,但是多线程我还不会(ciao,是反废话)。直接实例化多个 VideoCapture未免有些显得技术力过低,因此使用 vector容器来存放读取的
写在前面 YOLOv8 是 Ultralytics 公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本,目前支持目标检测,目标分割,物体分类和姿态估计。 很多YOLO介绍blog会附上下面的结构图,虽然99%的人不会去看,而且我也是那99%的其中一员,不过为显专业(啊这该
编译程序的时候,在链接库 ADD_LIBRARIES 踩到了大坑。 所以决定重新认真的好好学一下CMakeLists怎么编写。 编写 CMakeLists.txt最常用的功能就是调用其他的.h头文件和.so/.a库文件,将.cpp/.c/.cc文件编译成可执行文件或者新的库文件。 每日一问:领导给买
每日一问:我学PCL了吗?领导给批显卡了吗? :没有 为什么要订阅数组型消息 比如在这个场景下:YOLO在场景中检测到多个目标,并通过其他算法得到了目标的ID,class,位置,速度等信息。这些信息会作为避障或局部路径规划的依据。一台自动驾驶汽车或机器人上的其他算法模块也可能需要这些信息,这种时候会
写在前面:Ubuntu20.04 对应ROS版本为 Noetic。 每日一问:亲爱的领导什么时候才能让我用PCL和ROS2 并给我配一张显卡捏? 新建ROS工作空间和功能包 创建新的工作空间 # home目录递归创建工作空间,也可以是任何你想创建ws的地方 mkdir -p ~/catkin_ws/