首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏奇点大数据

    话说量化7

    俗话说,“有钱能使鬼推磨”,这话虽然说有点夸张,不过已经是把金钱的力量描绘得非常清楚了。绝大部分人都是趋利的,所以在我看来,“利”是驱动人们协作、交互、杀伐的最基本动机,也是驱动世界运动的核心动力。只不过广义的“利”这个东西不仅仅是金钱这么简单——有的人可能被自己所信服的大义所打动,有的人可能为了自己追求的某种癖好而耗尽毕生心血,很显然刚刚说的这两样东西都不是简单用货币能衡量清楚的。为了讨论方便一些,我们现在还是指说能够用货币衡量的,商业环境下的,常态的买卖行为好了。

    36720发布于 2018-10-23
  • 来自专栏腾讯云数据库(TencentDB)

    查询执行效率低下?向量化执行来帮你

    以查询计划执行为例。 向量化执行就是解决上述问题的一种有效手段。 作为国内领先的数据库厂商,腾讯云数据库一直致力于推动国产数据库学术人才培养和技术创新生态建设发展。 在本期DB · 洞见直播中,我们邀请到了腾讯云数据库高级工程师胡翔,来为大家介绍向量化执行的最新技术创新、基本原理以及向量化引擎的相关实现。 就在7月20日(周三)19:00 - 20:00,腾讯技术专家为你在线分享!快来扫码预约直播吧! 专家介绍 胡翔 腾讯云数据库高级工程师 博士毕业于中国科学院软件研究所,加入华为高斯实验室工作多年,加入腾讯后主要负责TDSQL PG版数据库向量化执行引擎等相关特性的设计开发工作。

    68620编辑于 2022-07-19
  • 来自专栏利志分享

    浅析Clickhouse的向量化执行

    量化执行就是这种方式的典型代表,这项寄存器硬件层面的特性,为上层应用程序的性能带来了指数级的提升。 向量化执行,可以简单地看作一项消除程序中循环的优化。这里用一个形象的例子比喻。 为了制作n杯果汁,非向量化执行的方式是用1台榨汁机重复循环制作n次,而向量化执行的方式是用n台榨汁机只执行1次。 为了实现向量化执行,需要利用CPU的SIMD指令。 ClickHouse的向量化执行机制主要依赖于SSE指令集,下面简要介绍之。 SSE指令集 SSE指令集是MMX的继任者,其第一版早在Pentium III时代就被引入了。 cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported" SSE指令集以8个128位寄存器为基础,命名为XMM0~XMM7

    94320编辑于 2022-04-25
  • 来自专栏大数据&分布式

    Spark Gluten 向量化执行框架

    背景 向量化执行模型已在现代数据库引擎被广泛应用,例如ClickHouse、TiDB、StarRocks等。 Photon向量化执行引擎取代了已有的Spark执行模式(JVM & Codegen)。 Gluten实现向量化计算的主要变更如下所示,在QueryExecution执行前优化过程中,通过注入规则对物理计划进行扩展处理,转为Gluten物理计划,使用向量化执行模式替换已有的JVM + CodeGen 在Task执行阶段,基于Gluten RDD,通过JNI调用Native引擎(默认Velox)实现向量化执行。 向量化执行引擎框架 Gluten 宣布正式开源,并亮相 Spark 技术峰会

    1.5K54编辑于 2025-01-21
  • 来自专栏量子化学

    利用MOKIT从PySCF其他量化程序传轨道

    近期笔者和另一开发者wsr在MOKIT程序中加入了fchk(),py2molpro,py2molcas,py2qchem等模块,可用于从PySCF程序其他量子化学程序传递分子轨道。 (为什么不用Gaussian算完了传轨道给其他程序:因为Gaussian是商业收费程序,有的课题组/机构没买) (3)自己基于PySCF开发新方法,无现有程序对应,但希望正确地传轨道至下一个量化程序进行后续计算 7. 注意Windows预编译版不支持本文功能,内含的是Gaussian与其他量化程序传轨道的小程序。

    1.9K20编辑于 2022-12-07
  • 来自专栏量子化学

    利用MOKIT从ORCA其他量化程序传轨道

    本文介绍如何使用MOKIT从ORCA其他量化程序传轨道,有以下可能的用途: (1)在ORCA中进行了RIJK或RIJCOSX加速的大体系HF/DFT计算,想传轨道给其他程序进行后续计算,或想产生fch 7. ORCA传轨道给OpenMolcas mkl2inporb h2o.mkl 会产生h2o.INPORB和h2o.input文件。 8. 往往涉及到对称破缺单重态和检验波函数稳定性等问题,计算实例见笔者在计算化学公社论坛上的回帖 http://bbs.keinsci.com/thread-29762-1-1.html 这里我们假设已经获得了.mdci.nat文件,接着执行 若读者在计算中使用全电子基组,自然无此问题;若用了赝势,按上文操作产生其他量化程序的文件不会含赝势信息,即使轨道系数正确,SCF也会剧烈振荡。这里笔者推荐一种解决办法: Step 1. 获得含赝势的fch文件和ORCA相关文件 执行 fch2mkl ZnMe2.chk 随即产生ZnMe2.fch,ZnMe2_o.inp和ZnMe2_o.mkl文件,现在我们就有了一个含赝势信息的fch

    1.6K20编辑于 2023-09-03
  • 来自专栏PostgreSQL研究与原理解析

    聊聊StarRocks向量化执行引擎-过滤操作

    聊聊StarRocks向量化执行引擎-过滤操作 StarRocks是开源的新一代极速MPP数据库,采用全面向量化技术,充分利用CPU单核资源,将单核执行性能做到极致。 本文,我们聊聊过滤操作是如何利用SIMD指令进行向量化操作。 过滤操作的SIMD向量化函数是filter_range,我们以binary类型的列为例: BinaryColumnBase<T>::filter_range 执行过程如下图所示: 1、通过1 7、mask等于0xffffffff,表示全部满足条件,需要将32个数据全部拷贝到结果集中 8、mask等于其他值时,表示有一部分值满足条件。

    1.6K40编辑于 2023-05-25
  • 来自专栏PostgreSQL研究与原理解析

    openGauss-向量化执行引擎-VecUnique算子

    openGauss-向量化执行引擎系列-VecUnique算子 openGauss实现了向量化执行引擎,达到算子级别的并行。也就是说在执行器火山模型基础上,一次处理一批数据,而不是一次一个元组。 前期我们介绍了PgSQL Unique算子的实现机制,本文接着介绍openGauss是如何实现Unique算子向量化的。 简单来说,openGauss的VecUnique算子更多的是为了实现执行器整体性的向量化,减少算子之间因为向量化和非向量化算子之间的兼容而进行的VecToRow和RowToVec算子进行的行与向量之间的转换而完成的 1、VecUniqueState 完成VecUnique算子的主要成员变量: 1)uniqueDone:标记VecUnique算子是否执行完 2)container[]数组:数组大小为2个batch大小即 GUCell个数 5)cellSize:GUCell大小 6)keySimple:distinct列是否是8字节以内,若8字节以内,则为true表示可以直接进行值比较;若大于8字节则需要通过函数进行比较了 7

    60840编辑于 2023-11-05
  • 来自专栏PostgreSQL研究与原理解析

    聊聊ClickHouse向量化执行引擎-过滤操作

    4、上面代码耗时因素在于循环次数非常多,等于data数组的大小 5、如果可以降低循环次数,同时保证单次循环耗时变化不大,总体执行效率更高。 6、SIMD指令目前最大支持512位数据,而filter本身一个值为8位,单词循环处理数据量为512 / 8 = 64个 7、每次取出来64个filter数组项(64字节),将其组成一个64位无符号整数值 :计算a和b两个入参值按8位整数逐位与(AND),产生中间8位值,如果中间值为0,则在结果掩码k中设置相应位: FOR j := 0 to 63 i := j*8 k[j] := ((a[i+7: i] AND b[i+7:i]) == 0) ?

    1.5K50编辑于 2023-05-25
  • 来自专栏PostgreSQL研究与原理解析

    聊聊Doris向量化执行引擎-过滤操作

    聊聊Doris向量化执行引擎-过滤操作 Doris是开源的新一代极速MPP数据库,和StarRocks同源,采用全面向量化技术,充分利用CPU单核资源,将单核执行性能做到极致。 本文,我们聊聊过滤操作是如何利用SIMD指令进行向量化操作。 过滤操作的SIMD向量化函数是_evaluate_vectorization_predicate:和StarRocks实现大致类似,但稍有不同: SegmentIterator::_evaluate_vectorization_predicate 执行过程如下图所示: 1、通过1个字节bool类型的ret_flags数组来表示是否满足过滤条件,1表示满足条件,0表示不满足 2、AVX2指令集环境下:通过_mm256_loadu_si256封装的指令函数加载 7、mask等于0xffffffff,表示全部满足条件,需要将32个数据的行号保存到数组sel_rowid_idx[]中 8、mask等于其他值时,表示有一部分值满足条件。

    1.3K40编辑于 2023-05-25
  • 来自专栏漫谈测试

    如何量化战略成效的执行情况

    避免陷入纯技术指标(如用例执行数),一定要连接到业务影响。同时提醒避免常见陷阱,比如过度追求单一指标(如自动化覆盖率)而忽略质量本质。 量化战略成效的执行,就是将测试团队的日常工作与公司/部门的宏观战略(如加快上市时间、提升客户满意度、降低运营成本、增强品牌声誉)联系起来,并用数据来证明这种联系的强度和效果。 量化,就是从测试战略中分解出可衡量的关键结果。 成本维度(彰显管理的精细化)将质量成本(Cost of Quality)量化管理层展示投资回报。 作为测试管理者,量化战略成效的本质是搭建一座桥梁,将技术性的测试活动转化为商业语言,组织证明:我们在正确地做事(效率): 通过效能指标体现。

    34410编辑于 2025-09-12
  • 来自专栏Spark学习技巧

    一文了解 ClickHouse 的向量化执行

    它实现了单机多核并行、分布式计算、向量化执行与SIMD指令、代码生成等多种重要技术。 向量化执行与SIMD ClickHouse不仅将数据按列存储,而且按列进行计算。传统OLTP数据库通常采用按行计算,原因是事务处理中以点查为主,SQL计算量小,实现这些技术的收益不够明显。 向量执行引擎,通常能够带来数倍的性能提升。 What IS SIMD ? SIMD 即 single instruction multiple data 英文首字母缩写,单指令流多数据流,也就是说一次运算指令可以执行多个数据流,一个简单的例子就是向量的加减。 SSE有8个128位寄存器,XMM0 ~XMM7。可以用来存放四个32位的单精确度浮点数。可以看出,SSE 是一套专门为 SIMD(单指令多数据)架构设计的指令集。

    7.2K31发布于 2021-07-02
  • 来自专栏PostgreSQL研究与原理解析

    openGauss-向量化执行引擎-索引扫描CStoreIndexScan

    openGauss-向量化执行引擎-索引扫描CStoreIndexScan openGauss实现了向量化执行引擎,达到算子级别的并行。 也就是说在执行器火山模型基础上,一次处理一批数据,而不是一次一个元组。这样可以充分利用SIMD指令进行优化,达到指令级别并行。 2、向量化索引扫描算子 openGauss通过CStoreIndexScan算子进行向量化索引扫描。 向量化索引扫描的优势:兼容向量化引擎其他算子,以达到全算子向量化,减少VecToRow和RowToVec的互相转换;同时减少底层算子函数的调用;因为增加了排序,可如同bitmap扫描一样减少heap页的随机访问

    76830编辑于 2023-11-05
  • 来自专栏PostgreSQL研究与原理解析

    openGauss - 向量化执行引擎 - distinct分组聚合的实现

    openGauss - 向量化执行引擎 - distinct分组聚合的实现 openGauss向量化执行引擎中分组聚合有两种实现方式:排序和hash。 其中普通group by就是每次查询生成一个分组的聚合;而grouping sets、cube或者rollup分组集就是每次查询生成不同级别或者多个维度的聚合,详见: 下面我们看下openGauss向量化执行引擎中对这些分组聚合如何实现 它的聚合走另外分支: 2、原理 1)通过CStoreScan算子从磁盘上加载一批数据到内存,并通过VecSort向量化算子进行排序 2)从排好序的数据中(要么都在内存,要么溢出到磁盘)拿一批数据batch Batchsortstate中,进行排序 6)从上面排好序的batchsortstate中取出一个batch,若时distinct则进行去重后再进行聚合,若为order by则直接进行聚合 7)然后对当前阶段的下组 组号为curr_set 8)当前阶段计算完后,切换阶段进入下一个阶段聚合计算 9)下一个阶段计算前,需要先对m_batchSortIn排序,然后进行4)、5)、6)7)操作,直到所有阶段的聚合都计算完。

    62610编辑于 2024-05-06
  • 来自专栏AI智韵

    YoloV7改进策略:RefConv打造轻量化YoloV7利器

    我们使用RefConv替换YoloV7中的卷积,既能提高精度,又能降低运算量,使得模型更加轻量化! , 3, stride, 1, bias=False), norm_layer(oup), nlin_layer(inplace=True) ) YoloV7官方结果

    26510编辑于 2024-10-22
  • 来自专栏漏洞复现

    锐捷 EWEB auth 远程命令执行漏洞RCE(批量化

    name: auth接口存在RCE漏洞 author: someone severity: critical description: auth接口存在RCE漏洞,恶意攻击者可能会利用该漏洞执行恶意命令

    3.4K10编辑于 2024-03-10
  • 来自专栏捞月亮的小北

    7. 特殊SQL的执行

    t_student(student_id,student_name,clazz_id)

    24010编辑于 2023-12-01
  • 来自专栏AI科技评论

    微软全球执行副总裁沈洋:7 点总结 20 多年的 AI 从业经验

    近日,微软全球执行副总裁、微软人工智能负责人沈洋在北京的“未来论坛”中发表了《有情商的人工智能,让世界更美好》的演讲,深入讲述了自己多年的 AI 从业经验、微软 25 年的 AI 研究成果,以及他对赋予 沈洋之“北京遇上西雅图” 从西雅图到北京后,沈洋先是回忆了自己小时候的故事和在微软亚研的工作经历: “我这次回国之前,我想起自己小时候在南京的一些场景。 沈洋说: 几年前我还觉得计算机没有办法像人一样识别人的语言。然而现在微软已经成了一家能够让计算机听懂人说话的公司,其中微软拥有一个存在了 25 年的数据集。 沈洋指出: 我们坚信 AI 对所有人都是适用的我们非常兴奋能够与其他合作伙伴开展合作,来解决人工智能相关问题。我们已经取得了很大的成就,但要建立一个通用型 AI 还有很多的事情要做。 演讲最后,沈洋说到: AI 的未来现在才刚刚开始,我对此充满希望。正如 Alan Kay 所说:我们对未来进行最好的预测就是发明未来。作为第一代 AI 从业者,发明未来就是我们想要做的事。

    86350发布于 2018-03-09
  • 来自专栏正则

    PHP7语言执行原理

    PHP作为一种解释型语言,不同于编译型语言编译结果即为当前CPU体系的指令,PHP源代码只有编译成opcode才能够被zend虚拟机直接执行。 下面就简单描述PHP7语言执行原理: 1. 抽象语法树(AST)编译生成opcode; 我们常常讨论的解释型语言执行效率较低,原因在于PHP执行过程中要多了翻译为opcode的过程。 这种执行机制的优点在于有效避免内存泄漏,内存回收机制更简单,缺点就是每个PHP请求都得重复执行请求-翻译-执行的过程。 陈雷,PHP7底层设计与源码实现 2. 列旭松,陈文,PHP核心技术与最佳实践 以上就是浅述PHP7底层设计01-PHP7语言执行原理的详细内容 更多学习内容请访问: 腾讯T3-T4标准精品PHP架构师教程目录大全,只要你看完保证薪资上升一个台阶

    77010编辑于 2021-12-05
  • 来自专栏FreeBuf

    内网漫游:通过RDP劫持远程系统执行任意代码

    Seth是一种可以帮助你自动执行RDP中间人攻击的工具,无论目标是否启用了网络级身份验证(NLA),它都将为你完美的执行。 成功执行后,该工具将在后台执行一系列的步骤,以确保攻击的成功实施。以下是执行的相关流程: 欺骗ARP回复 启用IPv4流量转发,将流量从受害主机重定向到攻击者机器,然后再转发到目标RDP服务器。 步骤1-3将在受害者身份验证之前执行。尝试通过RDP目标服务器进行身份验证的用户将会收到以下消息: ? 当用户建立连接时,其凭据将以明文形式显示给攻击者。 ? 批处理脚本将会在工作站每次启动时执行,以实现后门持久化。 ? 当通过RDP受感染主机验证的提权用户重启他的机器时,代码将被执行。 ? 创建一个使用系统级权限执行tscon的服务,将劫持ID为3的会话。

    1.6K20发布于 2018-07-30
领券