`
eyeyin
  • 浏览: 4112 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

《SSE...》一文的相关说明

阅读更多

上文可以说是一个大杂烩,开发环境是Ubuntu的Eclipse C/C++ SDK。代码实现了求两个方阵的乘积。其中使用到的技术如下:

(1)Intel的SIMD技术SSE,这样可以用一条指令实现4个浮点数的乘法,加法;

(2)多线程调用了pthread,结合其中提供的锁机制可以自动为多个线程平均分配任务;

(3)方阵的分块处理,主要是考虑大矩阵在计算过程中内存存取突破了局部性访问原则,将其转化成小矩阵提高Cache命中率。

其中的SSE部分有一些参考价值,因为这个方面的资料很少。分块部分的效率不行,稍加改进可能可以进一步提高Cache的利用率。假设分块刚好占用一半Cache容量,那么C11 = (A11 * B11 + A12 * B21 + A13 * B31),C12 =(A11 * B12 +A12 * B22 + A13 * B32),Cache在C11和C12计算过程中有6次完全更新。若是改为C11 =+ A11 * B11,C12 =+ A11 * B12,C11 =+ A12 * B21,C12 =+ A12 * B22,C11 += A13 * B31,C12 =+ A13 * B32,Cache在计算过程中有3次完全更新和3次不完全更新。

 

分享到:
评论

相关推荐

    eclipse安装ADT时遇到org.eclipse.wst.sse.core 0.0.0

    - **步骤七**:从列表中选择`org.eclipse.wst.sse.core`相关的组件进行安装。 完成以上步骤后,重新执行ADT的安装流程即可。 ##### 2. 离线安装方法 如果网络受限,可以采用离线方式安装: - **步骤一**:同样打开...

    android requiringorg.eclipse.wst.sse.ui

    在Android开发过程中,可能会遇到与"requiringorg.eclipse.wst.sse.ui"相关的错误提示,这通常是由于Eclipse集成开发环境(IDE)中缺少或配置不正确的插件导致的。`org.eclipse.wst.sse.ui`是Eclipse Web Standard ...

    sse.js:一个灵活的 Javascript 服务器端事件源

    sse.js sse.js是 JavaScript 的灵活EventSource替代品,旨在使用比标准EventSource具有更多控制和选项的服务器发送事件 (SSE) 流。 EventSource的主要限制是它只支持无负载 GET 请求,并且不支持为 HTTP 请求指定...

    ffmpeg-4.4-2460-2c6f532-win32-shared-xpmod-sse.7z

    ffmpeg-4.4-2460-2c6f532-win32-shared-xpmod-sse.7z

    SSE.rar_SSE

    3. **寄存器结构**:详细说明SSE扩展的128位XMM寄存器,它们如何存储和处理数据,以及与传统的x86寄存器的区别。 4. **编程模型**:讲解如何在C/C++或汇编语言中使用SSE指令,包括如何声明和操作XMM寄存器,以及...

    SSE.rar_SSE_SSE 图像_SSE指令集_sse 图像处理_sse图像

    **SSE(Streaming SIMD Extensions)** 是Intel公司在 Pentium III 处理器中引入的一种增强型SIMD(Single Instruction Multiple Data)技术,旨在提升处理器在处理向量和浮点运算时的性能。SIMD允许一个处理器在一...

    sse.rar_SSE

    在压缩包文件中,"www.pudn.com.txt"可能是一个文本文件,可能是作者在发布这个压缩包时附加的一些说明或者链接,比如指向更多相关资源的网址。而"sse"文件可能是实现SSE加密算法的源代码文件,可能是用C++或类似的...

    stitch_sse.zip_SSE_全景图拼接_图像拼接SSE代码_拼接

    以下是关于这个主题的详细说明。 **SSE2(Streaming SIMD Extensions 2)** 是Intel在2001年推出的一种SIMD(单指令多数据)扩展技术,用于增强处理器处理浮点和整数运算的能力。SSE2引入了128位寄存器,可以同时...

    sse.rar_SSE_SSE加密_ivmaker_流密码算法_简单加密

    在信息安全领域,加密技术是保护数据隐私和安全的重要手段,SSE的出现旨在提供一种简单而有效的加密解决方案。 块加密通常将数据分为固定大小的块,对每个块独立进行加密,如AES(高级加密标准)就是典型的块加密...

    mmx sse .rar_SSE_SSE MMX_mmx_sse mm

    标题"mmx sse .rar_SSE_SSE MMX_mmx_sse mm"提及的关键技术是MMX(MultiMedia Extensions)和SSE(Streaming SIMD Extensions),这是Intel公司在其处理器中引入的两种增强指令集,用于提高处理器在处理多媒体和科学...

    sse.rar_linux Client_ssl client

    【标题】"sse.rar_linux Client_ssl client"是一个与SSL客户端相关的源代码集合,适用于Linux操作系统。这个项目可能涉及网络通信和安全加密技术,是为在Linux环境下实现SSL(Secure Socket Layer)客户端功能而设计...

    sse.rar_SSE_dorado

    在项目压缩包中,"www.pudn.com.txt"可能是用来记录项目来源或相关信息的文本文件,而"sse"目录则包含了项目的源代码和资源文件。通过对这些文件的分析和学习,开发者可以深入了解SSE_dorado的架构设计和实现细节,...

    SSE.zip_气动力_激波_间断

    在IT领域,尤其是在流体力学和航空航天工程的计算模拟中,"SSE.zip_气动力_激波_间断"这个标题所蕴含的知识点主要集中在空气动力学、激波理论以及数值计算方法上。下面将详细阐述这些概念。 首先,空气动力学是研究...

    c++代码SSE.cpp

    使用SSE(对齐与不对齐)实现高斯消去法,并与串行化进行对比

    NEON-2-SSE.h 文件旨在简化 ARM->IA32 移植

    NEON_2_SSE.h 文件旨在简化 ARM->IA32 移植。 它使 ARM NEON 内部函数的对应(或实际移植)如“arm_neon.h”标头中定义的那样 和 x86 SSE(最高 SSE4.2)内部函数,如相应的 x86 编译器头文件中定义的那样。

    SSE.AVX.zip_AVX与SSE_SSE_avx_avx指令

    SSE(SSE2,SSE3,SSE4)指令集,及AVX指令集,算法加速必备文档

    sse.rar_2103_PHILIP21_SSE_arm 2103

    标签"2103 philip21 sse arm_2103"进一步强调了这是一套与ARM 2103相关的资源,其中可能包含了与Philip21个人工作有关的SSE扩展实现,尽管SSE通常是Intel x86架构的特性,而非ARM。这里可能是开发者尝试将类似的概念...

    NEON-2-SSE.h 文件旨在简化 ARM->IA32 移植 它使 ARM NEON 内部函数的对应

    NEON_2_SSE.h 文件旨在简化 ARM->IA32 移植。 它使 ARM NEON 内部函数的对应(或实际移植)如“arm_neon.h”标头中定义的那样 和 x86 SSE(最高 SSE4.2)内部函数,如相应的 x86 编译器头文件中定义的那样。

Global site tag (gtag.js) - Google Analytics