软硬件协同仿真加速 您所在的位置:网站首页 百度地图添加多个点位怎么弄 软硬件协同仿真加速

软硬件协同仿真加速

2023-08-10 22:24| 来源: 网络整理| 查看: 265

一、什么是SIMD?

SIMD全称Single Instruction Multiple Data,单指令多数据流,即一条指令处理多条数据,帮助CPU实现数据并⾏,提⾼运算效率,是对CPU基本指令集的扩展。

二、SIMD指令类别 MMX,Multi-Media Extension, 即多媒体扩展,为了支持MPEG视频解码。MMX将64位寄存当作2X32或8X8来用,只能处理整型计算。64位的寄存器不是单独设置的,借用FPU寄存器,因此MMX指令不能与浮点数操作同时工作。SSE,有专属16个128位长的寄存器,被称为XMM0-XMM15,其中XMM8-XMM15只有系统是64位模式时才有效。SSE指令要求数据是16byte对齐的。SSE2,进一步支持双精度浮点数,由于寄存器长度没有变长,所以只能支持2个双精度浮点计算或是4个单精度浮点计算。另外,它在这组寄存器上实现了整型计算,从而代替了MMX。SSE3,支持一些更加复杂的算术计算。SSE4,增加了更多指令,并且在数据搬移上下了一番工夫,支持不对齐的数据迁移。AVX2,同时执行256位数据AVX512,同时执行512位数据 三、SIMD指令使用

1、gcc编译器使用

创建4个int数据同时处理的数据类型,typedef定义v4si数据类型,16代表16个字节

Intel® Intrinsics Guide

2、icc编译器使用

std::experimental::simd

苹果公司的LLVM和Intel公司的icc编译效果比gcc好

3、查看CPU支持的SIMD指令集

cat /proc/cpuinfo

4、查看gcc支持的SIMD compiler-flags

gcc -march=native -c -Q --help=target

 

SIMD指令_Sylviawuuuu的博客-CSDN博客_simd指令



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有