0

我是一名研究员,我的主要兴趣是改进稀疏内核以实现高性能计算。我研究了许多稀疏矩阵上的大量参数。我想知道是否有管理这些结果的工具。我遇到的问题是:

  1. 结合每个矩阵的多个实验结果
  2. 版本化结果
  3. 取平均值,找到结果的最小/最大/标准偏差
  4. 有数百个描述性能改进的指标。我想轻松地选择几个指标并尝试找出与性能改进相关的指标。

在这里,我举了一个小例子来说明我的大问题。共有三种类型的参数和每个参数的两个值:Row/Column、Cyclic/Block、HeuristicA/HeuristicB。所以这些参数的组合必须有8个文件。其中两个内容:

文件内容RowCyclicHeuristicA.txt

a.mtx#3#5.1#10#2%#row#cyclic#heuristicA#1
a.mtx#7#4.1#10#4%#row#cyclic#heuristicA#2
b.mtx#4#6.1#10#3%#row#cyclic#heuristicA#1
b.mtx#12#5.7#10#7%#row#cyclic#heuristicA#2
b.mtx#9#3.1#10#10%#row#cyclic#heuristicA#3

文件内容ColumnCyclicHeuristicA.txt

a.mtx#3#5.1#10#5%#column#cyclic#heuristicA#1
a.mtx#1#5.3#10#6%#column#cyclic#heuristicA#2
b.mtx#4#7.1#10#5%#column#cyclic#heuristicA#1
b.mtx#3#5.7#10#9%#column#cyclic#heuristicA#2
b.mtx#5#4.1#10#3%#column#cyclic#heuristicA#3

我有一个方案文件来描述这些文件的内容。该文件有一行描述结果文件中每一列的类型和含义:

str MatrixName
int Speedup
double Time
int RepetationCount
double Imbalance
str Parameter1
str Parameter2
str Parameter3
int ExperimentId

我需要显示平均值 Time和两种类型的参数如下:(下表中的数字是随机的)

            Parameter1    Parameter2
Matrix      row    col    cyclic   block
 a.mtx      4.3    5.2    4.2      5.4
 b.mtx      2.1    6.3    8.4      3.3

有没有先进的工具可以获取上表的方案并自动生成这个表?目前,我有一个用 Java 编写的工具来处理原始文件和 Latex 代码,以使用pgfplotstable. 但是,我需要一种更专业的工具。我不想要 MS Excel 的数据透视表。

一个类似的问题是here

4

1 回答 1

1

以未知格式处理大量数据是……对通用程序具有挑战性。您最好的选择可能与您已经在做的类似。使用自定义程序将您的结果重新格式化为更易于处理的内容(后端),并使用您选择的可视化程序让您查看和使用数据(前端)。

后端

对于您的问题,我建议使用关系数据库(例如Mysql)。与其他选项相比,设置时间更长,但如果这是一个持续存在的问题,那么它应该是值得的,因为它允许您轻松拉取感兴趣的领域。 SELECT AVG(Speedup) FROM results WHERE Parameter1="column" AND Parameter2="cyclic"例如。然后,您仍然需要一个简单的脚本来首先插入数据,然后以可以粘贴到查看器中的有用格式提取感兴趣的结果。或者,如果您愿意,您可以直接对数据库运行查询。

或者,我通常使用的只是 Python 或 Perl。读入你的数据文件,去掉你不想要的数据,重新排列成想要的结构,然后写出你的前端和使用的一些标准格式。用您选择的语言替换 Python/Perl。

前端

就个人而言,我几乎总是使用 Excel。后端完成了大部分繁重的工作,所以我得到了一个 csv 文件,其中包含我关心的所有结果都已经很好地排序了。然后,Excel 让我可以处理数据,相当简单地进行取平均值、绘图、重新排序等操作。

我用来显示可能对您无用但出于完整性考虑的其他工具包括:

Weka - 主要针对机器学习,但提供用于搜索趋势或相关性的工具。对于使用数据寻找感兴趣的东西很有用。

Python/IDL/etc - 当我需要无法用电子表格表示的数据时。这些程序除了完成后端提取和批量操作的工作外,还可以生成差异图像、复杂图形或我需要的任何其他内容。

于 2013-05-28T01:37:20.543 回答