问题标签 [metis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1972 浏览

build - 无法在 CMake 中使用 ExternalProject_Add 添加外部项目

我遇到的问题很奇怪:我尝试将一个外部项目(metis 库)添加到我的 CMake 项目中:

配置很好,但是当我尝试制作时,我收到以下错误消息:

现在有趣的部分是,如果我在详细模式 () 中调用 make VERBOSE=1 make,代码运行良好并且没有错误。另外,我检查了运行make -C build/Darwin-x86_64/third-party/metis/src/Metis/,这也很好用有人知道这里有什么问题吗?

0 投票
1 回答
3129 浏览

python - 如何在 Metis for Python 中构建图形

我正在使用Metis for PythonMetis(图形分区软件)的 Python 包装器。我已经安装了所有东西,它似乎工作正常,但是我不明白如何构建一个图表来输入。

有一个在线示例: http: //metis.readthedocs.org/en/latest/#example

我运行了这个例子,它工作正常。然而在这个例子中,他们从未指定如何构造图“example_networkx()”。我试图通过 networkx 构建图表:http: //metis.readthedocs.org/en/latest/#metis.networkx_to_metis

我的代码是:

我在最后一行得到一个错误。错误追溯到 Metis 内置代码中的这些行:

我还尝试通过邻接列表构建图形:http: //metis.readthedocs.org/en/latest/#metis.adjlist_to_metis 但这给出了与以前相同的错误。

我想知道是否有人遇到过这个问题,或者知道我做错了什么。

我在 Centos 6.5 上使用 python 2.7

0 投票
1 回答
656 浏览

c - 在matlab r2013中编译metismex时出错

我已经在 win7 x64 pc 上下载并成功编译了metis 5.0.2并尝试编译metisex。我使用 Visual Studio 11 (2012) 编译了 metis,并在 matlab 中使用了相同的编译器。在对大量错误(主要是由于库中的路径问题)进行了大量实验之后,我已经到了不知道如何继续的地步,因为我对 c 和 c++ 的了解非常基础。所以,这是错误:

我发现了内联函数等,但由于错误在库中并且不完全知道我应该做什么,所以我在这里。因此,此处生成错误代码:

关于我应该做什么而不搞砸的任何建议?(如果我注释掉 wchar 类型,我在 prtdiff_type 上也有同样的错误)提前谢谢

PS:如果需要,这里是整个 sttdef.h

/

0 投票
0 回答
496 浏览

c++ - 使用 PETSc 进行域分解

有没有人有使用 PETSc 库进行域分解的经验?我使用 PETSc 在我的 c++ 代码中创建向量和矩阵。我还使用 KSP 来求解线性系统。我使用了以下示例来了解 PETSc 中的 DD,但它们对我没有帮助:

http://www.mcs.anl.gov/petsc/petsc-3.5/src/snes/examples/tutorials/ex10d/ex10.c.html http://www.mcs.anl.gov/petsc/petsc-3.2 /src/snes/examples/tutorials/ex12.c.html http://www.mcs.anl.gov/petsc/petsc-current/src/snes/examples/tutorials/ex62.c.html ​</p>

如果您能给我一些关于如何使用 PETSc 进行图形分区和域分解的提示,我将不胜感激。

0 投票
1 回答
422 浏览

graph - 减少 METIS 中图分区的通信量

我一直在使用 METIS 对图进行分区。到目前为止,我没有使用任何特殊选项,所以我假设 METIS 正在对图形进行分区,同时最小化边缘切割。

问题是,我正在处理的图很少有有很多邻居的顶点。我想这意味着我将不得不通过减少通信量而不是边缘切割的选项。

我该怎么做呢?我不明白第 26 页第 5.8 节中的 vsize 参数有什么意义。我需要弄乱 ncon 或 vwgt 或 objval 吗?我只是做 options[METIS_OPTION_OBJTYPE] = METIS_OBJTYPE_VOL 并将其传递给函数吗?

另外,对于顶点数可能不是 2 的幂的图,我应该使用哪个函数变体?k-way(很可能)或二等分?

我会在 METIS 论坛上问这些问题,但不幸的是,我注册它已经有一段时间了,他们的网站没有任何回复,所以我在这里问。

0 投票
2 回答
143 浏览

c++ - 使用 Cython 将 metis 链接到包装的 C++ 模块

我试图在编译 Cython 源文件期间链接 metis 库,但我遇到了困难,因为我在编译的共享对象文件中获得了未定义的符号。

我想知道是否有人有使用 distutils 链接外部库(如 metis)的经验?更好的选择是使用makefile吗?

我做了什么:

在 extra_link_args 中将目录添加到 libmetis.a

0 投票
0 回答
138 浏览

graph - 使用不同编译器时从 METIS 获得非唯一结果

我正在尝试使用METIS 5.1.0对大图进行分区。我已经在 Windows(使用 Cygwin)、Linux(使用 gcc)和 Mac(使用不同版本的 gcc)中编译了 METIS 源代码。不幸的是,我在各种平台上得到的结果大不相同。甚至我在 Windows 上尝试了两种不同版本的 Cygwin,令人惊讶的是,这也影响了结果。另一方面,在不同机器(相同平台)上使用相同的二进制文件会产生独特的结果。

我了解 METIS 使用启发式方法执行图形分区,但这种编译器/平台依赖性在我的用例中是不可接受的。我开发了一个调用 METIS 二进制文件的 Java 应用程序,在不同平台上获得相同的结果对我来说非常重要。

0 投票
1 回答
255 浏览

c - METIS:不同操作系统上的不同结果

这个C 程序调用METIS来划分网格。

编辑: 新版本的 C 程序考虑到 WeatherVane 和 PaulOgilvie 的评论。

在我的GNU/Linux我得到结果:

在我的时候OSX我得到:

是什么导致结果不同?

如何修复它,我的意思是,无论操作系统/架构/编译器是什么,总是得到相同的结果?

注意:idx_tis int64_t,它long在 my 上GNU/Linux,但long long在 my 上OSX

我的 GNU/Linux

我的 OSX

METIS 安装

METIS版本是 5.1.0

我已经安装METISminiconda

包在这里 (文件linux-64/metis-5.1.0-0.tar.bz2osx-64/metis-5.1.0-2.tar.bz2)。

这些包是用这个配方构建的。

0 投票
1 回答
987 浏览

linux - 如何使用 METIS 使用边权重对图形进行分区,以使边切最小?

我有带有图形边缘权重的 METIS 输入文件。而且我想用 METIS 对图表进行分区,这样 METIS 总结报告中的边切在 METIS 中是最少的。它可以是 rb、kway 或其他算法或选项。

那么什么选项最有效呢?

目前,以下选项对我来说效果最好。

gpmtis -ptype=rb metis.input.file num.of.partitions

0 投票
0 回答
611 浏览

fortran - Metis 5.1 为 SetupCtrl 提供内存分配失败:ctrl->tpwgts

我正在尝试划分〜300万个网格。我的 FORTRAN90 程序调用如下 -

早些时候我使用的是 Parmet 3.0 附带的 Metis,它运行良好。现在,如果我使用 metis 5.1,它会给我以下错误 -

Current memory used: 392 bytes Maximum memory used: 392 bytes ***Memory allocation failed for SetupCtrl: ctrl->tpwgts. Requested size: 10842907309714178088 bytes 有人可以帮忙吗?我指定IDXTYPEWIDTH 64 and REALTYPEWIDTH 64

非常感谢!