常见的 SIMD 技术

2023-12-27

在哪里可以找到有关常见 SIMD 技巧的信息?我有一个指令集,并且知道如何编写不复杂的 SIMD 代码,但我知道,SIMD 现在更加强大。它可以容纳复杂的条件无分支代码。
例如 (ARMv6),以下指令序列将 Rd 的每个字节设置为 Ra 和 Rb 相应字节的无符号最小值:

USUB8 Rd, Ra, Rb
SEL Rd, Rb, Ra

教程/不常见的 SIMD 技术的链接也很好:)ARMv6对我来说最有趣,但是x86(上证所,...)/Neon(在 ARMv7 中)/其他也很好。


最好的 SIMD 资源之一是旧的 AltiVec 邮件列表。尽管特定于 PowerPC/AltiVec,但我怀疑使用其他 SIMD 架构的任何人都会对该列表中的许多材料感兴趣。遗憾的是,该列表在移至 power.org 上的论坛后似乎已失效,但您也许可以找到它的存档版本。 (如果没有,请告诉我 - 我几乎拥有 2000 年至 2007 年的所有帖子。)

还有很多关于 AltiVec、SSE、SIMD 矢量化和性能的潜在有用信息,网址为http://developer.apple.com/hardwaredrivers/ve/index.html http://developer.apple.com/hardwaredrivers/ve/index.html,其中很大一部分可以转移到其他 SIMD 架构。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

常见的 SIMD 技术 的相关文章

随机推荐

  • 为自定义类型创建自定义模型绑定器

    在 ASP NET CORE 1 1 项目中 我有以下模型 public class GetProductsModel public OrderExpression OrderBy get set OrderExpression 是一个具有
  • 免费注册 COM:引用 VB6 DLL 的 VB6 可执行文件

    因此 我有一个引用多个 VB6 COM DLL 的 VB6 可执行文件 我是否可以即时生成可执行文件的清单以及每个引用的 DLL 的清单 如果是这样 那又如何呢 我想在构建过程中执行此操作 而无需将 COM DLL 注册为该过程的一部分 注
  • 如何从自适应卡获取消息

    我使用有 2 个操作的自适应卡 actions type Action Submit title Cards related queries data Cards intent type Action Submit title Accoun
  • OS X AppEngine - 导入错误:没有名为 _sqlite3 的模块

    更新 这是我在全新安装的 OS X 10 8 3 上使用 1 8 0 App Engine SDK 时遇到的问题 首先 有很多关于 SO 的具有类似标题的问题 我已经检查过它们 但我不相信它们回答了我的问题 大多数情况下 他们建议获取 li
  • 使用GET方法上传文件

    众所周知 文件上传最常使用POST方法 那么 为什么不能GET方法可以用来代替文件上传吗 是否有针对 HTTP 的具体禁止GET上传 GET 请求可能包含实体主体 RFC 2616 不阻止实体正文作为 GET 请求的一部分 这经常被误解 因
  • q.js:resolve() 和fulfill() 之间的区别

    我仍然不清楚调用解析器的resolve 与fulfill 之间的区别 我看到函数和术语 解决承诺 和 履行承诺 都被反复讨论 我应该什么时候使用它们 你应该使用resolve deferredPromise resolve nextProm
  • 用于控制 Web API 中响应格式的 UiPath 扩展映射

    我在 ASP NET WebAPI 中使用 UriPathExtensionMapping 时遇到问题 我的设置如下 我的路线是 config Routes MapHttpRoute name Api UriPathExtension ro
  • 关系表的复合索引

    我有以下表格 CREATE TABLE students student id int NOT NULL AUTO INCREMENT student name varchar 40 NOT NULL DEFAULT PRIMARY KEY
  • 块中的线程数

    I used x y用于计算设备中矩阵的单元格 当我对 lenA 和 lenB 使用超过 32 个时 断点 在int x threadIdx x 在设备代码中 无法工作并且输出不正确 在主机代码中 int lenA 52 int lenB
  • 使用 pyinotify 过早发出 IN_CLOSE_WRITE 通知

    我遇到以下情况 pyinotify 监视文件中的 IN CLOSE WRITE 事件 我更改文件中的某些内容并保存 事件被触发 我阅读了该文件 发现它没有任何更改 经过一番修改后 我注意到在调试时它工作得很好 我在读取文件的行上设置了一个断
  • 使用 Windows 10 访问 COM 端口

    我有一些愚蠢的代码来访问 Windows COM 端口 只是一些最相关函数的伪代码 open device COMMTIMEOUTS timeouts DCB ComSettings memset ComSettings 0 sizeof
  • 如何让函数返回指向函数的指针? (C++)

    我正在尝试创建一个函数 它接受一个字符 然后根据该字符返回一个指向函数的指针 我只是不确定如何使函数返回指向函数的指针 int f char return 0 int return f char return f 不 说真的 使用 type
  • Ag-grid:在特定的预定义时间内保持打开的工具提示

    我使用的是Ag grid v23 1 1 我需要显示 1 分钟的工具提示 Ag grid不支持这种情况 但在版本 22 的早期我使用过 next lifehack params api context beanWrappers toolti
  • 建议:c++ 中的异步、可移植文件 io

    我正在寻找一个 C 异步 io 库 它应该与 unix 和 windows 系统兼容 有哪些好的图书馆 对于一个同时支持这两个系统的库来说 这要求是否太高了 人们对此事有何经验 Use 增强 asio http www boost org
  • Eclipse Java 错误:无法启动此选择并且最近没有启动

    我在互联网上到处查看并尝试了论坛所说的所有操作 但没有任何效果 这个错误不断出现 我尝试运行我的java项目 不适用于android 即使下拉运行按钮也不起作用 因为它说 不适用 Eclipse 需要查看项目源文件之一中的 main 方法
  • PHP - 保护代码[重复]

    这个问题在这里已经有答案了 可能的重复 如何保护您的软件代码 https stackoverflow com questions 2368064 how to protect your software code 保护我的 PHP 应用程序
  • 正则表达式替换第二次出现的字符

    我有一些以下格式的数据 MM SS 嗯 where MM is minutes ss is seconds and mmm is 3 digit milliseconds like 05 23 236 我试图用点替换第二次出现的冒号 05
  • $this是什么意思

    我见过一些脚本包含 this在具有 OOP 的 PHP 脚本中 我从来不知道它的含义 就像 this gt refresh 也许向我解释一下什么 this指的是 但我确实知道你不能将它用作动态变量 例如 this is a variable
  • 如何像 ps -e 一样显示进程

    Hello 我想制作一个简单的 C 程序 就像 ps i 一样工作 唯一应显示的列是 PID 和 CMD 那是我的代码 include
  • 常见的 SIMD 技术

    在哪里可以找到有关常见 SIMD 技巧的信息 我有一个指令集 并且知道如何编写不复杂的 SIMD 代码 但我知道 SIMD 现在更加强大 它可以容纳复杂的条件无分支代码 例如 ARMv6 以下指令序列将 Rd 的每个字节设置为 Ra 和 R