这几天突发想到在ETL中Merge性能的问题。思路的出发点是Merge到目标表需要扫描的数据太多,而现实情况下,假设应该是只有一小部分会被更新,而且这部分数据也应该是比较新的数据,比方说对于想FactOrders这样一张表,一些越日期越久远的订单可能不可能被更新。那么整个思路就是减小每次需要从磁盘加载目标表到内存中跟stage表进行merge操作的数据量。只是我存在着两个疑问,这也是我问题要进行下
转载
2024-07-14 09:46:21
66阅读
1.5 XenServer优化1.5.1 N+1原则每个pool至少3台物理机,符合N+1原则1.5.2三网分离原则1)管理网、业务网、存储网相分离2)XenServer配置管理地址,与业务网相分离。3)6块网卡做绑定: Bond1(网卡1+ 4),用于管理 Bond2(网卡2+5),用于业务 Bond3(网卡3+6),如有IP存储则使用;HBA卡光纤存储则不使用1.5.3硬盘优
转载
2024-03-22 15:18:45
59阅读
袁亚湘院士经典优化方法漫谈报告笔记1 什么是优化优化:多种选择中挑最好的 任何存在决策的问题是优化问题 ,优化是运筹管理的核心方法,机器学习深度学习人工智能本质是一种优化问题。 在数学中为求极值问题。2 线性规划2.1单纯性法解在顶点 单纯型法 在顶点调整。 几何上寻找凸面体上最低点,直观简单。 缺点:不是多项式算法,存在例子遍历所有顶点。2.2 内点法在之前先介绍椭球算法。 蓝色为可行凸集,构造
转载
2024-07-07 11:11:18
91阅读
文章目录基础概念进程上下文切换系统调用相关的概念触发进程调度的集中情况线程上下文切换线程和进程概念线程切换的不同情况中断上下文切换 基础概念CPU 寄存器是 CPU 内置的容量小、但速度极快的内存程序计数器用来存储 CPU正在执行的指令位置、或者即将执行的下一条指令位置CPU 上下文切换通俗理解:将前一个任务的CPU 上下文(也就是 CPU 寄存器和程序计数器)保存起来,加载新任务的上下文到这些
cuda程序优化一:程序优化概述 1:精度 在关键步骤使用双精度,其他步骤使用单精度,以获得指令吞吐量和精度的平衡。 2:延迟 先缓冲一定量数据,在交给GPU计算。可以获得较高的数据吞吐量。 3:计算量 1):绝对计算量 当计算量较少时,不因用GPU 2):相对计算量 当计算量中的并行站大多比例,因使用GPU并行计算。 4:优秀的CUDA程序 1)给点数据规模下,选用的算法复杂度不明显高
转载
2024-04-26 18:23:56
185阅读
前言上一节,我们学习了内存性能中 Buffer 和 Cache 的概念。简单复习一下,Buffer 和 Cache 的设计目的,是为了提升系统的 I/O 性能。它们利用内存,充当起慢速磁盘与快速 CPU 之间的桥梁,可以加速 I/O 的访问速度。Buffer 和 Cache 分别缓存的是对磁盘和文件系统的读写数据。从写的角度来说,不仅可以优化磁盘和文件的写入,对应用程序也有好处,应用程序可以在数据
转载
2024-05-15 07:55:05
49阅读
前一篇博文介绍了CNN优化加速的一些基础理论,包括卷积相关的基础知识,常见的CNN模型加速策略(知识蒸馏、量化、剪枝以及设计更轻的网络架构等)本篇博文针对轻量化网络设计问题展开,首先总结了常见的三个轻量化网络亮点,其次具体介绍每个网络的设计思路。常见轻量化网络亮点对比 MobileNet 网络MobileNet v1背景:模型权重大小:VGG16(490M);ResNet152(644M
转载
2024-04-16 09:58:25
217阅读
MegEngine亚线性显存优化 MegEngine经过工程扩展和优化,发展出一套行之有效的加强版亚线性显存优化技术,既可在计算存储资源受限的条件下,轻松训练更深的模型,又可使用更大batch size,进一步提升模型性能,稳定batchwise算子。使用MegEngine训练ResNet18/Re
转载
2021-02-17 06:54:00
210阅读
2评论
GEMM与AutoKernel算子优化 随着AI技术的快速发展,深度学习在各个领域得到了广泛应用。深度学习模型能否成功在终端落地应用,满足产品需求,一个关键的指标就是神经网络模型的推理性能。一大波算法工程师为了算法的部署转岗算子优化工程师。优化代码并不是一件简单的事,要求工程师既要精通计算机体系架构
转载
2021-02-23 05:40:00
671阅读
2评论
结合CUDA官方文档简要介绍下处理GPU显存的3个API:cudaMalloc():在显存上申请一块指定大小的动态内存。cudaMemcpy():一般用作Host端内存数据和Device端显存数据互相传输拷贝。cudaFree():释放显存中的动态内存。这三个函数和标准C中的malloc()、memcpy()、free()的功能是类似的。 接下来我会首先简要分析3个API函数的用法,然后以一个具体
转载
2024-07-11 11:25:08
130阅读
MegEngine计算图、MatMul优化解析 本文针对天元在推理优化过程中所涉及的计算图优化与 MatMul 优化进行深度解读,希望能够帮助广大开发者在利用天元 MegEngine「深度学习,简单开发」的同时,也能够了解 CPU 优化的相关知识。从而帮助大家在模型部署的整体流程中更好地进行加速;在
转载
2021-02-17 07:49:00
0阅读
如何在CPU上优化GEMM(下) Array Packing 另一个重要的技巧是数组打包。这个技巧是对数组的存储维度进行重新排序,将某个维度上的连续访问模式在平滑后转换为顺序模式。 如上图所示,在阻塞计算之后,可以观察到B的数组访问模式(扁平化后),它是规则的但不连续的。期望经过一些转换,可以得到连
转载
2020-12-09 16:45:00
101阅读
2评论
如何在CPU上优化GEMM(上) (TL;DR)TVM提供了抽象接口,用户分别描述算法和算法的实现组织(所谓的调度)。通常,在高性能调度中编写算法会破坏算法的可读性和模块性。尝试各种看似有希望的时间表是很耗时的。在TVM的帮助下,可以有效地尝试这些调度来提高性能。 本文将演示如何使用TVM优化平方矩
转载
2020-12-09 14:06:00
245阅读
2评论
Megengine量化 量化指的是将浮点数模型(一般是32位浮点数)的权重或激活值用位数更少的数值类型(比如8位整数、16位浮点数)来近似表示的过程。 量化后的模型会占用更小的存储空间,还能够利用许多硬件平台上的专属算子进行提速。比如在 MegEngine 中使用8位整数来进行量化,相比默认的32位
转载
2021-02-10 11:01:00
279阅读
2评论
MegEngine 的 optimizer 模块中实现了大量的优化算法, 其中 Optimizer 是所有优化器的抽象基类,规定了必须提供的接口。
原创
2023-04-13 15:33:05
142阅读
作者:王彪 | 旷视框架部异构计算组工程师 一、背景 什么是天元 旷视天元(MegEngine)是一个深度学习框架,它主要包含训练和推理两方面内容。训练侧一般使用 Python 搭建网络;而推理侧考虑到产品性能的因素,一般使用 C++ 语言集成天元框架。无论在训练侧还是推理侧,天元都担负着将训练和推 ...
转载
2021-08-06 13:59:00
132阅读
本篇整理自 3.19 日 “Large Kernel Makes CNN Great Again” 专题 Meetup 中《MegEngine 大 Kernel 卷积工程优化实践》分享。
原创
精选
2023-01-09 11:34:44
538阅读
作者:王彪 | 旷视框架部异构计算组工程师 一、背景 什么是天元 旷视天元(MegEngine)是一个深度学习框架,它主要包含训练和推理两方面内容。训练侧一般使用 Python 搭建网络;而推理侧考虑到产品性能的因素,一般使用 C++ 语言集成天元框架。无论在训练侧还是推理侧,天元都担负着将训练和推 ...
转载
2021-08-06 13:59:00
300阅读
用Explain分析SQL语句的时候,经常发现有的语句在Extra列会出现Using filesort,根据mysql官方文档对他的描述:引用MySQL must do an extra pass to find out how to retrieve the rows in sorted order. The sort is done by going throug
Apache TVM 是一个端到端的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 → Apache TVM 是一个端到端的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。 | Apache TVM 中文站
TVM 提供抽象接口,允许用户分别描述算法和算法的实现(所谓的调度)。通常,以高性能调度编写算法会破坏算法的可读性和模块化。此