首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 并行算法与向量指令集的实战经验

    最近在优化一个大规模数据处理系统时,遇到了性能瓶颈,迫使我深入研究了并行算法设计和向量指令集优化。这两个月的"折腾"让我收获颇丰,今天就来分享一下这段实践经历和一些思考。 这时,一位同事提醒我可以尝试使用向量指令集。老实说,虽然之前听说过SIMD(单指令多数据),但从未深入研究过。抱着试一试的心态,我开始学习如何利用现代处理器的向量指令集向量指令集允许CPU在一个时钟周期内对多个数据执行相同的操作,特别适合数组运算、图像处理等场景。 主流向量指令集的实践对比在学习过程中,我尝试了几种不同的向量指令集,总结如下:指令集支持平台数据宽度实际加速效果开发难度SSE4.2较老Intel/AMD128位2-3倍中等AVX2现代x86256位3 Eigen, IPP提供优化的向量操作Eigen接口清晰,IPP性能出色编译器GCC, Clang自动向量化Clang的诊断信息更友好总结与思考通过这次实践,我深刻体会到并行算法设计和向量指令集对现代高性能计算的重要性

    34210编辑于 2025-07-26
  • 来自专栏全栈程序员必看

    git指令集

    Git 是分散式的版本控制系統, 從架設、簡易操作、設定, 此篇主要是整理 基本操作、遠端操作 等.

    56120编辑于 2022-08-23
  • 来自专栏乐行僧的博客

    java指令集

    1.栈和局部变量操作 ,将常量压入栈的指令 aconst_null 将null对象引用压入栈 iconst_m1 将int类型常量-1压入栈 iconst_0 将int类型常量0压入栈 iconst_1 将int类型常量1压入栈 iconst_2 将int类型常量2压入栈 iconst_3 将int类型常量3压入栈 iconst_4 将int类型常量4压入栈 iconst_5 将int类型常量5压入栈 lconst_0 将long类型常量0压入栈 lconst_1 将long类型常量1压入栈 fconst_0 将float类型常量0压入栈 fconst_1 将float类型常量1压入栈 dconst_0将double类型常量0压入栈 dconst_1 将double类型常量1压入栈 bipush 将一个8位带符号整数压入栈 sipush将16位带符号整数压入栈 ldc把常量池中的项压入栈 ldc_w 把常量池中的项压入栈(使用宽索引) ldc2_w 把常量池中long类型或者double类型的项压入栈(使用宽索引)

    56510编辑于 2022-02-24
  • 来自专栏全栈程序员必看

    luaJIT指令集介绍

    luaJIT指令集介绍 —————-目录————— (a)相关ByteCode定义介绍 (b)lj_bc.h和lj_bc.c (1)字节码format简介 (2)操作数的相关范围定义,和部分定义常量 这里定义了BCMode的类型,这里主要是定义参数类型,因为扩展了很多操作指令,所以参数类型的也变得更丰富 (8)参数类型校验 这里的参数校验定义为 a 0~2 位 b 3~6位 c 7~10 位 d 与c相同,但是有hasd这个校验步骤,就是检验b是不是modeNone mm 11位以后 到这里全部的指令集定义已经完全介绍完毕,接下来将介绍read和write来进一步讲解

    1.2K20编辑于 2022-11-08
  • 来自专栏Python与算法之美

    10分钟入门faiss相似向量检索

    一,faiss简介 faiss全称 Facebook AI Similarity Search,是FaceBook的AI团队针对大规模向量 进行 TopK 相似向量 检索 的一个工具,使用C++编写 ,有python接口,对10亿量级的索引可以做到毫秒级检索的性能。 faiss的主要原理是构建base vectors向量数据的index索引,然后利用索引对search vectors 实现 TopK 相似向量检索。 # index向量库的向量 faiss.normalize_L2(xb) print('xb.shape = ',xb.shape,'\n') # 二,准备查询向量 # 待检索的query向量 faiss.normalize_L2(xq) print('xq.shape = ',xq.shape,'\n') # 三,构建向量库索引

    5K30编辑于 2023-09-05
  • 来自专栏同步文章

    jvm指令集

    dup_x1 复制栈顶部一个字长的内容,然后将复制内容及原来弹出的两个字长的内容压入栈

    48220编辑于 2022-10-25
  • 来自专栏林欣哲

    ISA指令集

    今天的内容来源于《计算机系统概论》的第4章,介绍的指令是作者根据x86指令简化设计的一个自称为LC-3(Little Computer-3 edition)的指令集

    1.9K70发布于 2018-04-10
  • 来自专栏Android开发经验分享

    Dalvik指令集

    转载请以链接形式标明出处: 本文出自:103style的博客 对于 Android 4.4 之前的系统, 可以在 Android 源码 davik/libdex/DexOpcodes.h中找到完整的Dalvik指令集 对于 Android 4.4 及之后的以 ART 主导的系统, 可以在 Android 源码 art/runtime/dexinstuctionlist.h中找到完整的Dalvik指令集。 有以下两种指令集: iinstanceop vA, vB, field@CCCC : 操作普通字段,以i开头 – iget读,iput写 sstaticop vAA, field@CCCC : 操作静态字段 sget-char 、iput-char 、sput-char iget-short 、sget-short 、iput-short 、sput-short 在 Android 4.0 中, Dalvik指令集增加了以下两类指令

    1K20编辑于 2022-12-19
  • 来自专栏全栈程序员必看

    ARM指令集

    CMP R1,#10 ;做R1-10的操作。 3)S项(sign) S项是条件码设置项,它决定本次指令执行的结果是否影响至CPSR寄存器的相应状态位的值。 SUB R3, R1, #10 SUB R3, R1, R2 SUB R3, R1, R2, LSL #2 SUB R3, R1, R2, LSL 因此,当子程序使用Thumb指令集,而调用者使用ARM指令集时,可以通过BLX指令实现子程序的调用和处理器工作状态的切换。 ;R0 = R1 – 256 SUB R0, R2, R3, LSL#1 ;R0 = R2 – (R3 << 1) ADDS R1, R1, #10 Thumb指令集合 Thumb指令集是ARM指令集的一个子集,允许指令编码为16位的长度,Thumb指令集在保留32位代码优势的同时,大大节省了系统的存储空间。

    1.6K20编辑于 2022-07-05
  • 来自专栏全栈程序员必看

    eBPF指令集_sse3指令集

    寄存器及调用约定 通用的RISC指令集,11个64位寄存器,一个程序计数器和512字节的栈空间构成。 10个通用寄存器+1个只读FP(帧指针寄存器),所有寄存器64bit宽。 R0:函数返回值、程序退出值 R1-R5:函数调用参数 R6-R9:被调用者保存函数(调用保留的)寄存器 R10:只读FP用于访问栈 R0-R5是临时寄存器,eBPF程序在调用之间将它们从寄存器转移到内存或从内存转移到寄存器 src_reg’ 寄存器作为源操作数 算数指令 operation code编码的操作 code value description BPF_ADD 0x00 dst += src BPF_SUB 0x10 dst_reg = htole16(dst_reg) 跳转指令 code value description notes BPF_JA 0x00 PC += off BPF_JMP only BPF_JEQ 0x10 修饰符 size modifier value description BPF_W 0x00 word (4 bytes) BPF_H 0x08 half word (2 bytes) BPF_B 0x10

    72920编辑于 2022-11-08
  • 来自专栏资讯分享

    腾讯云向量数据库正式上线公测!提供10亿级向量检索能力

    8月1日,腾讯云向量数据库(Tencent Cloud Vector DB)正式上线公测,点击本文末尾的“阅读原文”,即可申请体验。 腾讯云向量数据库是国内首个从接入层、计算层、到存储层提供全生命周期AI化的向量数据库。 作为一款全托管的自研企业级分布式数据库服务,腾讯云向量数据库专用于存储、检索、分析多维向量数据。 该数据库支持多种索引类型和相似度计算方法,单索引支持 10 亿级向量规模,可支持百万级 QPS 及毫秒级查询延迟。 向量数据库通过把数据向量化然后进行存储和查询,可以极大地提升效率和降低成本。 统计显示,将腾讯云向量数据库用于大模型预训练数据的分类、去重和清洗相比传统方式可以实现10倍效率的提升,如果将向量数据库作为外部知识库用于模型推理,则可以将成本降低2-4个数量级。 此前,腾讯云向量数据库的向量化能力(embedding)曾多次获得权威机构认可,2021年曾登顶MS MARCO榜单第一、相关成果已发表于NLP顶会EMNLP。

    42020编辑于 2023-08-03
  • 艾体宝产品丨Redis 8 向量搜索实测:轻松扩展至 10 亿向量

    面对生成式 AI 带来的超大规模向量需求,Redis 8 向量搜索实测轻松支持 10 亿向量,依旧保持低延迟与高吞吐表现。 我们发现了一些需要 10 亿个或更多向量的使用场景,很高兴能分享我们在这一规模上的基准测试结果。 将向量搜索扩展到 10 亿个向量并非易事,但 Redis 8 的发布让这一过程显得轻松。 今天,我们将通过展示 Redis 在实时搜索 10 亿个 768 维向量时的处理能力,来说明它如何应对大规模应用程序。 测试配置详解我们使用了一个与 Intel® 合作准备的向量数据集,该数据集包含 10 亿个 768 维向量,采用 FLOAT16 精度和 10K 查询,每个查询有 100 个真实值(精确邻居,exact

    58110编辑于 2025-05-22
  • 来自专栏腾讯云数据库(TencentDB)

    腾讯云向量数据库正式上线公测!提供10亿级向量检索能力

    今日,腾讯云向量数据库(Tencent Cloud Vector DB)正式上线公测,点击本文末尾的“阅读原文”,即可申请体验。 腾讯云向量数据库是国内首个从接入层、计算层、到存储层提供全生命周期AI化的向量数据库。 作为一款全托管的自研企业级分布式数据库服务,腾讯云向量数据库专用于存储、检索、分析多维向量数据。 该数据库支持多种索引类型和相似度计算方法,单索引支持 10 亿级向量规模,可支持百万级 QPS 及毫秒级查询延迟。 向量数据库通过把数据向量化然后进行存储和查询,可以极大地提升效率和降低成本。 统计显示,将腾讯云向量数据库用于大模型预训练数据的分类、去重和清洗相比传统方式可以实现10倍效率的提升,如果将向量数据库作为外部知识库用于模型推理,则可以将成本降低2-4个数量级。 此前,腾讯云向量数据库的向量化能力(embedding)曾多次获得权威机构认可,2021年曾登顶MS MARCO榜单第一、相关成果已发表于NLP顶会EMNLP。

    59530编辑于 2023-08-03
  • 来自专栏iOS开发~

    iOS_Apple 指令集

    文章目录 Apple 指令集 ARM架构 指令集对应设备 Architectures Build Active Architecture Only Valid Architectures Apple 指令集 ARM架构 ​ ARM架构,过去称作高级精简指令集机器(英语:Advanced RISC Machine,更早称作艾康精简指令集机器,Acorn RISC Machine),是一个精简指令集(RISC) (RISC) Intel处理器:使用复杂指令集(CISC) ARM处理器指令集 ARM指令集:计算机ARM操作指令系统 armv6、armv7、armv7s、arm64、arm64e 都是arm处理器的指令集 (比如:你的设备是armv7s指令集,那么它可以兼容运行比armv7s版本更低的指令集:armv7、armv6,只是使用armv6指令集时无法充分发挥其性能,即无法使用armv7指令集中的新特性) Xcode4.5 苹果的A7处理器支持两个不同的指令集: 32位ARM指令集(armv6、armv7、armv7s) 64位ARM指令集(arm64) 另外: i386:通常被用来作为Intel 32位微处理器的统称。

    1.8K20编辑于 2022-07-20
  • 来自专栏Node Python Go全栈开发

    使用 Makefile 构建指令集

    使用 Makefile 构建指令集 make 是一个历史悠久的构建工具,通过配置 Makefile 文件就可以很方便的使用你自己自定义的各种指令集,且与具体的编程语言无关。 使用 Makefile 构建指令集可以很大的提升工作效率。

    1.1K10发布于 2020-07-17
  • 来自专栏叶子的开发者社区

    MIPS指令集实验

    r29) sw r1,20(r29) sw r2,16(r29) sw r3,12(r29) sw r8,8(r29) sw r9,4(r29) sw r10,0(r29) lw r10 ,size(r0) daddi r10,r10,-1 daddi r1,r0,0 loop2: daddi r2,r0,0 loop3: dsll r3,r2,3 lw r8,array(r3) slt r3,r8,r9 bnez r3,fine dadd r5,r2,r0 daddi r4,r0,array jal swap fine: daddi r2,r2,1 bne r2,r10 ,loop3 daddi r1,r1,1 bne r1,r10,loop2 lw r10,0(r29) lw r9,4(r29) lw r8,8(r29) lw r3,12(r29) ,size(r0) daddi r10,r10,-1 daddi r1,r0,0 loop2: daddi r2,r0,0 loop3: dsll r3,r2,3 lw r8,array(r3)

    54540编辑于 2023-10-09
  • 来自专栏JusterZhu

    IL指令集--box

    再往下一层可以通过一些反编译工具查看IL指令集,可以看到一个box指令,那这个指令做了什么事情呢? int i = 123; object o = i; // 箱装操作 IL指令集: .locals init ( [0] int32, [1] object ) // 初始化变量i IL

    48330编辑于 2023-09-18
  • 来自专栏Postgresql源码分析

    Postgresql引入SIMD指令集

    snapshot->xcnt; i++) { if (TransactionIdEquals(xid, snapshot->xip[i])) return true; patch引入SIMD指令集

    74530编辑于 2022-11-21
  • 来自专栏LCHub低代码社区

    向量数据库指南》——腾讯云向量数据库Tencent Cloud Vector DB正式上线公测!提供10亿级向量检索能力

    8月1日,腾讯云向量数据库(Tencent Cloud Vector DB)已正式上线公测。在腾讯云官网上搜索“向量数据库”,就可以正式体验该产品。 腾讯云向量数据库是国内首个从接入层、计算层、到存储层提供全生命周期AI化的向量数据库。 图片 作为一款全托管的自研企业级分布式数据库服务,腾讯云向量数据库专用于存储、检索、分析多维向量数据。 该数据库支持多种索引类型和相似度计算方法,单索引支持 10 亿级向量规模,可支持百万级 QPS 及毫秒级查询延迟。 图片 点击进入腾讯云向量数据库Tencent Cloud Vector DB 向量数据库通过把数据向量化然后进行存储和查询,可以极大地提升效率和降低成本。 图片 统计显示,将腾讯云向量数据库用于大模型预训练数据的分类、去重和清洗相比传统方式可以实现10倍效率的提升,如果将向量数据库作为外部知识库用于模型推理,则可以将成本降低2-4个数量级。

    1.3K310编辑于 2023-08-01
  • 来自专栏用户7721898的专栏

    什么是cpu指令集

    当我们查看cpu的时候在最下面的就是cpu指令集 ? CPU指令集是什么? CPU指令集都是存储在CPU内部的,主要是对CPU运算进行优化、指导的硬程序,有了这些CPU指令集,CPU就能够更快速高效的工作。 一般来说,预设存储的指令越多,那么CPU就越“聪明”,预设存储的指令越先进,CPU也就越高级,预设的很多指令集中在一起,那么就是所谓的“指令集”。 CPU指令集的作用 CPU指令集的多少,对CPU的效率影响较大,但是对于普通用户来说,功能几乎并不会有影响。 文章结束,以上就是关于CPU指令集是什么?

    1.9K20发布于 2021-03-02
领券