- 博客(947)
- 资源 (6)
- 收藏
- 关注
原创 第95节:多模型多卡推理管理
多模型推理:在同一硬件平台上同时部署多个不同或相同的深度学习模型,满足多任务需求。多卡推理:利用多块 GPU 资源,提升推理吞吐量与并发能力。目标:合理分配 GPU 资源,实现高效、低延迟的推理服务。
2025-09-21 14:15:42
184
原创 第94节:ONNX 模型在 GPU 部署
是一个开源的深度学习模型交换格式,旨在促进不同框架间的模型互操作。由微软、Facebook 和 AWS 等联合开发。支持主流框架如 PyTorch、TensorFlow、Caffe2 等导出与导入。
2025-09-21 14:15:30
215
原创 第93节:深度学习框架 GPU 后端比较(PyTorch vs TensorFlow)
PyTorch:Facebook 开发的动态计算图框架,近年来成为科研与工业界热门选择,强调灵活性和易用性。TensorFlow:Google 开发的静态计算图框架,广泛用于生产环境和大规模部署,现支持动态图(Eager Execution)。两者都支持 GPU 加速,底层均依赖 NVIDIA CUDA、cuDNN 等库。指标PyTorchTensorFlow灵活性高,适合研究和实验较高,支持动态图与静态图性能优化通过 XLA 和 TorchScript 支持静态图优化更强,XLA 加持。
2025-09-21 14:15:16
145
原创 第92节:TensorRT 简介与部署流程
TensorRT是 NVIDIA 提供的高性能深度学习推理优化库,专门针对 GPU 进行模型推理加速,特点包括:高效的网络结构优化和层融合支持 FP32、FP16、INT8 混合精度推理自动调优内存和计算资源支持多种深度学习框架模型导入(TensorFlow, PyTorch via ONNX 等)TensorRT 主要用于在 GPU 上快速、高效地部署训练好的深度学习模型,广泛应用于自动驾驶、视觉识别、语音处理等领域。步骤说明训练模型在 TensorFlow、PyTorch 等框架中。
2025-09-21 14:15:04
102
原创 第91节:GPU 上的批处理与向量化
定义:批处理是指一次性处理多个数据样本的操作,而非单个数据,常见于深度学习训练与推理中的多样本并行。目的提高计算资源利用率减少内存访问延迟提升吞吐量和带宽效率定义:向量化是指在硬件层面一次处理多个数据元素,利用 SIMD(单指令多数据)指令集和硬件特性提高吞吐量。在 GPU 中,向量化通常表现为一次内存访问加载多个数据,或通过数据布局优化实现。
2025-09-21 14:14:51
108
原创 第89节:cuDNN 使用基础
是由 NVIDIA 提供的深度神经网络加速库,基于 CUDA 构建,主要用于:高性能的卷积、池化、归一化、激活等操作支持 Tensor Core 混合精度加速(FP16/TF32)与 TensorFlow、PyTorch、MXNet 等框架集成。
2025-08-16 23:33:58
192
原创 第88节:cuBLAS 简介
cuBLAS是 NVIDIA 提供的基于 CUDA 的 GPU 加速BLAS(Basic Linear Algebra Subprograms)库,用于高性能线性代数运算,广泛应用于深度学习、科学计算、工程仿真等领域。它是 CUDA 平台上的BLAS 实现的 GPU 加速版本,具备以下特点:高度优化,底层使用Tensor Core、共享内存、流水调度等技术完整支持 BLAS Level 1/2/3 接口支持多种数据类型:FP32、FP64、FP16、BF16、INT8 等。
2025-08-16 23:33:44
173
原创 第87节:使用 Tensor Core 进行矩阵乘法
Tensor Core 的目标是加速,特别适用于深度学习训练与推理场景。本节重点讲解如何使用 Tensor Core 实现矩阵乘法。
2025-08-16 23:33:31
160
原创 第86节:Tensor Core 架构解析
特性描述首次引入Volta 架构(V100)发展历程加速对象GEMM、矩阵乘加、深度学习卷积支持数据类型FP16, BF16, TF32, FP8, INT8, INT4(取决于架构)
2025-08-16 23:33:16
223
原创 第85节:OpenCL 与多设备协同(Multi-Device Collaboration in OpenCL)
OpenCL 支持在多个设备(如多个 GPU、CPU、FPGA)之间进行并行任务调度。掌握多设备协同可以充分利用系统的所有计算资源,提升计算性能和资源利用率。
2025-08-16 23:33:04
135
原创 第84节:OpenCL 性能优化策略
性能优化是高效使用 OpenCL 的关键。由于 OpenCL 是跨平台的通用计算框架,它的优化策略涉及主机、设备、内存、计算结构、线程组织等多个维度。
2025-08-16 23:32:51
156
原创 第83节:OpenCL 同步机制
OpenCL 支持多种同步机制,用于保证不同命令之间、主机与设备之间、线程间的执行顺序与数据一致性。理解同步机制是实现正确且高效并行程序的关键。许多命令都可以传入::表示当前命令要等待的事件:输出当前命令的事件句柄,可用于后续同步cl_event write_event;clEnqueueWriteBuffer(queue, buffer, CL_FALSE, 0, size, data, 0, NULL, &write_event);cl_event kernel_event;clEnq
2025-08-16 23:32:36
95
原创 第82节:OpenCL 缓冲区管理
OpenCL 中的缓冲区(Buffer)是主机和设备之间传递数据的核心机制。理解缓冲区的创建、读写、映射以及释放过程,对于 OpenCL 编程至关重要。
2025-08-16 23:32:24
74
原创 第81节:OpenCL 线程模型
OpenCL 的线程模型定义了在并行计算中,线程如何组织、分组与调度。理解 OpenCL 的线程模型(NDRange、工作项、工作组)是高效并行编程的关键。
2025-08-16 23:32:08
153
原创 第80节:OpenCL 内核编译与运行
/ 内核代码字符串。// 等待所有指令完成。3. 创建命令队列(Command Queue):支持 1D、2D、3D 的线程分布。4. 编写并构建内核(Kernel)内核代码写在字符串中,或单独存储为。1. 获取平台与设备(前一节已讲)2. 创建上下文(Context):每个工作组的线程数;5. 分配内存缓冲区。
2025-08-16 23:31:56
120
原创 第79节:OpenCL 平台与设备管理
OpenCL 平台是 OpenCL 运行时环境的抽象,代表一组计算设备及其资源。每个平台对应一个或多个设备,如 CPU、GPU、加速器等。应用程序需要查询并选择合适的平台与设备进行计算任务。
2025-08-16 23:31:43
75
原创 第78节:OpenCL 与 CUDA 区别
OpenCL和CUDA都是用于 GPU 通用计算的编程框架,但设计理念、支持平台、编程模型等方面存在显著差异。了解它们的区别有助于选择合适的工具进行 GPU 加速开发。适用场景说明OpenCL需要跨平台、多硬件支持,异构计算环境CUDA专注 NVIDIA 硬件,追求最高性能和成熟工具。
2025-08-16 23:31:32
178
原创 第77节:OpenCL 简介与架构
是一个开放、跨平台的并行计算框架,由 Khronos Group 维护。旨在支持 CPU、GPU、FPGA 以及其他异构计算设备上的通用并行计算。提供统一的编程接口,实现跨硬件的可移植性。
2025-08-16 23:31:18
304
原创 第76节:光线追踪与 GPU 加速实现
光线追踪(Ray Tracing)是一种模拟光线传播路径以生成高度真实感图像的渲染技术。通过追踪光线与场景中物体的交互,计算光的反射、折射和阴影等效果。
2025-08-16 23:31:04
261
原创 第75节:GPU 实时渲染基本流程
实时渲染指的是计算机图形系统能够在用户交互或动画中,快速生成图像的过程,通常要求每秒刷新多帧(如60FPS及以上),保证画面流畅。
2025-08-14 21:46:54
135
原创 第74节:Vulkan Compute 管线
Vulkan Compute 管线是 Vulkan API 用于执行计算任务的独立渲染管线。它专注于通用计算,与图形渲染管线分开,支持高效并行计算。
2025-08-14 21:46:41
101
原创 第73节:OpenGL 计算着色器(Compute Shader)
计算着色器是 OpenGL 4.3 引入的一种可编程着色器类型,专门用于通用计算任务。它不属于传统的图形渲染管线,而是作为独立的计算单元执行并行计算。
2025-08-14 21:46:27
192
原创 第72节:GLSL/HLSL vs CUDA 编程差异
和是图形着色器语言,专用于编写 GPU 上的图形渲染着色器程序。CUDA是 NVIDIA 提供的通用并行计算平台和编程模型,用于在 GPU 上执行大规模通用计算任务。
2025-08-14 21:46:12
184
原创 第71节:GPGPU(通用计算)原理
利用图形处理单元(GPU)进行除图形渲染外的通用计算任务,发挥 GPU 强大的并行计算能力,处理科学计算、机器学习、图像处理等领域。
2025-08-14 21:45:58
289
原创 第70节:Vulkan 概述
Vulkan 是一种现代化、跨平台的低开销图形和计算 API,由 Khronos Group 维护。它旨在提供更接近硬件的控制,降低驱动程序开销,提升多线程和并发性能。
2025-08-14 21:45:45
411
原创 第69节:DirectX 与 HLSL 简介
DirectX是微软开发的一套多媒体应用编程接口(API),主要用于处理图形、音频、输入设备等。在图形渲染方面,DirectX 提供高性能的 3D 图形绘制能力,广泛应用于游戏和图形软件开发。是微软为 Direct3D 设计的高级着色器语言。类似于 GLSL,HLSL 用于编写顶点着色器、像素着色器和计算着色器,实现 GPU 上的可编程渲染管线。
2025-08-14 21:45:30
109
原创 第68节:OpenGL 管线基础
OpenGL 管线(Graphics Pipeline)是图形渲染过程中一系列固定或可编程的步骤,负责将几何数据转化为最终屏幕上的像素图像。它是图形渲染的核心流程。
2025-08-14 21:45:16
69
原创 第67节:GPU 图形 vs 通用计算
GPU 图形计算(Graphics Processing)主要指 GPU 用于图形渲染和图像处理的专用计算任务,如光栅化、着色器计算、三角形处理等。GPU 通用计算(GPGPU,General-Purpose GPU Computing)利用 GPU 强大的并行计算能力,处理非图形领域的计算任务,如科学计算、机器学习、数据分析等。
2025-08-14 21:45:00
151
原创 第66节:负载均衡策略
负载均衡是指在 GPU 并行计算中,将计算任务均匀分配给各个线程或线程块,避免某些线程或线程块工作过载而其他处于空闲状态,从而提升整体性能和资源利用率。
2025-08-14 21:44:46
84
原创 第65节:线程束(Warp)调度优化
Warp 是 GPU 中的基本执行单元,通常由32 个线程组成;这些线程在硬件中以 SIMD(单指令多数据)方式同步执行相同指令;Warp 是 GPU 线程调度和执行的最小单位。
2025-08-14 21:44:32
253
原创 第64节:多核调度调优策略
现代 GPU 包含多个流式多处理器(SM,Streaming Multiprocessors),每个 SM 可以独立调度多个线程块。多核调度优化指合理分配和调度线程块及资源,提升多个 SM 的协同效率和整体吞吐量。
2025-08-14 21:44:16
142
原创 第63节:数据访问模式剖析
数据访问模式是指程序在执行过程中对内存地址的访问方式,包括访问顺序、访问局部性和访问并发性等。在 GPU 编程中,合理的数据访问模式对性能影响极大。
2025-08-14 21:44:02
88
原创 第62节:Launch Configuration 选择
Launch Configuration 指的是 CUDA 内核启动时设置的**线程块数量(Grid Size)和线程块内线程数(Block Size)**的配置参数。正确选择 Launch Configuration 是提升 GPU 程序性能的关键。
2025-08-14 21:43:48
165
原创 第61节:Occupancy(占用率)优化技巧
Occupancy 指的是 GPU 上活跃的线程数与该设备理论上最大支持线程数的比例。高占用率意味着 GPU 计算单元被充分利用,从而提升并行性能。
2025-08-14 21:43:33
260
原创 第60节:内核粒度调优
内核粒度调优是指对 CUDA 内核函数(Kernel)进行细粒度性能优化,通过合理配置线程块大小、线程数量、资源使用,提升单个内核的执行效率和整体 GPU 利用率。
2025-08-13 18:50:30
81
原创 第59节:指令级并行优化
指令级并行是指处理器能够同时执行多条指令的能力,通过指令重排和流水线技术,充分利用硬件资源,提高执行效率。GPU 内核代码中提升 ILP 能够增加执行单元的利用率,减少等待时间。
2025-08-13 18:50:08
102
原创 第58节:识别瓶颈:计算 vs 内存 vs PCIe
若内核执行时间长,查看 Nsight Compute 指标,若内存带宽利用率高,判定内存瓶颈;GPU 的计算单元(CUDA 核心)达到饱和,性能受限于计算能力。访问内存(全局内存、共享内存等)成为限制性能的主要因素。优化内存访问模式(合并访问Coalescing),若内存带宽利用率低但执行时间长,考虑计算瓶颈。使用共享内存和常量内存,减少全局内存访问,减少数据传输量,使用统一内存或 P2P。内核执行时间被全局内存访问延迟拖慢,内核执行时间长但内存带宽利用率低,高内存带宽利用率但计算单元空闲,
2025-08-13 18:49:40
128
原创 第57节:Nsight Systems 与 Nsight Compute
系统级性能分析工具,聚焦应用的整体执行流,包含 CPU、GPU、操作系统等的事件;:GPU 内核级性能分析工具,深入分析 CUDA 内核的性能细节。
2025-08-13 18:49:12
426
原创 第56节:CUDA Profiler 使用
CUDA Profiler 是 NVIDIA 提供的性能分析工具,用于检测和分析 CUDA 程序的性能瓶颈,帮助开发者优化 GPU 代码。nvprof(命令行性能分析器,已被弃用);(内核性能分析器);(系统级性能分析器);工具名称功能描述适用场景nvprof命令行性能采集和分析工具简单快速性能采集,已逐步被替代内核级详细性能分析深入分析单个内核性能瓶颈跨 CPU-GPU 的系统级性能分析追踪应用整体执行流与并发情况。
2025-08-13 18:48:52
177
FreeWorld库,附加示例教程
2023-06-28
基于VTK 牙龈生成算法
2025-06-23
vtkPolyData模型压缩技术,压缩包内提供了draco静态库,以及测试程序和模型、以及源码 VS2019编译
2025-06-21
基于Qt开发的图形化界面
2025-06-18
c++写的,参数化曲线计算 源码,不依赖任何库
2025-06-18
VS2019编译 x64 OpenSceneGraph3.7 osgearth-3.4 osgQt sqlite3 release-1911-x64-gdal-3-0-4-ma
2025-06-14
VTK 常用API示例代码
2025-06-01
各种类型的标定板PDF
2025-01-10
CCCoreLib源码、lib、dll(vs2019编译器)适用于QtCreator工程打开
2023-06-28
Qt Creator+opengl实现四元数鼠标控制轨迹球
2014-03-14
QT对XML增删查改读取,节点自定义,键值自定义
2014-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅