Tag: simd

为什么strcmp不是SIMD优化的?

我试图在x64电脑上编译这个程序: #include <cstring> int main(int argc, char* argv[]) { return ::std::strcmp(argv[0], "really really really really really really really really really" "really really really really really really really really really" "really really really really really really really really really" "really really really really really really really really really" "really really really really really really really really […]

并行vs omp simd:什么时候使用每个?

OpenMP 4.0引入了一个名为“omp simd”的新构造。 使用这个构造比旧的“并行”有什么好处? 每个人什么时候比另一个更好呢? 编辑:这是一个有趣的文件相关的SIMD指令。

开始使用SSE

我想了解更多关于使用SSE的信息 。 除了显而易见的英特尔®64和IA-32架构软件开发人员手册之外,还有什么方法可以学习? 主要是我有兴趣使用GCC X86内置函数 。

如何确定内存是否alignment? (*testing*alignment,不alignment)

我是新来的优化代码SSE / SSE2指示,直到现在我还没有得到很远。 据我所知,一个通用的SSE优化函数看起来像这样: void sse_func(const float* const ptr, int len){ if( ptr is aligned ) { for( … ){ // unroll loop by 4 or 2 elements } for( ….){ // handle the rest // (non-optimized code) } } else { for( ….){ // regular C code to handle non-aligned memory } } } […]

SSE内在函数参考

有谁知道一个引用,列出了gcc的SSE内部函数的操作,即<* mmintrin.h>头文件中的函数? 谢谢。

x86 SIMD内部函数的头文件

哪些头文件为不同的x86 SIMD指令集扩展(MMX,SSE,AVX,…)提供了内在的function? 在网上find这样的清单似乎是不可能的。 如我错了请纠正我。

AVX2什么是基于掩码打包左边最有效的方法?

如果你有一个input数组和一个输出数组,但你只想写出那些通过一定条件的元素,那么在AVX2中这样做最有效的方法是什么? 我在SSE看到它是这样做的:(从: https : //deplinenoise.files.wordpress.com/2015/03/gdc2015_afredriksson_simd.pdf ) __m128i LeftPack_SSSE3(__m128 mask, __m128 val) { // Move 4 sign bits of mask to 4-bit integer value. int mask = _mm_movemask_ps(mask); // Select shuffle control data __m128i shuf_ctrl = _mm_load_si128(&shufmasks[mask]); // Permute to move valid values to front of SIMD register __m128i packed = _mm_shuffle_epi8(_mm_castps_si128(val), shuf_ctrl); return packed; } […]

如何用SSE4.2和AVX指令编译Tensorflow?

这是从运行脚本检查Tensorflow是否正在工作收到的消息: I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcublas.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcudnn.so.5 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcufft.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcuda.so.1 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcurand.so.8.0 locally W tensorflow/core/platform/cpu_feature_guard.cc:95] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are […]