问题标签 [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.
cmake - Metis:libmetis.a 消失,重新安装会创建 libmetis.so
事实
我在运行 Ubuntu 12.04 LTS 的桌面上安装了metis 5.1.0 。
最近编译了一个并行配置的软件,找不到文件/opt/metis/metis-5.1.0/lib/libmetis.a ,报了致命错误。
这对我来说看起来很奇怪,因为使用相同软件的早期版本和现有的 metis 安装一切都很好。
libmetis.a 的消失
不过,我有证据表明libmetis.a已从第一个 metis 安装的 stderr+stout 文件中安装。例如,从输出中的某处make install
我可以看到:
/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: ""
-- Installing: /opt/metis/metis-5.1.0/include/metis.h
-- Installing: /opt/metis/metis-5.1.0/lib/libmetis.a
-- Installing: /opt/metis/metis-5.1.0/bin/gpmetis
因此,某些操作必须在某个时候删除了 libmetis.a。我不记得或不知道哪个行动可以做到这一点。
重新安装metis
然后我通过运行我第一次使用的相同脚本重新安装了相同版本的 metis。程序是
sudo make uninstall
sudo make clean
sudo make config prefix=/opt/metis/metis-5.1.0 shared=1 cc=gcc gdb=1 debug=1
sudo make
sudo make install
stdout+sterr 中的相应行已更改
/usr/local/bin/cmake -P cmake_install.cmake
-- Install configuration: ""
-- Installing: /opt/metis/metis-5.1.0/include/metis.h
-- Installing: /opt/metis/metis-5.1.0/lib/libmetis.so
-- Installing: /opt/metis/metis-5.1.0/bin/gpmetis
比较
- cmake生活在另一条道路上。我想不起这样做的原因。我确实确认当前 cmake 已安装在 /usr/local/bin/cmake 中,并且 /usr/bin/cmake 不再存在。无论哪种方式,从那时起,cmake 的版本一直是 3.3.1(我相信)。
- 安装libmetis.so而不是libmetis.a。
make install
逐行对比新旧stderr+stdout,发现cmake在第一次安装的时候已经搞的比较多。不幸的是,我已经覆盖了第一次安装的文件,无法提供更多细节。
概括
总结一下我注意到的变化是
- 静态库libmetis.a消失了(盲点为什么/如何/何时)
- cmake被取代(盲目的为什么/如何/何时)
- metis 的山寨安装导致共享对象库libmetis.so而不是 libmetis.a,可能是在使用不同的 cmake 之后。我
shared=1
怀疑地在 config 命令中看到了这一点,但使用脚本是为了忠实地重复所有操作。(虽然并不总是正确编码好的意图。)
目的是按照并行软件的要求,重新放置 libmetis.a 文件。
任何建议提示和智慧来解决这个问题?提前感谢您的思考。
javascript - MetisMenu 三级总是折叠
我正在使用 MetisMenu,当我在第三层菜单项上有一个链接时,一旦单击该链接,父菜单项就会全部折叠。
二级菜单项链接正常工作。
我的示例代码在这里:
enter code here
c++ - 构建共享 ParMETIS-4.0.3
如何构建 ParMETIS 的动态版本?我编译了 METIS 的共享版本,但是当我尝试通过将其链接到 libmetis.so 来编译共享 ParMETIS(在 make 文件中添加了它的路径,请参阅下面的 makefile 选项)编译失败,因为 ParMETIS 试图链接到 libmetis.a。如何强制它与 libmetis.so 链接?我编译了静态版本没有问题。谢谢您的帮助
配置选项。
gdb = 未设置
断言 = 未设置
assert2 = 未设置
调试 = 未设置
openmp = 未设置前缀 = 未设置
gklib_path = 未设置
metis_path = ~/bin/metis-5.0
共享 = 1
cc = mpicc
cxx = mpicxx
c++ - 如何在 ubuntu 上安装 METIS
我想在 ubuntu 上安装 METIS 包。
我尝试了 install.txt 文件上的说明,该文件说要使用
我也这样做了,在安装 make 之后。
我也试过
安装成功但是
在这两种情况下都尝试使用它时,我得到了
如果有人问我使用 g++ -I/path/to/file myprogram.cpp 来指定 metis.h 所在的路径。
我相信我在安装中没有做正确的事情,但我无法确定它是什么。
有人可以帮我完成安装过程吗?
linux - Linux 找不到 metas.h
我正在尝试安装 Metis。由于我在公共服务器上工作,因此无法以 root 用户身份安装它。所以我在我的帐户/home/jd/metis 中安装了metis。
当我尝试执行某事时,我得到
致命错误:metis.h:没有这样的文件或目录
我猜系统在 /usr/local/include 下寻找metis.h,但在那里找不到。如何让 linux 在 /home/jd/metis/include 目录下查找 metis.h?
我将此路径添加到 $PATH 变量。但仍然是同样的错误。请指教。
c++ - ParMETIS:未定义对“ParMETIS_V3_PartMeshKway”的引用
我已经构建并安装了 parmetis-4.0.3 并编写了一个简单的代码来测试它。但我收到一条错误消息:“未定义对‘ParMETIS_V3_PartMeshKway’的引用”
我拥有的C代码是:
我拥有的makefile是:
如果我make
在命令行中输入,它将显示以下错误消息:
起初我以为我可能没有成功安装parmetis。但是如果我注释掉文件ParMETIS_V3_PartMeshKway
中的行.cpp
,它将成功编译。另外,如果我输入nm parmetis/lib/libparmetis.so | grep Kwa | grep Mes
,它会显示:
所以我认为parmetis安装成功。关于我为什么会收到此错误消息的任何想法?
graph - 使用 METIS 划分异构架构
根据 METIS 官方手册,它可以将图划分为 k 个不相等的部分,具有不同的顶点容量:
METIS 的图和网格划分程序和 API 例程旨在将图划分为 k 个部分,以便每个部分包含顶点/元素/节点总数的预先指定部分。此外,在多约束分区的情况下,这些预先指定的分数是为每个顶点权重提供的。
现在我的问题是这怎么可能?我们如何告诉 metis 将图划分为 k 个不相等的部分,以及我们如何指定这些部分的容量。我找到了一个-tpwgts
定义目标分区权重的选项,但我不明白它如何影响分区过程,并且手册中的描述不是很容易理解!那么请您描述一下如何制作不同大小的不同分区?
c++ - Metis - 块输出
我正在使用Metis,一个图形分区 API。我有一个来自节点的完整网格,并且想要对这个网格进行分区。在这个分区之后,cfd-solver 将在多个 gpu 上并行运行。问题是:我需要metis的块输出(每个维度中的节点数相同)。我知道,metis 只是在后台使用了 Graph。
然而,有可能获得块作为输出吗?
fortran - 如何编译 METIS 5?
我正在开发一个需要使用METIS 的 API的系统。我的问题是如何为我的系统构建 Metis。
Metis 的旧版本,例如 4.0.2 版,只是将所有内容都放在一个文件夹 (lib) 中,而您make
在该文件夹中运行。
最新版本的 Metis 有许多文件夹:libs、include、gklib 等。
该文档显示了如何使用该接口,但没有显示如何在我的系统中编译它。
我是否必须像编译一个独立程序一样编译整个库,还是有另一种方法来编译它并构建为接口?
python - 从 edgelist 创建邻居列表(Python:访问指定第一个值的元组)
使用 NetworkX,我获得了一个描述图中边(顶点对)的元组列表:
使用此列表,我想遍历每个顶点,并找到每个相邻顶点,但我想按顺序执行此操作。所以我想得到的是一个嵌套列表,其中i
第 th 子列表包含 vertex 的每个邻居i
。
,但它也可以是另一种排序的数据结构。
但是,由于我的图可能包含一百万条边和顶点,因此我想实现一个不会遍历每个顶点的整个列表的例程,因为我想保持运行时较低。
有没有办法实现这一目标?很感谢任何形式的帮助。