最新 最热

记一次SIMD指令优化计算的失败经历

书接上回 《统计一个数字二进制位1的个数》,现在我们已经知道如何快速计算出一个int64数字的二进制位1的个数,那么回到我们最初的需求,我们的目的是快速统计一个bitmap中二进制位1的个数,假设我们使用[]uint64来实现bitma...

2024-09-02
1

Elasticsearch: 向量相似性计算 - 极速

任何向量数据库的核心都是决定两个向量接近程度的距离函数。这些距离函数在索引和搜索过程中被多次执行。当合并数据段或在图中寻找最近邻居时,大部分的执行时间都花在了比较向量的相似性上。对这些距离函数进行微优化...

2024-07-05
0

听GPT 讲Rust源代码--library/portable-simd

spectral_norm.rs是一个示例程序,它展示了如何使用Portable SIMD库中的SIMD(Single Instruction Multiple Data)功能来实现频谱规范化算法。该示例程序是Rust源代码中的一个文件,位于rust/library/portable-simd/crates/c...

2024-02-26
1

C++那些事之高性能SIMD

SIMD全称single-instruction multiple-data,单指令多数据。

2023-09-02
1

SIMD系列-GATHER/SCATTER操作

众所周知,SIMD寄存器可以使用LOAD/STORE操作与标量域(或者更准确的说是内存)进行通信。这些操作的缺点是:只允许移动内存中连续的数据元素。然而,我们代码中,经常需要访问非连续的内存。本教程中将解释GATHER/SCATTER操作以...

2023-08-09
1

AVX图像算法优化系列一: 初步接触AVX。

弄了SSE指令集,必然会在不同的场合不同的人群中了解到还有更为高级的AVX指令集的存在,早些年也确实有偶尔写点AVX的函数,但是一直没有深入的去了解,今年十一期间也没到那里去玩,一个人在家里抽空就折腾下这个东西,也慢慢的...

2022-10-27
1

用UE4/UE5的ddx/ddy做描边

无论是用法线图/深度图或其他的图做后处理描边,本质都是求当前像素和上下左右像素的差值,差值较大的像素就是边缘。正好虚幻材质里有ddx/ddy这两个节点,可以直接算相邻像素的差值,而且有硬件的Buff加持,所以比自己手动偏移...

2022-09-28
1

Go汇编语法和MatrixOne使用介绍

MatrixOne是一个新一代超融合异构数据库,致力于打造单一架构处理TP、AP、流计算等多种负载的极简大数据引擎。MatrixOne由Go语言所开发,并已于2021年10月开源,目前已经release到0.3版本。在MatrixOne已发布的性能报告中,...

2022-04-19
3

腾讯发布全球首个面向移动端的VVC标准视频解码器,手机即可看4K超高清VVC视频

腾讯发布全球首个面向移动端的H.266/VVC标准视频解码器,即其自研的O266移动端版本,手机可看4K超高清VVC视频。O266已成为世界领先的全平台VVC解码器,支持main10 profile,包括高分辨率、高动态范围、屏幕内容编码等重要功...

2021-02-26
1

rav1e编码器

本篇是来自FOSDEM2020 Open Media devroom的演讲,演讲者是Luca Barbato,演讲主题是rav1e编码器0.3.0版本以及未来发展。

2020-02-20
1