问题标签 [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.
build - 无法在 CMake 中使用 ExternalProject_Add 添加外部项目
我遇到的问题很奇怪:我尝试将一个外部项目(metis 库)添加到我的 CMake 项目中:
配置很好,但是当我尝试制作时,我收到以下错误消息:
现在有趣的部分是,如果我在详细模式 () 中调用 make VERBOSE=1 make
,代码运行良好并且没有错误。另外,我检查了运行make -C build/Darwin-x86_64/third-party/metis/src/Metis/
,这也很好用有人知道这里有什么问题吗?
啊
python - 如何在 Metis for Python 中构建图形
我正在使用Metis for Python
Metis(图形分区软件)的 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
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
/
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 进行图形分区和域分解的提示,我将不胜感激。
graph - 减少 METIS 中图分区的通信量
我一直在使用 METIS 对图进行分区。到目前为止,我没有使用任何特殊选项,所以我假设 METIS 正在对图形进行分区,同时最小化边缘切割。
问题是,我正在处理的图很少有有很多邻居的顶点。我想这意味着我将不得不通过减少通信量而不是边缘切割的选项。
我该怎么做呢?我不明白第 26 页第 5.8 节中的 vsize 参数有什么意义。我需要弄乱 ncon 或 vwgt 或 objval 吗?我只是做 options[METIS_OPTION_OBJTYPE] = METIS_OBJTYPE_VOL 并将其传递给函数吗?
另外,对于顶点数可能不是 2 的幂的图,我应该使用哪个函数变体?k-way(很可能)或二等分?
我会在 METIS 论坛上问这些问题,但不幸的是,我注册它已经有一段时间了,他们的网站没有任何回复,所以我在这里问。
c++ - 使用 Cython 将 metis 链接到包装的 C++ 模块
我试图在编译 Cython 源文件期间链接 metis 库,但我遇到了困难,因为我在编译的共享对象文件中获得了未定义的符号。
我想知道是否有人有使用 distutils 链接外部库(如 metis)的经验?更好的选择是使用makefile吗?
我做了什么:
在 extra_link_args 中将目录添加到 libmetis.a
graph - 使用不同编译器时从 METIS 获得非唯一结果
我正在尝试使用METIS 5.1.0对大图进行分区。我已经在 Windows(使用 Cygwin)、Linux(使用 gcc)和 Mac(使用不同版本的 gcc)中编译了 METIS 源代码。不幸的是,我在各种平台上得到的结果大不相同。甚至我在 Windows 上尝试了两种不同版本的 Cygwin,令人惊讶的是,这也影响了结果。另一方面,在不同机器(相同平台)上使用相同的二进制文件会产生独特的结果。
我了解 METIS 使用启发式方法执行图形分区,但这种编译器/平台依赖性在我的用例中是不可接受的。我开发了一个调用 METIS 二进制文件的 Java 应用程序,在不同平台上获得相同的结果对我来说非常重要。
c - METIS:不同操作系统上的不同结果
编辑: 新版本的 C 程序考虑到 WeatherVane 和 PaulOgilvie 的评论。
在我的GNU/Linux
我得到结果:
在我的时候OSX
我得到:
是什么导致结果不同?
如何修复它,我的意思是,无论操作系统/架构/编译器是什么,总是得到相同的结果?
注意:idx_t
is int64_t
,它long
在 my 上GNU/Linux
,但long long
在 my 上OSX
。
我的 GNU/Linux
我的 OSX
METIS 安装
METIS
版本是 5.1.0
我已经安装METIS
了miniconda。
包在这里
(文件linux-64/metis-5.1.0-0.tar.bz2
和osx-64/metis-5.1.0-2.tar.bz2
)。
这些包是用这个配方构建的。
linux - 如何使用 METIS 使用边权重对图形进行分区,以使边切最小?
我有带有图形边缘权重的 METIS 输入文件。而且我想用 METIS 对图表进行分区,这样 METIS 总结报告中的边切在 METIS 中是最少的。它可以是 rb、kway 或其他算法或选项。
那么什么选项最有效呢?
目前,以下选项对我来说效果最好。
gpmtis -ptype=rb metis.input.file num.of.partitions
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
非常感谢!