登录社区云,与社区用户共同成长
邀请您加入社区
本文深入剖析操作系统进程管理的核心逻辑与 Linux 内核实现。首先从通用 OS 理论出发,全景拆解运行、阻塞、挂起等状态的宏观流转模型与底层队列管理机制,并深度起底 Linux 独特的“侵入式双链表”设计及 container_of 宏数学偏置原理。随后结合内核源码,详解 Linux 下 R、S、D、T、t、X、Z 等进程状态的静态定义与动态行为特征,通过实战代码复现并解释了“死循环代码却在休眠
开源社区的健康运转,不仅依赖核心代码的贡献,还需要降低贡献门槛、提供清晰的指南和自动化工具。skills仓库是CANN开源社区的"贡献技能包",提供了一系列辅助脚本、代码模板、CI检查和文档生成工具,帮助新手快速上手,同时确保贡献质量符合社区规范。
ATVOSS仓库作为昇腾CANN生态中的Vector算子子程序模板库,通过提供数学基础、数据搬运、内存管理、同步通信、调试profiling五大类优化的子程序,显著降低Vector算子开发的技术门槛并提升最终性能。掌握ATVOSS的使用方法,对于在 Ascend 910 硬件上开发高性能Vector算子具有重要实践价值。该仓库持续丰富子程序种类和性能优化,欢迎社区开发者参与共建。
openEuler从传统Vi模式向现代Vim增强模式的演进,体现了从基础工具链向开发友好型生态的转变。包管理yum→dnf,依赖解析更智能编辑器vi→vim,功能扩展性大幅提升网络配置:ifcfg脚本 → Netplan YAML,配置更简洁更新机制:简单更新 → 支持模块化、版本锁定和回滚容器支持:Docker为主 → Podman+Buildah完整工具链。
**游戏建筑资产AI生成管线**是一个基于Python和多模态大语言模型(VLM)的自动化工作流,能够将任意角度的建筑截图转换为游戏可用的45度等轴建筑组件。
图引擎作为昇腾CANN的图优化与编译核心,在昇腾NPU的性能发挥中扮演关键角色。其图解析、图优化、图编译、图执行接口的四层架构,系统性地解决了异构计算图的优化与执行问题。算子融合、内存优化、并行调度等核心技术,使得上层框架的模型可以在昇腾NPU上高效执行。对于在昇腾NPU上部署模型的开发者,理解图引擎的优化机制和调度策略,是充分释放昇腾硬件算力的必经之路
单个算子的性能再高,如果无法和其他算子高效协作,最终端到端的模型推理或训练性能也不会好。一个典型的深度学习模型包含几十到几百个算子,它们之间的数据流、内存分配、执行顺序都需要精心编排。opbase作为所有算子仓库的公共基础,在算子间的协作中扮演着不可替代的纽带角色。
昇腾CANN作为昇腾异构计算架构的核心软件栈,在分布式训练与推理场景中面临大量节点间通信挑战。hixl(Heterogeneous Interconnect Library)是CANN开源社区中的单边通信库,专注于解决分布式训练中参数同步、梯度分发、PD分离等场景的通信效率问题。
通用矩阵乘法(GEMM)是深度学习模型的核心计算算子,其计算效率直接影响模型训练与推理的性能表现。昇腾NPU基于达芬奇架构设计,通过Cube单元的矩阵计算加速能力,为GEMM提供了专门的硬件支持。catlass作为昇腾CANN的高性能算子库,其GEMM模板充分利用了达芬奇架构的硬件特性,通过多级分块、流水线并行、Epilogue融合等技术手段,实现了接近理论峰值的计算效率。
刚拿到昇腾CANN的ops-math仓库时,最直观的感受是这个仓库覆盖面广——conversion、math、random三大类算子,几乎撑起了所有上层计算的基础。跑在昇腾NPU上的PyTorch模型,底层很大一部分数学运算都依赖这个仓库的算子实现。
深度学习模型部署到昇腾 NPU 上时,有一个特别让人头疼的问题:计算图里充斥着大量细碎的小算子,每个算子单独调度一次,数据在显存和计算单元之间反复搬运。拿一个经典 Transformer 模型来说,单个 Attention 模块里可能串着十几二十个算子——Reshape、MatMul、Softmax、Scale、MatMul、Reshape——每个算子执行前后都要走一遍调度开销,数据从 HBM 读
第一次把 YOLOv8 跑在昇腾 NPU 上那会,我被预处理部分卡了整整两天。模型加载没问题,推理也没问题,就是前处理那几个算子在 CPU 上跑得慢,成了整个链路的瓶颈。后来翻到 ops-cv 这个仓库,才发现昇腾CANN 早就提供了一整套图像预处理算子,只是之前不知道怎么用。
矩阵乘法(GEMM,General Matrix Multiply)是深度学习里最底层也最关键的计算原语。Transformer 的 Self-Attention 需要大量 GEMM,反卷积网络里的 im2col 同样最终落地为 GEMM,甚至很多看似跟矩阵无关的算子,拆解到底层都是一组矩阵乘加操作。可以说,一个算子库的 GEMM 性能好不好,直接决定了整个训练或推理栈的天花板在哪里。
你的学习场景:作为大数据初学者,在 WSL 里跟着笔记配置环境、修改配置文件,用nano完全足够,且最不容易出错。未来趋势:很多专业开发者都会使用Visual Studio Code 的 Remote-SSH 插件,在 Windows 图形界面里远程编辑 WSL 或服务器上的文件,连nano都很少用了。现阶段坚定地用nano就好,等你对 Linux 很熟悉了,再考虑挑战vim也不迟。
本文为你硬核拆解Linux底层逻辑!从冯·诺依曼体系的数据流动出发,带你透彻理解操作系统“先描述,再组织”的管理哲学与系统调用机制。接着深入剖析核心概念“进程”,揭秘PCB结构与cwd路径,最后通过实战代码调用fork()创建子进程,带你亲眼见证“写时拷贝”的奇妙过程。一文帮你彻底夯实系统编程基石!
摘要:本文记录了在Ubuntu 20.04环境下编译OpenHarmony 6.0 for RK3568的过程。主要步骤包括:1) 下载源码并校验完整性;2) 解决编译过程中遇到的权限问题(手动安装libnl);3) 处理头文件缺失错误(单独编译display模块);4) 最终执行完整编译。整个过程耗时较长(超过3天),期间需多次调试解决依赖和路径问题。关键点包括修改GN脚本、手动执行安装步骤,以
vim
本文介绍了ClaudeCode工具的安装与配置流程:1)安装Node.js环境;2)通过npm安装codex工具包;3)配置使用步骤包括获取OpenAI的API密钥(以sk-开头),创建配置文件config.toml和auth.json,分别设置模型参数和API密钥。配置完成后,在项目目录下运行codex命令即可使用。注意配置文件路径可通过CODEX_HOME环境变量自定义。全文提供了完整的安装指
ClaudeCode新增的/loop命令解决了用户需要反复手动触发任务的痛点。该命令支持定时自动执行任务,如每30分钟运行测试并自动修复(/loop30m)、每小时检查PR评论(/loop1h)或定时安全扫描(/loop2h)。用户可通过/loopstop随时停止任务。使用时需注意:1)持续消耗Token,建议先用短间隔测试;2)简单任务可设低effort节省Token;3)长时间运行需处理上下文
Claude AI 发现 Vim/Emacs 0Day RCE,Emacs 维护者拒修。
本文基于一个企业级用户模块的实战案例,系统性地阐述了三个核心开发规范与一项架构设计原则,旨在解决后端开发中常见的数据传输冗余、空指针异常、数据库性能浪费以及模块职责混乱等问题。针对空指针异常(NPE)这一常见问题,文章推荐使用作为解决方案。其核心价值在于通过类型系统强制开发者显式处理空值情况,从而在编译期和编码阶段规避NPE风险。OptionalListnullOptionalnullorElse
从一个新系统开始的ORB-SLAM3配置及安装的完整保姆级教程,包含配置安装的整个过程以及遇到的一些问题及解决方法。
本文介绍了Linux开发工具Vim的核心概念和使用方法。Vim作为Linux下独立的文本编辑器,遵循工具独立化的开发哲学,仅负责代码编写功能。文章阐述了学习Vim的必要性,包括服务器环境需求、紧急处理能力和效率优势。重点讲解了Vim的多模式设计思想,特别是命令模式、插入模式和底行模式之间的切换关系。通过Hello World示例展示了基本使用流程,并详细解析了命令模式下的光标定位、复制粘贴、删除撤
——vim
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net