- 博客(212)
- 资源 (5)
- 收藏
- 关注
原创 进制转换....................
10进制转16进制#include<iostream>#include<string>using namespace std;// 十进制转16进制int main(){ long x; // 输入的数字 int r=0; // 余数 string res=""; // 输出的结果 cin>>x; if(x==0) { cout<<"0x0"<<endl;
2021-07-13 21:48:11
158
原创 输入输出练习
1、A+B2、A+B3、A+B4、A+B5、A+B6、A+B7、A+B8、字符串排序9、字符串排序10、字符串排序(3)11、[编程题]自测本地通过提交为0...
2021-07-12 22:15:42
367
原创 Kubernetes核心组件运行机制
Kubernetes API Server 其核心功能是提供Kubernetes各类资源对象(如Pod、RC、Service等)的增、删、改、查及Watch等HTTP Rest接口,成为集群内各个功能模块之间数据交互和通信的中心枢纽,是整个系统的数据总线和数据中心。此外,还提供以下功能:是集群管理的API入口 是资源配额控制的入口 提供给了完备的集群安全机制Kubernetes的设计者如何最大程度保证API Server的性能在API Server源码中使用协程(Corout...
2021-06-23 15:05:46
588
1
原创 Docker核心技术及实现原理
Linux容器最基础的两种技术:Namespace和Cgroups容器的的本质是一种特殊的进程Namespace的作用是”隔离“
2021-06-17 16:05:06
844
1
原创 十大排序算法
#include <iostream>#include <vector>#include <map>using namespace std;// 1.bubble sortvoid bubbleSort(vector<int> &v){ for (int i = 0; i < v.size() - 1; i++) { for (int j = 0; j < v.size() - i - 1; .
2021-06-11 21:55:32
163
2
原创 树的前中后非递归以及dfs、bfs
#include <iostream>#include <stack>#include <queue>using namespace std;struct TreeNode{ int data; TreeNode *left = nullptr; TreeNode *right = nullptr;};//前序遍历void preOrderVisit(TreeNode *root){ if (root == null.
2021-06-11 21:53:56
179
原创 刷题常用 sort lambda
1、int compare (const void * a, const void * b){ return ( *(int*)a - *(int*)b );} qsort (values, 6, sizeof(int), compare);
2020-07-30 09:10:13
279
原创 Efficient Attention Methods
这篇文档其实就是一份 “高效注意力机制说明书”,核心是解决 Transformer 模型(比如用来生成视频、处理长文本的模型)里 “注意力计算太慢、太费资源” 的问题 —— 原来的注意力计算复杂度是平方级(序列越长,计算量暴涨),面对长文本、长视频的大序列(比如 10 万个以上的 token)时,又慢又占内存,没法实际用。这类方法是把缓存压缩后存起来,用的时候再还原。比如多个注意力头共用一套缓存,或者把缓存数据用低秩分解压缩,就像把照片存成压缩包,占空间少,用的时候解压出来照样能用,不影响效果。
2025-11-27 18:35:57
435
原创 贵州茅台 vs 其他白酒 —— 为什么价格差这么大?
茅台之所以贵 = 稀缺性(核心) × 品牌力 × 社交需求 × 投资属性。而其他白酒通常只具备其中“1~2个”,茅台具备“4个全满”。
2025-11-27 18:33:59
240
原创 免费GPU资源
Google Colab 提供免费的云端 Jupyter Notebook 环境,支持 GPU 和 TPU。你可以用它来训练机器学习模型。
2025-11-27 18:33:21
557
原创 Hugging Face Transformers 仓库核心技术分析
技术全面性: 支持所有主流深度学习框架和模型架构性能优化: 从算法到系统级的全方位优化易用性: 统一API设计,降低使用门槛可扩展性: 模块化架构,支持大规模部署社区驱动: 开源生态,持续创新该项目不仅是一个模型库,更是一个完整的AI开发平台,为研究者和开发者提供了从模型研究到生产部署的全流程支持。trainer.py。
2025-11-25 16:58:20
347
原创 Diffusers 代码仓库学习指南
🤗是 Hugging Face 开发的先进扩散模型库,专注于图像、音频和 3D 分子结构生成。基于 PyTorch 构建,提供模块化工具箱支持推理和训练。
2025-11-25 16:54:01
377
原创 TensorRT-LLM 核心技术深度分析报告
/ GPU异步分配。- spec_decoding_is_generation_length_variable: 可变生成长度。// TensorRT引擎。- spec_decoding_max_generation_length: 最大生成长度。- spec_decoding_generation_lengths: 实际生成长度。- spec_decoding_position_offsets: 位置偏移。- host_past_key_value_lengths: 历史长度管理。
2025-11-25 14:52:07
427
原创 TensorRT-LLM 核心技术深度分析报告
基于对TensorRT-LLM源码的深入分析,我整理了以下核心技术实现细节和架构设计模式的完整技术报告。核心类结构:tensorrt_llm/layers/attention.py中实现了多种注意力变体Attention:基础多头注意力类,支持GQA(Grouped Query Attention)BertAttention:BERT风格的双向注意力DeepseekV2Attention:针对DeepSeek模型的优化实现CogVLMAttention:多模态视觉-语言模型注意力。
2025-11-25 14:51:12
282
原创 PyTorch 仓库分析与学习路径
性能与易用性平衡:C++后端保证性能,Python前端提供易用接口可扩展性设计:通过钩子、子类化支持功能扩展健壮的错误处理:全面的前置条件检查和清晰的错误信息广泛的互操作性:支持NumPy、CUDA、DLPack等多种数据交换标准内存效率优化:写时拷贝、存储共享、惰性初始化等技术通过深入学习这个文件,可以理解PyTorch张量系统的精妙设计,为进一步学习深度学习框架实现奠定坚实基础。
2025-11-25 14:47:30
250
原创 PyTorch 仓库分析与学习路径
PyTorch作为现代深度学习框架的代表,其设计哲学体现了"Python优先"和"研究友好"的理念。通过系统学习其架构和实现,不仅能够熟练使用PyTorch进行深度学习开发,更能深入理解现代机器学习系统的设计原理。建议学习者按照上述路径循序渐进,在每个阶段都要有充分的实践,并逐步深入到源码层面的理解。这样不仅能成为PyTorch的熟练使用者,还能为开源社区做出贡献。
2025-11-25 14:46:40
230
原创 DeepSpeed 代码仓库分析报告
是微软开发的深度学习优化库,专注于大规模模型训练和推理的效率优化。从代码结构可以看出,它是一个高度模块化的系统,支持从小规模到超大规模(如530B参数)模型的训练。DeepSpeed 代表了当前大规模深度学习系统设计的最佳实践,其模块化架构和渐进式优化策略值得深入学习和借鉴。
2025-11-25 14:44:01
343
转载 并查集UnionFindSet
class UnionFindSet {public: UnionFindSet(int n) { ranks_ = vector<int>(n + 1, 0); parents_ = vector<int>(n + 1, 0); for (int i = 0; i < parents_.size(); ++i) parents_.
2021-08-30 21:11:23
274
原创 Hash冲突
Hash表散列函数:一个把查找表中的关键字映射层该关键字对应的地址的函数,记为Hash(key) = Addr, 散列 函数可能会把两个或两个以上的不同关键字映射到同一地址,称这种情况为“冲突”,这些发生碰撞的不同 关键字称为同义词。理想情况下,对散列表进行查找的时间复杂度为O(1),即与表中元素个数无关。散列函数的构造方法直接定址法 H(key) = a*key + b这种方法计算最简单,并且不会产生冲突。它适合关键字的分布基本连续的情况,若关键字分布不连续,空位较多,将造成存储空间的
2021-08-26 23:16:34
336
原创 百度一面 手写hash
#include <iostream>#include <vector>#include <string>#include <algorithm>using namespace std;class hashtable { friend ostream& operator<<(ostream &out, const hashtable& h);public: void insert(int ke.
2021-08-21 09:37:51
348
原创 2021-08-20 图 排序算法复习
图排序算法复习冒泡排序void bubbleSort1(vector<int> &v){ // 因为n-1个元素排好序了,第n个元素自然就排好序了 for (int i = 0; i < v.size() - 1; i++) { // 每次都确定一个最大的元素 for (int j = 0; j < v.size() - i - 1; j++)
2021-08-20 10:12:48
392
原创 生产者消费者模型 (多线程C实现)
#include <pthread.h>#include <stdio.h>#include <stdlib.h>#define NUM_OF_TASKS 3#define MAX_TASK_QUEUE 11char tasklist[MAX_TASK_QUEUE]="ABCDEFGHIJ";int head = 0;int tail = 0;int quit = 0;pthread_mutex_t g_task_lock;pthread_..
2021-08-05 10:11:22
626
原创 CAS 无锁队列
cas实现https://www.cnblogs.com/shines77/p/4209871.html无锁队列https://blog.youkuaiyun.com/yand789/article/details/27545135
2021-08-03 17:20:46
182
原创 如何测试操作系统是大端还是小端?
#include <stdio.h>int fun1(){ union test { int i; char c; }; union test t; t.i = 1; return (t.c==1);}int main(){ printf("%d\n",fun1()); return 0;}
2021-08-03 15:00:30
217
原创 PV 信号量 生产者消费者模型 读者写者模型 哲学家就餐问题
生产者消费者模型// 生产者消费者模型semaphore mutex=1; // 用于多进程互斥访问缓冲区semaphore empty=n; // 用于生产者判断,buffer是否为空位置可以放置数据semaphore full=0; // 用于消费者判断缓冲区是否有数据可以消费producer() { while(1) { // produce an item in nexp; // 生产一个数据 p(empty); // 判断buffer是
2021-08-01 14:31:10
253
原创 MTU、Keepalive
路径最大传输单元(MTU)是指经过两台主机之间路径的所有网络报文段中最大传输单元的最小值。知道MTU后可以帮助一些像TCP这类的协议避免分片(主要通过设置DF位)。从而减少一次内核中TCP协议栈从传输层向下的一次拷贝。(这个值在TCP连接建立的时候可以确定)TCP 保活机制(keepalive)(这个问题在面试中多次被问)如果在一段时间内(称为保活时间, keepalive time)内连接处于非活动状态,开启保活功能的一端将向对方发送一个保活探测报文。如果发送端没有收到响应报文,那么经过一
2021-08-01 09:34:59
174
转载 内存管理 - -- - - --
虚拟内存内存分段内存分页段页式内存管理Linux内存管理虚拟内存:单片机的CPU是直接操作内存的物理地址缺点:无法同时在内存中运行多个程序,因为后来的程序会覆盖之前的程序问题的关键在于两个程序都使用的是绝对物理地址如何解决?操作系统会提供一种机制,将不同进程的虚拟地址和不同内存的物理地址映射起来程序在访问虚拟地址的时候,由操作系统转换成不同的物理地址,这样不同的进程运行的时候,写入的是不同的物理地址,这样就不会冲突了程序所使用的内存地址叫做虚拟内.
2021-07-29 23:38:52
339
转载 2021-07-29 负载均衡
平时我们常用的有四层负载均衡和七层负载均衡,四层的负载均衡是基于IP和端口实现的,七层的负载均衡是在四层的基础上,基于URL等信息实现。四层负载均衡LVS:重量级软件,本身不支持正则表达式,部署起来比较麻烦,但是性能高,应用范围广,一般的大型互联网公司都有用到。HAProxy:轻量级软件,支持的负载均衡策略非常多,较灵活。Nginx:轻量级软件,支持的协议少(HTTP、HTTPS和Email协议),对于Session支持不友好。¶ 七层负载均衡HAProxy:全面支持七层代理,灵
2021-07-29 20:30:25
176
原创 Linux内核之进程管理
进程的组成: •进程控制块(PCB):进程描述信息、进程控制、管理信息、资源分配清单和 处理机相关信息 •程序段:能被调度程序调度到CPU执⾏的程序代码段 •数据段:原始数据和执⾏过程中产⽣的数据•为了减少程序在并发执⾏时所付出的时空开销,提供操作系统的并发性能,⽽引⼊ 线程 线程由 •线程ID、•程序计数器、•寄存器集合•堆栈组成 线程是进程中的⼀个实体,是被系统独⽴调度和分派的基本单位,线程⾃⼰不拥有 系统资源,只拥有⼀点在运⾏中必不可少的资源, 但它可与..
2021-07-25 16:47:23
908
原创 mysql相关整理
GROUP BY 语句可结合一些聚合函数来使用(用于将每行数据根据某个字段进行分组)如:统计 access_log 各个 site_id 的访问量:SELECT site_id, SUM(access_log.count) AS numsFROM access_log GROUP BY site_id;HAVING 子句在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。HAVING 子句可以让我们筛选分组后的各组数据。如:查找总访问量大于..
2021-07-19 12:13:21
193
3
原创 协程的好处
协程的好处1、最大优势就是协程极高的执行效率。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越明显。2、不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好了,所以执行效率比多线程高很多。因为协程是一个线程执行,那怎么利用多核CPU呢?最简单的方法是多进程+协程,既充分利用多核,又充分发挥协程的高效率,可获得极高的性能。其他一些重要的点:协程并没有增加线..
2021-07-19 10:40:52
2384
原创 muduo中的Buffer和线程池设计
muduo中的buffer指的是一般的应用层缓冲区,Buffer特指muduo::net::Buffer classmuduo的底层缓冲区使用的容器是vector,这里和实验室小伙伴讨论使用vector作为底层容器,开销会比较大,因为当容量不足时,会有大量拷贝开销。使用deque效率可能更高。...
2021-07-13 10:36:52
378
原创 2021-07-06常见面试题整理
http和https的区别?安全,HTTPS是身披SSL外壳的HTTP,利用SSL/TLS建立全信道,加密数据包http和https的区别http和https区别(详细)C++虚函数的原理https://leetcode-cn.com/leetbook/read/cpp-interview-highlights/efvzbt/C++智能指针函数结束时自动释放内存空间,不需要手动释放内存空间std::auto_ptr 具有排他所有权的性质,意思是赋值或者复制都会改变所有权..
2021-07-06 14:06:09
957
转载 Kubernetes容器持久化存储
PV:持久化存储卷PVC:Pod所希望使用的持久化存储的属性容器的Volume,就是将一个宿主机上的目录,跟一个容器里的目录绑定挂载在一起如上图:PVC描述的是Pod想要使用的持久化存储的属性,比如存储的大小、读写权限等。 PV描述的是一个具体的Volume的属性,比如Volume的类型、挂载目录、远程存储服务器地址等 StorageClass的作用是充当PV模板,只有同属于一个StorageClass的PV和PVC才可以绑定在一起。以及指定PV的存储插件(Provisioner)
2021-06-28 14:36:33
385
原创 2021-06-25 Kubernetes作业管理
Docker容器的本质:Namespace做隔离,Cgroups做限制,rootfs做文件系统,Poid是Kubernetes中的最小调度单位。Kubernets是未来云计算系统中的操作系统,而容器是其中的进程。Pod是一组共享了某些资源的容器,Pod里的所有容器,共享的是同一个Network Namespace,并且可以声明同一个Volume。凡是调度、网络、存储以及安全相关的属性,基本上是Pod级别的。凡是与容器的Linux Namespace相关的属性,也一定是Pod级别的。Nod
2021-06-27 13:50:59
236
转载 计算机网络面试整理
OSI七层模型:应用层、会话层、表示层、传输层、网络层、链路层、物理层TCP/IP四层模型:应用层、传输层、网络层、数据链路层(对应网络接口及硬件层)传输层作用:分用和复用的概念。该层对应于OSI参考模型的传输层,为上层实体提供源端到对端主机的通信功能。传输层的两个主要协议:传输层控制协议(TCP)和用户数据报协议(UDP)。其中面向连接的TCP协议保证了数据的传输可靠性,面向无连接的UDP协议能够实现数据包简单、快速传输;(TCP/IP)各层对应的主要协议:应用层:HTTP, FTP, N
2021-06-23 20:56:59
190
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅