- 博客(2607)
- 资源 (9)
- 收藏
- 关注
原创 LeetCode解题汇总目录
此篇为学习完《数据结构与算法之美》后,在LeetCode刷题的汇总目录,方便大家查找(Ctrl+Find),一起刷题,一起PK交流!如果本文对你有帮助,可以给我点赞加油! Updated on 2022.6.12刷题可以按照不同的专题进行,便于加强某个知识点的理解。另有《剑指Offer》面试题(更新完毕)、《程序员面试金典》面试题(更新完毕)、LintCode代码能力测试CAT。LeetCode MySQL 数据库解题目录点击访问 我的 LeetCode 主页我的 GitHub 主页注:本文超过字数限制,
2019-09-06 13:43:51
80862
367
原创 吴恩达-《深度学习DeepLearning》汇总目录
从2019年2月底开始学习《数据结构与算法之美》,王争老师的课程非常好,到2019年8月底已经学完一遍,后面还要多次复习巩固以及OJ刷题。生命不息,学习不止,又要开始新的篇章了–《机器学习》,有点小兴奋,哈哈,之前Python已经大致过了2遍(小甲鱼的视频&从入门到实践),现在要补NumPy、复习高等数学、然后开始吴恩达老师的课程。此篇文章作为学习的汇总目录,供大家参考,一起学习,共同进步...
2019-08-28 00:43:33
8517
66
原创 《数据结构与算法之美》学习汇总
此篇文章是对自己学习这门课程的一个总结和课后的一些练习,做一个汇总,希望对大家有帮助。本人是半路程序员,2018年2月开始学习C++的,下面的代码基本都是C++11版本的,代码有错误的地方请不吝留言赐教。附有部分练习LeetCode、POJ的题目。
2019-04-22 21:13:00
25210
218
原创 CUDA编程:Shared Memory Bank Conflict 与 Padding 优化
Shared Memory 很快,但也有内部结构Shared Memory 被划分成多个 bank一个 warp 内多个线程访问同一个 bank,会发生 bank conflictBank conflict 会导致 shared memory 访问串行化矩阵转置中的列访问非常容易触发 bank conflicttile[32][33] 通过 padding 打散 bank 映射Padding 代价很小,但可能明显提升性能。
2026-05-26 21:40:10
279
原创 CacheDiT、TaylorSeer 与 SCM:DiT 扩散模型推理加速到底在加速什么?
不同cache-dit版本 API 可能有小差异。下面是通用写法,如果你的版本支持import osif DEVICE!= "cuda":MODEL_ID,pipe,),.2fs")")CacheDiT 的核心不是“魔法加速”,而是利用扩散模型推理过程中的一个结构性冗余:相邻 denoising steps 的中间特征高度相似。DBCache:Transformer block 级别缓存,减少重复 block 计算。
2026-05-24 20:51:24
368
原创 TeaCache:让扩散模型少算几步,但尽量不掉画质
利用 timestep embedding 感知相邻 denoising step 的输出变化;变化小时复用缓存,变化大时完整计算。它最适合 DiT 类图像/视频/音频扩散模型,尤其是 denoising steps 较多、Transformer 计算占主要瓶颈的场景。生产里建议从开始,逐步调大,同时用固定 prompt、seed、分辨率和 steps 对比不开缓存、保守缓存、激进缓存三组结果。
2026-05-13 23:31:43
416
原创 Global 内存访问与 Memory Coalescing 实验解析
第 7 课围绕 CUDA 中非常关键的Memory Coalescing,即内存合并访问展开。实验通过对比连续访问data[idx]和跨步访问,验证了 Global 内存访问模式对性能的巨大影响。结果显示,在 Tesla T4 上,当stride=32时,非合并访问比合并访问慢约25.5 倍;当stride=16时慢约14.6 倍;当stride=8时慢约8.0 倍。这说明 GPU 性能不仅取决于“算多少”,更取决于 warp 内线程是否访问连续地址。
2026-05-10 01:41:29
392
原创 Shared Memory 与矩阵乘法分块优化实验
本文围绕 CUDA 矩阵乘法中的 Shared Memory 优化展开,通过 Naive 矩阵乘法与 Shared Memory Tiled 矩阵乘法的对比实验,分析不同TILE大小对kernel 性能的影响。实验基于 Tesla T4,测试矩阵规模包括TILE包括8、16、32、64。结果表明,Shared Memory 在大多数有效配置下能够明显加速矩阵乘法。
2026-05-09 06:30:00
400
原创 异步拷贝与 CUDA Stream(计算与数据传输重叠)
例如 Stream 1 正在计算 chunk 1 时,Stream 2 可以同时传输 chunk 2,从而让 copy engine 和 SM(Streaming Multiprocessor) 并行工作,降低总耗时、提升吞吐。顺序运行,数据传输时 GPU 计算单元空闲,kernel 计算时 copy engine 又可能空闲,资源利用率不高。是 kernel 启动的简写形式,默认使用 sharedMemBytes=0 和默认 stream;,可以让不同 chunk 的数据传输与计算交错执行。
2026-05-07 00:37:15
185
原创 CUDA编程:Pinned Memory(固定页内存)如何提升 CPU↔GPU 数据传输效率
因此更合理的做法是:在大数据传输、批量推理、流式处理、异步拷贝等关键路径上使用 Pinned Memory,而不是把所有主机内存都改成 Pinned Memory。申请的固定页内存,它不会被操作系统换出,GPU 可以更直接地进行 DMA 传输,因此能够显著提升 Host 与 Device 之间的数据传输带宽。时,数据往往需要先经过一个临时的锁页缓冲区,再通过 DMA 传输到 GPU,过程相对多了一次中转。这说明 Pinned Memory 并不是偶然加速,而是在不同数据规模下都能稳定提升传输效率。
2026-05-05 12:02:44
393
原创 CUDA 内存管理和数据传输
这张图是核心实验数据。H2D / D2H:约 4.5–5.0 GB/sD2D :约 120 GB/scudaMemset:约 200–232 GB/s也就是说,CPU 和 GPU 之间的数据传输速度比较慢,而 GPU 显存内部操作快得多。CPU↔GPU 跨设备传输:约 5 GB/sGPU 显存内部拷贝:约 120 GB/sGPU 显存内部写入:约 230 GB/sGPU 内部显存操作远快于 CPU↔GPU 跨设备数据传输。这也解释了为什么第一节课里vector_add。
2026-04-30 20:06:49
495
原创 为什么要做大模型粘性调度?
大模型推理的成本核心在于Prefill——就像每次做饭都得从头切菜备料。传统负载均衡像随机分配顾客去不同窗口,每位顾客都得重新“自我介绍”,造成了巨大的算力浪费。粘性调度的本质,不是死板地固定机器,而是让请求优先去“最可能有缓存”的地方,这直接带来四大改善:TTFT更低、Cache Hit更高、GPU更省力、吞吐更稳。RAG/模板化问答,优先前缀哈希,最大化复用系统提示和模板缓存。大规模在线服务,则需缓存感知调度,动态平衡命中率与实时负载。多轮聊天机器人,首选会话粘性,实现简单,上下文连续。
2026-04-29 22:12:23
35
原创 大模型推理 DP\TP\PP\EP 理解
│ 大模型推理并行体系 ││ ││ DP 数据并行 ││ - 多个完整模型副本 ││ - 分摊不同请求 ││ - 提高并发吞吐 ││ ││ TP 张量并行 ││ - 拆单层矩阵计算 ││ - 多 GPU 一起算同一层 ││ - 适合大 Dense 模型 ││ ││ PP 流水线并行 ││ - 按 Transformer 层切分 ││ - 不同 GPU 负责不同层 ││ - 适合超深、超大模型 ││ ││ EP 专家并行 ││ - 拆 MoE Expert │。
2026-04-26 08:06:04
497
原创 GPT-5.5 vs DeepSeek-V4:技术速览
两者并不是简单的“谁更强”关系,而是代表了当前大模型发展的两条重要路线:一条是面向高端闭源工作流智能体,另一条是面向高性能、低成本、可部署的开放权重模型。而 DeepSeek-V4 则突出开放权重、MoE 架构、1M 超长上下文和长文本推理效率,在竞赛型编码、数学推理和开放模型生态方面具有较强吸引力。整体来看,GPT-5.5 更强调真实工作流中的代理式执行能力,尤其适合编码、数据分析、在线研究、文档处理和复杂任务协作;
2026-04-25 08:20:08
119
原创 AutoClaw实测:动口就能搞定音频提取、视频拼接,还能接入飞书!
亲测可通过对话指令完成视频音频提取、视频拼接等操作,支持自定义模型,还能接入飞书配置机器人,全程动口不动手,操作简单且效果稳定,实测过程和细节分享如下。再试试接入飞书,在 https://open.feishu.cn/ 创建自建应用,把配置信息填写进去即可。操作过程中500点额度用完了,切换成免费的 glm-4.7模型继续运行。任务最终完成,真的是动口就能搞定操作的时代了,内心还挺激动的。顺便看了下token消耗,这次一共用了12k token。没想到真的顺利把视频音频提取出来了,体验相当不错!
2026-03-18 01:03:27
273
原创 AI编程:乘法竖式计算演示web应用
✅乘法竖式动画演示:清晰展示乘法竖式的计算步骤✅自定义数字输入:支持输入任意数进行计算✅播放控制:提供播放、暂停、重置功能✅速度调节:支持0.5x到3x的速度调节✅随机数生成:一键生成随机的乘数和被乘数。
2026-01-01 18:35:37
991
原创 多进程CUDA初始化的问题 Cannot re-initialize CUDA in forked subprocess
上面这个例子会报错,主进程触发了 CUDA 初始化,fork 出来的子进程中创建 tensor 的时候报错了。这句去掉,那么主进程就没有 CUDA 初始化的操作,子进程不会报错。,它们在底层机制、内存共享、安全性、兼容性等方面有根本差异。背景:在多实例算法服务的时候,出现了 cuda 初始化错误。时,选择错误的启动方法会导致程序崩溃或未定义行为。的,每个进程使用CUDA时,都会触发。父子进程之间有 cuda 状态的。的,没有问题,不会出现二次初始化。上面 fork 的示例中。
2025-12-05 22:03:35
1199
原创 显存大解放:vLLM Sleep模式实战指南,90% GPU资源瞬间回收!
vLLM的Sleep模式允许你临时释放模型占用的GPU内存(包括模型权重和KV缓存),而无需停止服务器或卸载Docker容器。RLHF训练:在训练和推理间无缝切换成本优化:空闲时段释放GPU资源给其他任务多模型调度:动态切换不同模型而无需重启服务✅释放90%+ GPU显存:将权重卸载到CPU内存,丢弃KV缓存✅快速恢复:秒级唤醒,无需完整重新加载模型✅精细控制:支持分布式部署,可单独唤醒权重或KV缓存。
2025-11-29 10:54:18
1408
原创 使用 json_repair 修复大模型输出为 json 对象
当大模型生成json格式的输出时,有时候可能会出现缺少引号,单引号等问题,可以很好的解决这个问题参考了的官方文档以及其他相关资料,整理了这款JSON修复工具的主要用法。下面的表格和示例可以帮助你快速上手。loads()
2025-11-25 02:00:00
801
原创 你的 FastAPI 服务还缺一个监控仪表盘?Prometheus 一站式搞定
本文介绍了使用Prometheus监控FastAPI服务的完整实践。首先概述了Prometheus的多维数据模型、PromQL查询语言等核心特性。随后通过一个FastAPI示例,演示了如何集成prometheus-client库来记录请求计数和耗时指标,并配置/metrics端点供Prometheus采集。详细说明了使用Podman部署Prometheus的步骤,包括配置文件编写、告警规则设置(5分钟错误率超过30%触发告警)。最后展示了监控效果,包括请求成功率、耗时分布和告警触发情况。
2025-11-24 00:25:38
828
原创 如何避免僵尸进程
摘要:本文介绍了Linux中的僵尸进程问题,分析了其产生原因(子进程终止后父进程未收割)。针对Python程序,提出了3种避免僵尸进程的方案:手动join、使用ProcessPoolExecutor的with上下文、设置SIGCHLD信号。通过OOM场景对比实验,展示了不同处理方式的效果差异,最后总结出最佳实践建议:优先使用with上下文管理、显式回收子进程、设置信号处理,并给出监控和预防OOM的方法。
2025-09-01 00:23:50
433
原创 为爱编程:用 Python 自动化 PDF 签名,顺便秀一波技术
就这样,一个小小的 PDF 签名需求,通过 Python 脚本轻松搞定。这不仅仅是一个技术活儿,更是对女朋友的一份细心和体贴。当她看到这个自动化工具和压缩后的轻量级文件时,脸上露出了满意的笑容。那一刻,我觉得所有的代码都是值得的。所以,下次女朋友再遇到什么小麻烦,不妨试试用代码来解决吧,既能展现你的技术魅力,又能让她感受到你的用心和爱意!❤️。
2025-07-27 19:44:10
1382
原创 torch.cuda.empty_cache() 释放显存及其应用
✅不会影响已分配的 Tensor,它们仍然保留在 GPU 上;✅仅清理 PyTorch allocator 的缓存池;✅ 在多模型轮流推理或显存紧张时可以尝试释放一下;
2025-07-19 00:05:03
1081
原创 使用 Vanna + Ollama + ChromaDB,实现“自然语言查询“/ChatBI
Vanna AI 本质是一个通过向量检索 + LLM 推理构建的可训练、可执行、可可视化的自然语义 SQL 助手。基于用户数据自定义训练 RAG拥有自动反馈学习机制支持多模型、向量库、数据库向业务人员提供图形化呈现选项严控数据隐私,全部在用户端执行通过这段脚本,我们体验了 Vanna AI 从RAG 训练 → LLM 生成 SQL → 自动可视化的完整闭环。数据分析同学再也不用手敲长 SQL,业务同学也能一句话出报表;实现ChatBI聊天式商业智能。
2025-07-12 13:40:30
767
原创 在 vLLM 中优雅地中断推理:同步与异步实战
本文探讨了在vLLM推理服务中实现GPU计算即时停止的方法。作者通过三种方式验证了停止生成的效果:1) 同步HTTP请求,2) 异步HTTP请求(httpx.AsyncClient),3) OpenAI官方SDK调用。实验表明,当用户点击停止按钮时,vLLM后台确实会终止计算并释放GPU资源,日志中会显示"Aborted request"记录。值得注意的是,是否显式调用resp.close()对停止效果没有影响。通过nvtop监控验证,停止请求后GPU利用率明显下降。文章提供了完整的可运
2025-07-11 00:01:03
1857
1
原创 Prefill Decode分离部署大模型(dynamo框架)
NVIDIA Dynamo 是一个高吞吐量、低延迟的推理框架,旨在为多节点分布式环境中的生成式 AI 和推理模型提供服务。Dynamo 设计为与推理引擎无关(支持 TRT-LLM、vLLM、SGLang)
2025-06-18 06:25:09
1818
原创 ZeroMQ (0MQ) 入门 - 几种经典的模式
ZeroMQ (也写作 ØMQ, 0MQ 或 ZMQ) 是一个高性能的异步消息传递库,旨在用于分布式或并发应用程序。它提供了一个消息队列,无需一个专门的消息代理服务器。
2025-06-11 06:58:59
3749
原创 探索HTTP流式返回:Python实战与Ollama本地模型测试
Ollama 将模型权重、配置和数据打包成一个单一的包(通过Modelfile管理)。它简化了模型的下载、部署和管理过程。
2025-05-17 00:05:29
2034
1
原创 设计模式 | Python单例模式
当多个模块需要共享同一资源时(如日志文件、应用配置、数据库连接池等),单例模式可避免重复创建实例导致的资源浪费或性能损耗。对需要严格控制资源的场景(如线程池、数据库连接池),单例模式能集中管理资源分配,减少资源竞争或过度消耗。如果需要自定义类的创建逻辑(比如动态修改类属性、强制约束类结构、自动注册子类等),就可以通过自定义元类实现,通过重写。需要全局唯一访问入口的场景,单例模式提供统一的访问接口。Python的模块天然就是单例的——因为模块在第一次导入时会被缓存,后续导入都是“共享”同一个实例。
2025-05-10 16:38:06
971
原创 基于 MCP 协议的 LLM 工具调用
在 MCP(Model Context Protocol)中,tool和MCP 中的 tool是定义在 MCP 服务器上的功能模块,通过 MCP 协议暴露给客户端。具有封装性、可发现性和异步性等特点。是 LLM 调用外部函数的能力,增强了模型的能力,使其能够借助外部资源解决问题。特点包括增强模型能力、动态交互、参数传递与结果处理等。二者关系MCP 中的 tool 是具体的工具实现,function calling 是调用这些工具的方式。
2025-04-20 00:01:26
2991
原创 多进程性能优化:共享内存 vs 普通多进程
普通多进程:每个子进程独立处理一份数据副本。共享内存:所有子进程共享同一块内存区域,避免数据的多次拷贝。我们通过一个简单的实验来对比这两种方式的性能和内存使用情况。通过对比共享内存和普通多进程的实现方式,我们发现共享内存版本在内存使用和性能上具有显著优势。对于需要处理大规模数据或多进程协作的场景,推荐使用共享内存来优化性能和内存使用。
2025-04-16 23:16:15
1297
原创 注册模式(Registry Pattern):实现灵活解耦的插件化系统
注册模式()通过维护一个全局或单例的注册表(Registry),集中管理系统中可扩展的组件、类或实例的引用。组件在初始化时主动注册到表中,其他模块通过标识符(如名称、类型)从表中动态获取所需组件。len解耦组件:通过注册表中介降低直接依赖灵活扩展:新组件即插即用配置驱动:运行时动态决定组件加载最佳实践建议为注册表设计版本兼容机制添加类型注解提升安全性对关键操作(注册/获取)添加日志跟踪考虑使用单例模式封装注册表# 进阶实现:线程安全注册表。
2025-03-31 00:11:55
963
原创 使用 Nginx 对 LLM 服务进行负载均衡实践
nginx是一款开源的、高性能的 Web 服务器,同时也广泛用作 反向代理服务器、负载均衡器 和 HTTP 缓存。它的设计目标是解决传统服务器(如 Apache)在高并发场景下的性能瓶颈,现已成为全球最流行的 Web 服务器之一。高性能:基于事件驱动的异步架构,单机支持数万并发连接。轻量级:内存占用低,配置简单。算法灵活:轮询(Round Robin)、加权轮询(Weighted)、IP Hash、最少连接(Least Connections)等。
2025-03-03 06:30:00
1320
原创 triton+tensorrt-llm后端部署LLM服务
参考TensorRT-LLM 是 NVIDIA 推出的一个开源库,旨在利用 TensorRT 深度学习编译器优化和加速大型语言模型(LLMs)的推理性能。它专为开发者设计,支持在多 GPU 环境中高效运行 LLMs。
2025-03-02 07:00:00
3521
1
原创 用DeepSeek自动求解-华容道
经过与 deepseek 多轮对话,还有自己查找问题,最后完成了这个作品。今天辅导孩子做华容道,孩子不会,我也试了好久没做出来。首轮给出的结果基本上就差不多是对的,还有一些小逻辑不太对。我决定使用 deepseek 开发一个自动解题的动画。用deepseek编程求解华容道。Worker执行IDA*算法。创建Web Worker。
2025-03-01 12:36:29
1783
原创 基于Triton推理服务器的性能优化实践
NVIDIA的Triton推理服务器通过动态批处理、模型并发和TensorRT加速等多种优化策略,不仅充分发挥GPU的并行计算能力,还能根据业务场景灵活调整配置,从而实现高吞吐、低延迟的推理服务。本文将深入解析Triton中的关键优化技术,并结合详细的测试数据和命令行解析,为读者展示如何利用这些技术提升推理性能。
2025-02-24 21:12:32
2334
1
distilbert-base-uncased-finetuned-sst-2-english 预训练模型
2021-01-12
tensorflow_datasets.tf_flowers.3.0.1.rar
2021-01-26
Everything-1.4.1.969.x64.zip
2020-03-27
ScreenToGif.2.22.1.Portable.zip
2020-03-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅