自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (3)
  • 收藏
  • 关注

原创 安装与体验 Claude code、CC Switch、SuperPowers

本文介绍了Claude Code AI编程工具的安装与使用指南。主要内容包括:1)Claude Code作为智能体工具的定位,支持项目级代码协作;2)两种安装方式(VSCode插件和Windows独立安装)及配置说明;3)推荐使用CC Switch工具管理多API切换;4)Superpowers插件的安装,该插件为AI添加完整工程化工作流能力,遵循TDD等最佳实践。文章提供了详细的配置示例和截图指引,帮助开发者快速搭建AI编程环境并优化输出质量。

2026-05-17 15:48:40 777

原创 9、并行实现 Histogram

本文介绍了并行实现直方图(Histogram)的优化方法。首先分析了简单并行实现中可能出现的数据竞争问题,比较了锁机制和原子操作的优劣,指出原子操作更适合GPU并行环境。针对原子操作的高延迟问题,提出了私有化(Privatization)和粗化(Coarsening)两种优化策略:私有化通过维护多个私有副本来减少全局内存竞争;粗化则让每个线程处理更多数据,减少全局原子操作次数。这些方法通过利用共享内存等特性,有效降低了全局内存访问的开销,提升了并行直方图计算的性能。

2026-02-24 22:43:15 70

原创 8、规约(reduction)

本文介绍了CUDA编程中的规约(reduction)优化技术。规约是将数组元素聚合为单一值的操作,如求和、求极值等。文章从串行规约开始,逐步介绍了原子级并行规约、分段规约等实现方法,并分析了其性能问题。重点讨论了使用内存粗化、共享内存和线程粗化等技术来优化规约性能的方法,包括解决非合并访问、控制流分散等问题。通过合理的数据重组和线程调度,可以显著提高规约操作的并行效率。这些优化技术在CUDA并行编程中具有重要的实践价值。

2026-02-24 22:39:55 254

原创 7、并行实现卷积

本文介绍了GPU上并行实现卷积运算的优化方法。首先分析了卷积运算的基本原理和并行化思路,即每个线程计算一个输出元素。然后提出使用常量内存存储卷积核权重以提高访问效率。进一步优化利用共享内存实现数据重用,通过分块(tiling)技术减少全局内存访问。文章详细阐述了输入输出块尺寸关系、边界条件处理等问题。性能分析表明,采用分块技术后,全局内存访问效率可提升约19倍。这些优化技术可广泛应用于信号处理、图像处理等领域的卷积运算加速。

2026-02-24 22:36:59 54

原创 6、性能优化

本文介绍了CUDA编程中的内存合并(Coalescing)和线程粗化(Coarsening)优化技术。内存合并通过将同一warp内线程的内存访问合并为一次突发传输,提高DRAM访问效率。线程粗化通过减少线程数量、增加每个线程的工作量来降低并行化开销。文章还分析了程序瓶颈识别方法,讨论了优化策略间的约束关系,如占用率、共享内存使用和线程粗化的平衡。最后总结了6种关键优化方法及其对计算核心和内存系统的效益,包括最大化占用率、线程合并访问、内存合并访问、减少控制分支、数据分块重用和私有化技术。

2026-02-24 22:29:15 144

原创 Notion同步到CSDN + 构建Obsidian本地博客系统指南

本文介绍了三种将Notion博客同步到CSDN的方法:1. 使用VSCode的Markdown Publisher插件,通过配置浏览器参数实现一键发布;2. 基于Obsidian+PicList+Gitee构建本地笔记系统,通过Python脚本自动处理图片链接;3. 尝试用Python脚本直接对接CSDN API(未成功)。前两种方案分别适合简单发布和需要本地存储系统的用户,第三种方案有待完善。文中详细说明了各方案的操作步骤和常见问题解决方法,并提供了相关参考链接和Python脚本代码。

2025-11-29 16:17:50 1259

原创 从win系统远程使用服务器中的nsight system、nsight compute

本文介绍了如何在Windows系统中远程使用服务器上的Nsight System和Nsight Compute工具。主要内容包括:1)双系统同步安装相同版本的Nsight工具,配置环境变量;2)命令行生成profile文件或直接运行分析;3)Windows远程连接服务器的配置方法;4)解决权限问题的具体方案,如修改文件夹权限或调整NVIDIA驱动配置。文章提供了详细的安装步骤和常见问题解决方案,适用于需要进行GPU性能分析和调试的开发人员。

2025-11-29 13:13:29 363

原创 5、内存架构和数据局部性

本文介绍了CUDA编程中的性能指标和内存体系结构。主要内容包括: 性能指标:包括FLOPS率(每秒浮点运算数)和内存带宽(每秒字节数),用于衡量处理器计算和内存访问能力。程序可分为计算受限型和内存受限型。 内存层次结构:详细分析了CUDA内存模型,包括寄存器(线程私有)、共享内存(块内共享)、本地内存、常量内存、纹理内存和全局内存。重点比较了不同内存的访问速度、容量和生命周期特性。 寄存器与本地内存:寄存器是速度最快但数量有限的资源,本地内存用于存储无法放入寄存器的数据。文章还讨论了寄存器溢出的情况及其对性

2025-11-29 12:55:56 316

原创 4、GPU 计算架构和管理

本文介绍了GPU的流多处理器(SM)架构和线程执行模型。主要内容包括:1) GPU由多个SM组成,每个SM包含多个核心,支持数百线程并发执行;2) 线程以block为单位分配到SM,block内线程可协作但不同block间不能同步;3) block被划分为32线程的warp,作为基本调度单元按SIMD方式执行;4) 线程束分化问题会导致SIMD效率降低,应避免同一warp中线程执行不同分支。文章通过架构图和实例详细解析了GPU的并行计算原理及优化注意事项。

2025-11-29 12:47:13 68

原创 3、多维网络和数据

本文介绍了三个CUDA并行计算的实例应用:1) RGB转灰度图像处理,通过dim3类型组织线程块,每个线程处理一个像素并考虑边界条件;2) 图像模糊滤波,每个线程计算一个输出像素,通过双循环处理滤波核内像素并检查边界;3) 矩阵乘法优化,每个线程负责结果矩阵的一个元素计算,通过网格索引替代双重循环,同时处理非方阵情况。这些案例展示了如何合理设计线程网格与数据映射关系,处理多维数据并行计算中的边界问题。

2025-11-29 12:38:04 63

原创 2、异构数据并行性

本文介绍了CUDA编程的系统架构和内存管理基础。主要内容包括:1) CUDA内存管理API,涵盖主机与设备间的内存分配、数据拷贝、初始化和释放操作;2) 线程模型,详细讲解一维和多维线程网格的组织方式,以及线程索引计算方法;3) 设备函数、核函数和主机函数的定义与区别;4) 线程块大小和网格大小的配置原则。文章通过对比标准C语言与CUDA的内存管理函数,结合示意图和代码示例,帮助理解CUDA并行计算的基本概念和编程方法。

2025-11-26 22:33:13 97

原创 1、CUDA 编程基础

GPU计算的发展历程与重要性。首先回顾了计算机技术的发展,特别是摩尔定律的影响,强调了计算能力的快速提升。然而,随着晶体管尺寸的缩小和频率的停滞,单线程性能增长放缓。为了继续提升性能,多核处理器开始普及,促使软件开发者开始考虑并行计算。介绍了延迟导向设计和吞吐量导向设计的概念,CPU和GPU分别代表了这两种设计方法。GPU是吞吐量导向的,拥有众多弱小的ALU,通过流水线处理提高算术吞吐量。GPU的成功在于其高并行性和高吞吐量,以及能够分摊高昂的固定成本的大量销售额。

2025-11-16 20:38:34 539

原创 2、Git 合并代码

举例来说,代码仓库有 master 和 feature 两个分支。现在将提交 f 应用到 master 分支。

2025-09-11 10:00:29 427

原创 安装 cuda 版本 PyTorch(2025)

本文介绍了在Windows 10系统上安装CUDA和cuDNN,并配置CUDA版PyTorch的完整流程。主要内容包括:1)安装适合的CUDA/cuDNN版本,通过nvcc -V验证;2)使用Anaconda创建Python 3.11虚拟环境,从PyTorch官网获取对应CUDA版本的安装命令;3)通过torch.cuda.is_available()验证安装结果。若出现CPU版本误装问题,提供了彻底卸载、清理缓存后重新安装CUDA版本的解决方案,特别强调安装命令中需明确指定+cu126参数以确保安装正确的

2025-08-06 14:05:14 1695

原创 conda 环境配置国内镜像加速(2025)

本文介绍了在conda环境中配置国内镜像源以加速conda和pip下载的方法。1)conda配置:通过添加清华镜像源(包含官方、PyTorch、NVIDIA等仓库),并设置显示通道地址;2)pip配置:提供临时使用和永久配置两种方式,推荐通过配置文件永久设置阿里云等镜像源。配置后可通过命令验证是否生效,还提供了恢复默认配置的方法。这些设置能显著提升软件包下载速度,特别适合国内开发者使用。

2025-08-06 11:52:13 7039

原创 VisualStudio — Release 模式下进行调试

如果需要在调试过程中,查看各种变量的信息,就需要禁用优化项,否则在单步调试时很多变量的信息被优化掉无法查看。C/C++ -> 常规 -> 调试信息格式 设为:用于“编辑并继续”的程序数据库 (/ZI)链接器 -> 调试 -> 生成调试信息 设置为: 生成调试信息 (/DEBUG)C/C++ -> 优化 -> 优化 设为: 禁用优化。调试信息的符号文件 .pdb 是调试时的必须文件。

2025-02-07 13:32:58 1003

原创 Dump工具抓取WIN系统堆栈信息

Dump工具抓取WIN系统堆栈信息

2024-08-16 15:03:07 1550

原创 Filter

滤波是为了提升缺陷检出率。这是因为模糊化的滤波方法都能在一定程度上,以达到更好地缺陷检出的目的。

2024-08-07 11:49:51 1024 1

转载 cmake原理、语法

宏功能使用cmake命令后紧跟的目录,一般是工程的根目录执行cmake命令的目录当前处理的CMakeLists.txt所在的路径target 编译目录重新定义目标二进制可执行文件的存放位置重新定义目标链接库文件的存放位置返回通过PROJECT指令定义的项目名称项目实际构建路径,假设在build目录进行的构建,那么得到的就是这个目录的路径。

2024-03-04 15:00:08 309

原创 5_SqlSugar实体中的细节

当更新一个实体对象时,实体中包含time属性,即便没有设置新的时间,更新操作自动根据数据库时间更新该字段。如果不需要更新,则不应该加该注解。插入操作:true数据库时间。更新操作:true数据库时间。

2023-09-25 13:40:40 1036

原创 Git拉取分支、基于主分支创建新的开发分支、合并开发分支到主分支、回退上一次的merge操作

如上面的例子中,从 git show 命令的结果中可以看到,merge commit 的 parent 分别为 84a157d7和 1928b1a4,其中 84a157d7 代表 主要 分支(从图中可以看出),1928b1a4 代表 will-be-revert 分支。这里用-m指定保留的分支。如果直接使用 git revert ,git 也不知道到底要撤除哪一条分支上的内容,这时需要指定一个 parent number 标识出"主线",主线的内容将会保留,而另一条分支的内容将被 revert。

2023-08-22 15:54:25 8601

原创 6_AccessKeyId和AccessKeySecret的环境变量配置

很多SDK需要从环境变量中读取key,读取不到会报下列错误。java.util.concurrent.ExecutionException:n.aliyun.sdk.gateway.pop.exception.PopClientExceptibn:件(Code: MissingAccessKeyld Message: code: 400ACcessKevld is mandatory for this action.下面分别介绍不同系统中 AccessKeyId和AccessKeySecret的配置。

2023-08-15 14:29:59 4131 1

原创 5_docker-compose多服务统一编排管理

单独运行容器有很多问题先后顺序要求固定多个run命令,操作繁琐容器间的启停或宕机,有可能导致IP地址对应的容器实例变化,映射出错。要么生产IP写死(可以但是不推荐),要么通过服务调用解决方法:使用compose服务编排,一个配置文件,一条指令管理所有服务。

2023-08-15 14:13:23 558

原创 3_Docker安装redis

将宿主的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件。进入主机的redis.conf文件。配置文件方式启动redis 容器。

2023-08-02 10:45:15 365

原创 ResNet模型搭建、GPU训练及问题小结

ResNet残差网络学习小结

2023-06-21 14:25:40 694

原创 4_SqlSugar的导航查询、反向导航查询、导航插入、导航更新

SqlSugar的导航查询、反向导航查询、导航插入、导航更新

2023-04-28 10:14:29 3440

原创 1-JVM体系结构

不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。

2023-03-05 22:33:51 234

原创 C#文件路径操作、文件操作

C#文件路径操作、文件操作。常用函数 需要引用System.IO 直接可以调用Path的静态方法。文件重命名并复制到指定路径。

2023-02-24 14:44:30 2037

原创 集群,分布式,微服务概念和区别

集群,分布式,微服务概念和区别

2023-02-14 15:39:03 802

转载 深拷贝和浅拷贝的区别

面试常问深拷贝和浅拷贝的区别?今天整理下。包含深浅拷贝的原理图和代码案例。

2023-02-14 11:18:22 167

原创 接口与抽象类

接口与抽象类的区别和使用场景

2023-02-10 11:14:37 159

转载 同步和异步 阻塞和非阻塞

同步和异步,阻塞和非阻塞

2023-02-01 11:56:12 169

原创 4_jar包部署Docker

远程服务器上docker要做好内部和外部端口的映射,挂载文件上传文件夹后,linux文件夹中有上传的文件了。

2023-01-30 11:39:03 686

原创 2_Docker安装jdk1.8和MySql

注意由于新版本,这里要先在主机conf文件夹下,建立conf.d和mysql.conf.d两个文件夹,再运行创建MySQL的容器即可。可选用-v指令,将容器/var/log/mysql等目录挂载到主机/mydata/mysql/log等目录。

2023-01-30 11:22:59 1425

原创 1_Linux安装Docker

确定你是CentOS7及以上版本5。第1章 Linux安装Docker。a. 先确认CentOS7能上外网。e. 从容器内拷贝文件到主机上。本次安装时间2021.11。安装DOCKER CE。设置stable镜像仓库。更新yum软件包索引。yum安装gcc相关。

2023-01-30 11:08:58 222

原创 剑指 Offer 40. 最小的k个数

输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。

2023-01-17 13:35:31 139

原创 剑指 Offer 30. 包含min函数的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。

2023-01-13 11:34:14 150

原创 剑指 Offer 09. 用两个栈实现队列

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )

2023-01-13 10:32:17 126

转载 深入理解String

深入理解String,图解String

2023-01-11 17:30:14 213

原创 剑指offer27-二叉树的镜像

剑指offer27-二叉树的镜像。

2023-01-02 14:47:56 122

esp8266_quick_start_guide_cn快速入门指南.pdf

本文是ESP8266快速入门指南,内容包括硬件软件准备、烧录教程、快速编译代码、RTOS SDK编程、常用的调试方法和一些必备资源链接等等。通过阅读本文,您可以快速熟悉ESP8266的上手,能够找出一些新的思路和方案,相信对您一定很有帮助!

2019-06-10

通过串口调试工具读写PLC.docx

本文是采用串口调试工具发送十六进制的读写命令,通过RS-422将数据写入PLC或读取PLC内继电器的状态。本文测试了X、Y、M、D和S等常用的继电器,内含各种截图以及读写命令的数据帧格式解释。本文是参考编程口协议进行的测试记录,最终成功读写PLC,相信阅读后对您进行有关工作很有帮助!

2019-06-10

FX编程口协议.pdf

本文是FX编程口协议,资源来源网络,放在这里方便大家寻找,节约时间。通过阅读本文,您可以充分理解,如何通过十六进制的控制命令读写PLC的继电器,理解控制命令的结构,继而方便您相关的工作的进行。本人曾据此编程,实现读写PLC的功能。

2019-06-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除