mpi - 如何使用 mpiexec 避免 libpciaccess 初始化错误
问题描述
mpiexec 在 FreeBSD 上使用 mpich-3.4.1 或 openmpi-4.4.1 会导致以下错误。
PCI: Failed to initialize libpciaccess with pci_system_init(): 6 (Permission denied)
下面的测试程序
#include <fcntl.h>
#include <stdio.h>
#include <errno.h>
int main(void) {
int pcidev = open( "/dev/pci", O_RDWR | O_CLOEXEC );
printf("pcidev=%d\n", pcidev);
return 0;
}
确实在没有管理员权限的情况下失败。
% ./a.out
pcidev=-1
% sudo ./a.out
Password:
pcidev=3
这个错误并不严重,但如果我们能摆脱它会很好。
解决方案
推荐阅读
- ruby-on-rails - 在 Rails 中创建具有相同形式的设计用户和配置文件模型
- c - 性能:Mod 和赋值 vs 条件和赋值
- arrays - Fn::ImportValue 与类型 {Array} 不匹配
- ruby - Ruby中文件权限的AND运算符
- javascript - JavaScript 有像 Ruby 的 'tr' 方法这样的方法吗?
- vba - 遍历 ProcKind 值的问题
- node.js - 如何使用 Handlebars 中当前上下文的 @key 从其他数组中获取元素?
- cloudera - 从哪里或如何下载 Cloudera 快速启动 VM 5.12
- python - 在 python 中,将某些函数映射到另一个以它们的名称作为参数的函数
- java - 获取 JRaw 的空访问令牌