Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
在 C# 中使用 SSE
我目前正在用 C 编写一个应用程序 该应用程序可以从使用 SSE 中受益匪浅 因为相对较小的代码片段会占用 90 95 的执行时间 代码本身也非常适合 SSE 因为它是基于矩阵和向量的 所以我继续并开始使用 Mono Simd 尽管这在执行
c
SSE
SIMD
SSE向量化与内存对齐的关系
为什么 SSE AVX 需要对齐内存 我经常得到的答案之一是对齐的内存加载比未对齐的内存加载快得多 那么 为什么这种对齐的内存加载比未对齐的内存加载快得多呢 这不仅仅是 SSE 甚至 x86 特有的 在大多数架构上 加载和存储需要自然对齐
SSE
SIMD
通过 SIMD 查找数组中元素的索引。一个快速的方法
我需要通过 SIMD 找到数组 ARR 中 8 位值元素 N 的索引 位置 这一定是快时尚 目前的算法是 我将 ARR 的 8 位值加载到一个 SIMD 寄存器中 并将字符代码 N 加载到另一个 SIMD 寄存器中 然后我会使用否定并使用
BitManipulation
bitwiseoperators
SIMD
Intrinsics 中 Neon 的校验和代码实现
我正在尝试使用内在函数为 NEON 实现校验和计算代码 2 的补码加法 当前的校验和计算是在 ARM 上进行的 我的实现一次从内存中获取 128 位数据到 NEON 寄存器中并执行 SIMD 加法 结果从 128 位数字折叠为 16 位数字
Embedded
arm
SIMD
neon
cortexa8
如何使用整数除法 SSE 指令? [复制]
这个问题在这里已经有答案了 根据参考here应在 immintrin h 中定义以下函数 m128i mm idiv epi32 m128i a m128i b m128i mm idivrem epi32 m128i mem addr m
c
x86
SSE
SIMD
intrinsics
为什么 strchr 比我的 simd 代码快两倍
我正在学习 SIMD 并且很好奇是否有可能在查找字符方面击败 strchr 看起来 strchr 使用相同的内在函数 但我假设它检查空值 而我知道该字符在数组中并计划避免空值检查 我的代码是 size t N 1e9 bool found
c
SIMD
尝试在 SSE 编程中使用 and 掩码添加 __m128
我正在尝试使用比较操作的结果添加到 SSE 变量 我刚刚意识到 当使用 mm cmplt ps如果结果为真 则操作将返回 NAN 因为无法表示 0xffffffff 这对我来说没有用 m128 va m128 vb m128 result
c
x86
SSE
SIMD
在 64 位 x 64 位乘法中使用 Karasuba 算法真的有效吗?
我在 AVX2 上工作 需要计算 64 位 x64 位 gt 128 位加宽乘法 并以最快的方式获得 64 位高位部分 既然AVX2没有这样的指令 那么我使用Karatsuba算法来提高效率和获得速度是否合理 不会 在现代架构中 Karat
c
performance
parallelprocessing
SIMD
avx2
CUDA:避免分支发散时的串行执行
假设由单个 warp 执行的 CUDA 内核 为简单起见 达到if else语句 其中经纱内的 20 个线程满足condition而 32 20 12 线程则不会 if condition statement1 executed by 20
c
CUDA
SIMD
AVX 与 SSE:预计会有更大的加速
我预计 AVX 的速度比 SSE 快 1 5 倍左右 所有 3 个数组 3 个数组 16384 个元素 4 字节 元素 196608 字节 应适合 Intel Core CPU Broadwell 上的 L2 缓存 256KB 我应该使用任
performance
SSE
SIMD
avx
在 SSE/AVX 中高效计算 X 的幂
我正在寻找最有效的方法来计算浮点数的所有第一个整数幂XSSE 128 AVX 256 AVX 512 寄存器内部 128 256 和 512 位 例如对于 float AVX1 256 我想进入寄存器X 1 X 2 X 3 X 4 X 5
c
performance
SIMD
avx
avx512
SIMD和动态内存分配[重复]
这个问题在这里已经有答案了 可能的重复 SSE 内在函数和对齐 我是 SIMD 编程新手 所以如果我问一个明显的问题 请原谅 我进行了一些尝试 最后发现我想在动态分配的结构中存储 SIMD 值 这是代码 struct SimdTest m1
c
memorymanagement
SSE
SIMD
如何使用SSE4.2和AVX指令编译Tensorflow?
这是运行脚本检查 Tensorflow 是否正常工作时收到的消息 I tensorflow stream executor dso loader cc 125 successfully opened CUDA library libcubl
tensorflow
x86
compileroptimization
SIMD
compileroptions
了解 SSE 的内在函数如何使用内存
在我问问题之前 先介绍一些背景信息 在 C 语言中 当您分配给变量时 您可以从概念上假设您刚刚修改了 RAM 中的一小块内存 int a rand conceptually you created and assigned variable
c
SSE
SIMD
intrinsics
用于检查字节数组是否为零的 SSE 指令 C#
假设我有一个byte 并想检查所有字节是否为零 For 循环是一种显而易见的方法 而 LINQAll 这是一种奇特的方法 但最高性能至关重要 我该如何使用单SIMD加快检查字节数组是否充满零 我正在寻找最前沿的方法 而不仅仅是正确的解决方案
c
Arrays
performance
MONO
SIMD
禁用优化后,演示代码未能显示出 4 倍快的 SIMD 速度
我试图了解使用 SIMD 矢量化的好处 并编写了一个简单的演示代码 以了解利用矢量化 SIMD 的算法相对于其他算法的速度增益 这是2种算法 Alg A 无矢量支持 include
c
gcc
x86
SSE
SIMD
首次使用 AVX 256 位向量会减慢 128 位向量和 AVX 标量运算
最初 我试图重现 Agner Fog 的微架构指南部分 YMM 和 ZMM 向量指令的预热期 中描述的效果 其中写道 处理器在不使用时关闭向量执行单元的上部部分 以节省电力 在大约 56 000 个时钟周期或 14 s 的初始预热期间 具有
Assembly
x8664
SSE
SIMD
avx
使用 GCC 强制自动矢量化
这是我非常简单的问题 有了 ICC 我知道可以使用 pragmaSIMD 强制对编译器选择不矢量化的循环进行矢量化 GCC 中有类似的东西吗 或者 有计划在未来的版本中添加此功能吗 非常相关 用 Graphite 强制矢量化怎么样 只要允许
c
gcc
vectorization
SIMD
autovectorization
矩阵转置和总体计数
我有一个大小为 N 的方形布尔矩阵 M 按行存储 我想计算每列设置为 1 的位数 例如 对于 n 4 1101 0101 0001 1001 M stored as 1 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 resul
BitManipulation
transpose
SIMD
avx
bitCount
vec_sld 字节序敏感吗?
我正在开发具有核心加密功能的 PowerPC 机器 我在使用内置函数将 AES 密钥扩展从大端移植到小端时遇到问题 大端有效 但小端无效 下面的算法是一个片段中呈现的IBM 博客文章 我认为我已将问题隔离到下面的第 2 行 typedef
c
endianness
SIMD
powerpc
altivec
«
1 ...
4
5
6
7
8
9
10
»