当前位置: 首页 > news >正文

75、avx2 什么是计算向量化

接下来的几篇文章,会利用向量化指令来加速神经网络的计算,先学习一下什么是计算向量化。

计算的向量化是一种对计算的优化方法,简单来说,就是让计算机在计算数据时,同一时间计算多个数据,而不是一个一个的循环计算,这样可以大幅提高计算的效率。

计算向量化的概念,其实和线性代数中的向量运算有点类似。

在线性代数中,向量运算比如向量点积,做的一整个向量的运算,映射到计算机来执行这个运算时,则依赖于计算机底层硬件对于向量指令的支持来实现的。

Numpy

我们常用的 NumPy 其实就是一个常用的向量化计算工具,它提供了大量的数组操作和函数,可以十分方便的执行向量操作,比如之前我们用 np.dot 来优化卷积计算中的乘累加计算,这个函数就是一种向量计算的函数。

不管它底层是怎么实现的,之前光看这个函数,就是一种向量计算。

再比如下面的例子,对 numpy 的数组进行操作,每个元素都乘以2,可以直接使用 arr * 2 来完成,这一条命令操作的就是一个向量。

numpy 计算之所以快,就是因为是向量计算,内部做了大量的优化。到从这里看,这仅仅是一条向量语句,但不能说是一条向量指令。

import numpy as np
# 创建包含10个整数的数组
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# 使用向量指令集执行加倍操作
result = arr * 2
print(result)

我们所说的向量指令,特指硬件支持的向量指令集。

C/C++

抛开 pytho

相关文章:

  • 部署ATS(Apache Traffic Server)和Nginx正向代理服务性能对比
  • go语言初探(一)
  • Oracle数据库避坑:CASE WHEN ‘ ‘ = ‘ ‘ 空字符串比较,预期的结果与判断逻辑的实现之间存在不匹配
  • 抖店商家对接带货主播建议,远离头部主播保平安,附沟通话术模板
  • Apache ActiveMQ RCE CNVD-2023-69477 CVE-2023-46604
  • 计算机导论08-程序设计
  • 微信小程序 - 视图与逻辑 介绍
  • DML的基本操作
  • 风力发电防雷监测浪涌保护器的应用解决方案
  • LeetCode 每日一题 2024/1/8-2024/1/14
  • 使用scipy处理图片——滤镜处理
  • Rust 错误处理(上)
  • 爬虫之Cookie获取:利用浏览器模拟一个cookie出来、面对反爬虫、加密的cookie的应对方法
  • 如何在CentOS 7 中搭建Python 3.0 环境
  • 项目管理十大知识领域之项目整体管理
  • android 一些 utils
  • Docker容器管理
  • js对象的深浅拷贝
  • k8s 面向应用开发者的基础命令
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 你不可错过的前端面试题(一)
  • 数组大概知多少
  • 微信开放平台全网发布【失败】的几点排查方法
  • 想写好前端,先练好内功
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 一个JAVA程序员成长之路分享
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 选择阿里云数据库HBase版十大理由
  • ​Python 3 新特性:类型注解
  • ​低代码平台的核心价值与优势
  • #if #elif #endif
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (三) diretfbrc详解
  • (十)c52学习之旅-定时器实验
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转) ns2/nam与nam实现相关的文件
  • (转)Google的Objective-C编码规范
  • (转)程序员疫苗:代码注入
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .net实现客户区延伸至至非客户区
  • .skip() 和 .only() 的使用
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • ::什么意思
  • @property @synthesize @dynamic 及相关属性作用探究
  • @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • [ C++ ] STL---仿函数与priority_queue
  • [1181]linux两台服务器之间传输文件和文件夹
  • [ACTF2020 新生赛]Include
  • [Angular 基础] - 自定义指令,深入学习 directive
  • [c++] 自写 MyString 类
  • [CareerCup][Google Interview] 实现一个具有get_min的Queue
  • [CERC2017]Cumulative Code