- 博客(640)
- 资源 (5)
- 收藏
- 关注
原创 too many blocks in cooperative launch at cudaLaunchCooperativeKernel
因为block dim=704,现在每个SM上已经都有704*2=1408个threads了,现在每个SM还能容纳2048-1408=640个threads,而我们的每个block是704,所以就出现too many error了。这是因为当grid dim固定为256的时候,当block dim=704的时候,每个sm上最多能放2个block,所以最多能launch108*2=216个block,其余的block加载不上去,为什么?当执行到256*704的时候失败,block 不能超过 108。
2024-09-04 16:11:49 1054
原创 Tsan-ThreadSanitizer之As if synchronized via sleep
最近在调试ffmpeg的时候,加入了tsan,结果出现了下面提示:具体什么意思呢,找了很久找到了官方介绍:
2024-08-02 11:31:22 291
原创 ThreadSanitizer: signal-unsafe call inside of a signal
下面的signal handler比如是一个pthread_once().这一类warrning,那么大概率你是犯了下面的错。
2024-07-29 16:58:52 254
原创 MPI hello world SSH 免密互联
目标:我们想实现2台主机免密互联,将跑起来假设hostname是node01,node02,(Linux shell窗口一般是UserName@HostName,node1和node2一定要和HostName一样)使用IP免密登录(用户名相同时,ssh+主机名;如果不同,登录方式就是 ssh+用户名@IP地址)可以参考:https://help.ubuntu.com/community/MpichCluster。
2024-07-04 19:52:55 473
原创 CUDA系列-driver-architecture-0
为什么要费这么大劲把这些整理出来呢?CUDA Driver SW ArchitectureIn a nutshell, the CUDA Driver manages GPU resources and schedules computing tasks on the GPU.The driver provides user APIs to allocate memory on the GPU, to copy data into, out of, and between the allocated mem
2024-06-19 18:18:12 1033
原创 CUDA系列-Mem-9
你可能觉得奇怪,这些不是cuda programming model中的内容啊,其实这是cuda runtimes ,还记得那份泄漏出来的代码吗?This section describes static aspects of the CUSW_UNIT_MEM_MANAGER unit’s architecture.The CUSW_UNIT_MEM_MANAGER provides abstractions for allocating memory by other units of CUDA dr
2024-06-19 17:59:03 1056
原创 CUDA系列-Event-9
**//!//!//!/**//!/**//!//!//!//!//!//!//!//!//!//!//!//!//!//!//!//!//!} capture;} local;//!//!//!??//!//!//!//!} local;//!//!//!} egl;//!//!//!} nvn;/**//!//!//!/**//!/**//!//!//!//!//!//!//!//!//!
2024-06-19 17:36:37 893
原创 CUDA系列-GPFIFO-5
gpfifo是一个基础组件,channel中的FIFO基础,channel就是通过它来作为CPU和GPU之间的通道以及marker的容器。
2024-06-19 14:15:06 603
原创 CUDA系列-Marker-4
The CUSW_UNIT_SYNC unit provides mechanisms to track work completion on GPU, CPU, and other Tegra engines (such as ISP, VIC, PVA, DLA). GPUs use several hardware synchronization primitives for task tracking and synchronization, which are abstracted away in
2024-06-19 11:53:25 145
原创 CUDA系列-Semaphore-3
*** @{//!/**//!/**//!//!/**//!//!//!/**//!/**//!//!/**//!//!//!4/*** @{//!/**//!/**//!//!/**//!//!//!/*** @{//!/**//!/**//!//!/**//!//!//!/*** @{//!/**//!/**//!//
2024-06-19 11:44:19 115
原创 CUDA系列-Stream-1
This section describes static aspects of the CUSW_UNIT_STREAM unit’s architecture.和stream相关的其它Unit主要有Channel,Sync,MemmgrA CUDA stream is a software FIFO queue that allows commands like kernel launch and memcpy to be enqueued in it. The enqueued commands
2024-06-19 11:08:15 301
原创 Execel 数据分析-如何使用筛选-图表-透视图-处理多变量数据集
比如下面的例子,测试GPU的kernel吞吐量,其中stream cnt,grid dim,block dim 产生后面几个变量,latency_per_launch(ns),latency_per_block(ns),latency_per_thread(ns)如果你的数据有很多个变量,比如横轴X有a,b,c,d等几个变量,Y轴也有个变量,那么这时候就用得到。这样可以根据筛选来查看变化趋势图,那么上面的是怎么做到的呢?这里用到了一个关键功能:数据透视功能。其实会自动所有数据,
2024-05-27 13:01:55 284
原创 CPU 性能分析 火焰图 Flame Graph
浏览器打开svg文件,查看顶层的宽度比较大的函数,平顶的表示性能可能存在问题,ctrl +F可以搜索函数名,得到函数的cpu利用率。原文链接:https://blog.csdn.net/muaxi8/article/details/133769264。2.获取Flame Graph。
2024-05-16 16:51:57 328
原创 CUDA入门系列课程,从最基础着手
CUDA入门系列课程,从最基础着手,突出的就是一个字“细”!!github项目包含代码、博客、课件pdf下载地址:https://github.com/sangyc10/CUDA-code!
2024-04-24 20:39:05 357
原创 Linux下GPU虚拟化
首先, mediated 设备框架(mdev),基本上,这部分代码使得内核驱动开始用vfio框架跟接口来支持虚拟pci设备。nvidia 以及intel都采用了这种所谓的mdev机制,将宿主机中的物理GPU分割成多个虚拟设备,以便供多个虚拟机同时使用。第二个, intel 的i915驱动也是采用了mdev初始化支持,当然仍然有很多工作需要去做,例如不能直接登录虚拟机的显示画面,所以必须通过客户机中安装x11vnc或者类似的vnc工具,也有一些稳定性的问题需要解决。在新Linux内核中体验GPU虚拟化。
2024-04-19 17:07:14 363
原创 ubuntu 不产生core dump 文件
发现上面有个双引号,会不会是这里有问题,所以重新设置了一下,把双引号去掉,按照上述操作之后,发现没有什么文件在/corefile中生成。目的:产生coredump 文件。目标机器:UBuntu2004。然后我用下面命令看了一下。
2024-03-28 19:18:25 441
原创 SSH 断开了 - tmux 命令
tmux 是一个终端多路复用器,在终端中可以创建,访问和控制多个终端会话在一个会话中可以打开多个窗口,每个窗口都占据整个屏幕,一个窗口还可以分成多个窗格tmux 让远程终端窗口和会话分离开了,终端窗口关闭时,会话继续在后台运行,新的终端窗口可以随时接入会话,接入之后终端窗口上会显示会话的信息tmux 启动时,会默认创建一个具有单个窗口的会话,在会话屏幕的底部,显示当前会话的信息Linux下 screen 命令的功能与 tmux 命令相似,相比 screen,tmux更易用,功能也更强大安装。
2024-03-24 10:32:08 230
原创 vscode突然连不上服务器了,以前都可以的,并且ssh等其它方式是可以连接到服务器的
过完年回来准备开工干活,突然发现vscode连不上服务器了,奇了怪了,年前都可以的,看了一下报错,如下,发现原来是code-server执行不起来。需要glic2.28而实际上的是2.27,嗯哼,原因找到了。当然它并没有解决我的问题,但是却让我发现了问题所在,我在win10系统命令窗口中输入,因为我服务器不能动,所以采用了另外一种方案,给vscode降低版本,想想就扯淡,百度了一下,搜索到一篇文章具有很大参考价值,vscode官方解决方案,然后在服务器中执行,
2024-02-19 11:14:11 2139 1
原创 ffmpeg编译cuvid的时候:ERROR: cuvid requested, but not all dependencies are satisfied: ffnvcodec
确认安装了,大概率是pkg-config没有安装。首先确认有没有安装nv-codec-header。
2023-12-26 16:25:35 766
原创 如何学习英语
首先写一些自己的感言吧,其实从大学的时候就在不断地听英语,学英语,但是到毕业十几年后,英语一直没起到什么作用,当然最有作用的时候就是几次英语面试吧。工作之后有一段学习英语的经历,当时花费了很多时间看了一些英文名著,听了很多英文有声小说,感觉这应该是自己最大的积累吧,后来还赚么学习一下发音。现在重新要捡起来是因为后期工作中大概率要用得上,不要到时候真的用的时候发现晚了。
2023-12-16 17:40:10 626 1
原创 FFmpeg之AVCodec
这一节是最重要的一节,ffmpeg的解码,还是和以前一样,一定是先来一个上下文context,再一个具体的解码器类。AVCodecContext和下面是一个解码器定义,三部分组成,第一部分是设置参数,第二部分是基类,第三部分是具体实现。如果你要实现自己的一个解码器,实现第三部分的那几个回调函数就可以了。结构体定义函数函数调用逻辑慢慢补充
2023-12-12 14:30:35 999
原创 FFmpeg之HWContextType
具体看看结构体定义吧,一大堆函数指针,这些就是你要实现的,不一定全部要实现,实现你自己想要的就可以了,主要的有transfer_data_to/transfer_data_from,map_to/map_from。仔细看上面函数就发现,全部是device mem操作,大白话说就是ffmpeg通过这套机制来实现D2H或者H2D的操作,别无其它。HWContextType算是ffmpeg中为硬解码第三方接口的一个辅助类,它自己有两个辅助子类。那么它辅助硬解码器做什么呢?我们还是通过英伟达的例子来看。
2023-12-12 14:11:48 980
原创 FFmpeg之AVHWAccel
ffmpeg是通过解码起家,所以它内部有很多自己写的软解码器,在这些软解码器的解码过程当中,比如说对于码流中的某些反量化,反变换等操作,把这些操作挪到一块硬件上,这块硬件就是加速设备。这就是hwaccel加速解码的原理,它是在ffmpeg软解码的基础上将一些特定算法加载到硬件上去做。我们可以看看ffmpeg的h264解码器,红框内部的都是h264解码器的加速插件,NVDEC只是其中之一。可以看看AVHWAccel结构体定义,发现有几个关键的函数指针,这些指针就是你需要去实现的。下面我们就说道说道。
2023-12-12 14:01:37 870
nmon chart 分析工具
2024-05-14
nmon analyser
2024-05-14
oversubscribed command queues in gpus
2023-09-20
这是一款清华大学开发的avs2编解码器,里面有详细的源码
2023-05-17
这是一个国产avs(jizhun)的编码器,是清华大学编写的,效率还可以,大家可以参考
2023-05-17
nvcodec-master.zip
2021-04-14
libxl综合文件.zip
2020-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人