稀疏矩阵-矩阵乘法

2024-03-26

我目前正在使用稀疏矩阵,并且必须将稀疏矩阵-矩阵乘法与全矩阵-矩阵乘法的计算时间进行比较。问题是稀疏矩阵计算比全矩阵计算慢得多。

我正在使用压缩行存储来压缩我的矩阵,并且将两个矩阵相乘非常耗时(四倍for循环),所以我想知道是否有更好的压缩格式更适合矩阵-矩阵运算(CRS非常方便)与矩阵向量计算)。

提前致谢!


它通常被称为“压缩稀疏行”(CSR),而不是 CRS。转置、压缩稀疏列 (CSC) 也很常用,包括CSparse http://www.cise.ufl.edu/research/sparse/CSparse/该软件包最终成为许多系统的后端,包括 MatLAB 和 SciPy(我认为)。

组合 BLAS 还使用一种不太常见的双重压缩稀疏列 (DCSC) 格式。它再次压缩列索引,对于矩阵超稀疏的情况很有用。超稀疏矩阵的大多数列为空,这是二维矩阵分解时发生的情况。

也就是说,是的,有更多的开销。然而,您的操作现在主要由非零数的数量决定,而不是维度。因此,您的 FLOPS 可能会减少,但您仍然可以更快地得到答案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

稀疏矩阵-矩阵乘法 的相关文章

  • 在 C# 中生成 HMAC-SHA1

    我正在尝试使用 C 来使用 REST API API 创建者提供了以下用于 hmac 创建的伪代码 var key1 sha1 body var key2 key1 SECRET KEY var key3 sha1 key2 var sig
  • 在 C++ 中将成对向量转换为两个独立向量的最快方法

    假设我有一个vector of pair
  • C# 正则表达式用于查找 中具有特定结尾的链接

    我需要一个正则表达式模式来查找字符串 带有 HTML 代码 中的链接 以获取文件结尾如 gif 或 png 的链接 示例字符串 a href site com folder picture png target blank picture
  • 根据 SSRS 矩阵中的总列计算总列的百分比

    希望在我的 SSRS 矩阵中添加一列 这将为我提供该行中总列的百分比 我正在使用以下表达式 但百分比始终为 100 我假设这是因为总计是最后评估的 所以它只是执行总计 总计 FORMAT Fields ID Value SUM Fields
  • 从 C 结构生成 C# 结构

    我有几十个 C 结构 我需要在 C 中使用它们 典型的 C 结构如下所示 typedef struct UM EVENT ULONG32 Id ULONG32 Orgin ULONG32 OperationType ULONG32 Size
  • 如何创建用于 QML 的通用对象模型?

    我想知道是否有任何宏或方法如何将 Qt 模型注册为 QObject 的属性 例如 我有AnimalModel http doc qt io qt 5 qtquick modelviewsdata cppmodels html qabstra
  • 如何使用MySqlCommand和prepare语句进行多行插入?(#C)

    Mysql 给出了如何使用准备语句和 NET 插入行的示例 http dev mysql com doc refman 5 5 en connector net programming prepared html http dev mysq
  • HttpWebRequest vs Webclient(特殊场景)

    我知道这个问题之前已经回答过thread https stackoverflow com questions 1694388 webclient vs httpwebrequest httpwebresponse 但我似乎找不到详细信息 在
  • 无法解析远程名称 - webclient

    我面临这个错误 The remote name could not be resolved russgates85 001 site1 smarterasp net 当我请求使用 Web 客户端读取 html 内容时 出现错误 下面是我的代
  • TcpClient 在异步读取期间断开连接

    我有几个关于完成 tcp 连接的问题 客户端使用 Tcp 连接到我的服务器 在接受客户端后listener BeginAcceptTcpClient ConnectionEstabilishedCallback null 我开始阅读netw
  • 从 Code::Blocks 运行程序时出现空白控制台窗口 [重复]

    这个问题在这里已经有答案了 当我尝试在 Code Blocks 中构建并运行新程序时 控制台窗口弹出空白 我必须单击退出按钮才能停止它 它对我尝试过的任何新项目 包括 Hello world 都执行此操作 奇怪的是 它对于我拥有的任何旧项目
  • C# 委托责任链

    为了我的理解目的 我实现了责任链模式 Abstract Base Type public abstract class CustomerServiceDesk protected CustomerServiceDesk nextHandle
  • OpenCV 2.4.3 中的阴影去除

    我正在使用 OpenCV 2 4 3 最新版本 使用内置的视频流检测前景GMG http docs opencv org modules gpu doc video html highlight gmg gpu 3a 3aGMG GPU算法
  • C++11 动态线程池

    最近 我一直在尝试寻找一个用于线程并发任务的库 理想情况下 是一个在线程上调用函数的简单接口 任何时候都有 n 个线程 有些线程比其他线程完成得更快 并且到达的时间不同 首先我尝试了 Rx 它在 C 中非常棒 我还研究了 Blocks 和
  • 二叉树中的 BFS

    我正在尝试编写二叉树中广度优先搜索的代码 我已将所有数据存储在队列中 但我不知道如何访问所有节点并消耗它们的所有子节点 这是我的 C 代码 void breadthFirstSearch btree bt queue q if bt NUL
  • .NET 客户端中 Google 表格中的条件格式请求

    我知道如何在 Google Sheets API 中对值和其他格式进行批量电子表格更新请求 但条件格式似乎有所不同 我已正确设置请求 AddConditionalFormatRuleRequest formatRequest new Add
  • 使用 iTextSharp 5.3.3 和 USB 令牌签署 PDF

    我是 iTextSharp 和 StackOverFlow 的新手 我正在尝试使用外部 USB 令牌在 C 中签署 PDF 我尝试使用从互联网上挖掘的以下代码 Org BouncyCastle X509 X509CertificatePar
  • C++、三元运算符、std::cout

    如何使用 C 用三元运算符编写以下条件 int condition1 condition2 condition3 int double result int or double std cout lt lt condition1 resul
  • 在 Xamarin 中获取 OutOfMemoryException

    java lang OutOfMemoryError 考虑增加 JavaMaximumHeapSize Java 执行时内存不足 java exe 我的 Visualstudio Xamarin 项目出现内存不足异常 请帮助我如何解决此问题
  • 服务器响应 PASV 命令返回的地址与建立 FTP 连接的地址不同

    System Net WebException 服务器响应 PASV 命令返回的地址与建立 FTP 连接的地址不同 在 System Net FtpWebRequest CheckError 在 System Net FtpWebReque

随机推荐

  • Ember 数据:已加载数据哈希...但未提供主键“未定义”

    我正在尝试使用 Ember Data 来加载模型 获取模型的 AJAX 调用似乎成功 但我得到以下信息 Uncaught Error assertion failed A data hash was loaded for a model o
  • 该元素导致 Firefox 中的元素溢出

    我不使用 Bootstrap 或 reset css reboot css 我正在尝试使用通用 css 构建一个网站 我正在做非常基本的事情 但我到处都得到 这个元素导致元素溢出 我已经有一段时间没有在没有任何 css 框架的情况下完成布局
  • C 中的字符串和指针

    include
  • 未检测到 Flash 10:世界上最普遍的网络视频错误?

    问题如下 确保您对网站上 Flash 版本 x 的要求能够正确检测到更高版本的 Adob e Flash Player 版本 10 或 1y 的存在的最佳方法是什么 现在谜团来了 为什么这么多需要 Flash Player 版本 8 和 9
  • 01 背包专业化

    抱歉 如果这个问题已经得到解答 但我对算法没有深入的了解 并且并不总是注意到算法不同专业之间的微妙之处 我有 我认为是 01 背包问题的一个轻微变体 我有一个背包 其最大重量为 W 有 N 个重量为 w 价值为 v 的物品可供选择 我想要做
  • 为什么 Arc::try_unwrap() 会导致恐慌?

    我正在编写一个简单的聊天服务器 它向所有连接的客户端广播消息 由于我是初学者 代码可能看起来很糟糕 对等点尚未在任何地方使用 因为我想将其传递给handle client函数也是如此 因此当数据在流中可用并成功读取时 我想在所有连接的客户端
  • 为每个对象 JointJS 创建一个 ToolElement

    我试图为每个对象创建一种工具菜单 当您单击或将鼠标悬停在某个元素上时 它会显示可以执行的几个操作 删除 旋转 放大 链接等 我用过这个question https stackoverflow com questions 30153345 h
  • iOS CoreData批量插入?

    在我的 iPhone 应用程序中 我需要将大约 2000 条记录插入 Core Data 然后用户才能使用该应用程序的任何功能 我正在将记录从本地 JSON 文件加载到 CoreData 中 此过程需要很长时间 2 5 分钟以上 但只需要发
  • 当用户在 Chrome 上按下键盘时,如何检测“删除”和“.”?

    当我按下 它触发了三个事件 keydown keypress and keyup keydown which 190 keyCode 190 keypress which 46 keyCode 46 keyup which 190 keyC
  • AWS Lambda:在运行时获取当前重试尝试计数

    我有一个 AWS Lambda python3 7运行时 运行某个任务 及其MaximumRetryAttempts被设定为1 这意味着它可能会失败一次 然后再尝试一次 由于某种原因 我不会进入 我想知道 在运行时 这是第一次尝试还是第二次
  • Scala:没有明确已知类型参数的类型转换

    考虑以下示例 case class C T x T def f t T println t type ValueType T val list List 1 gt C 2 hello gt C goodbye for a b lt list
  • 后台任务SystemTriggerType.SmsReceived不会触发

    我正在后台 Windows Phone 8 1 中测试任务 但触发器SystemTriggerType SmsReceived不适合我 有人设法让它发挥作用吗 I used 这个例子 http code msdn microsoft com
  • "" 和 " " 之间有什么区别,如何根据字符测试前者?

    在Java中 空引号 和 带有单个空格的引号 之间有什么区别以及如何测试前者char 代表空字符串 is not空 它包含一个空格字符 你不能用以下方式来测试前者char 因为没有字符 用 a 来测试它String 它是String长度为零
  • 获取add_subdirectory添加的CMake项目版本

    我有一个依赖于 Google Test 库的 CMake 项目 我已经使用添加了 Google 测试ExternalProject Add and add subdirectory如此处所述 https github com google
  • jasig cas 重定向过多问题

    我正在尝试使用 spring security 和 spring security cas 带有 Jasig CAS 的 SSO 来保护 spring boot Web 应用程序 尝试访问受保护的资源时 我遇到了太多重定向错误 该项目可用h
  • 使用兆秒差距在不同位置出现多个错误

    我将使用 megaparsec 来解析大学项目的编程语言 但是 我寻找一种报告多个错误的方法 我知道 withRecovery 并且我看到了this https github com mrkkrp megaparsec issues 43问
  • PLSQL:使用合并语句时获取更新与插入的记录数

    无论我的记录如何使用 SQL ROWCOUNT 插入或更新 合并都会始终为您提供合并的记录数 但是如何找出实际插入的记录数与实际更新的记录数 我尝试了这篇文章中的选项 但这似乎不起作用 https asktom oracle com pls
  • Python - 在应用程序中直接显示网络浏览器/iframe

    我有一个脚本 如果对人们回答问题有帮助 那就使用 kivy 我想让它在运行时直接显示 iframe 之类的东西 而不是打开 浏览器 例如这样的事情 def browser url google com iframe url browser
  • 远程连接clearDB heroku数据库

    我如何使用 MySQL 查询浏览器等在 heroku 上远程连接到 ClearDB MySQL 数据库 从哪里获取 url 端口 登录名和密码 在 heroku 网站中 转到 我的应用程序 并选择已安装 ClearDB 的应用程序 在顶角单
  • 稀疏矩阵-矩阵乘法

    我目前正在使用稀疏矩阵 并且必须将稀疏矩阵 矩阵乘法与全矩阵 矩阵乘法的计算时间进行比较 问题是稀疏矩阵计算比全矩阵计算慢得多 我正在使用压缩行存储来压缩我的矩阵 并且将两个矩阵相乘非常耗时 四倍for循环 所以我想知道是否有更好的压缩格式