我正在Linux桌面上使用openmpi和mpicxx编译一个消息传递程序。我的makefile执行以下操作:
mpicxx -c readinp.cpp
mpicxx -o exp_fit driver.cpp readinp.o 在这一点上,我得到以下错误:
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lnuma我的问题是:
什么是-lnuma?它的用途是什么?我该如何链接到它呢?
发布于 2012-01-30 23:19:04
构建脚本找不到numa库- NUMA (非统一内存访问)。-l选项告诉链接器链接库,但是您的系统没有安装正确的链接器,或者您对链接器的搜索路径不完整/错误。
尝试向您的包管理器(apt或rpm)查询包libnuma。
发布于 2016-01-27 10:58:40
谢谢Jonathan Dursi!
在Ubuntu上,包名是libnuma-dev。
apt-get install libnuma-dev
发布于 2012-01-30 23:21:07
OpenMPI和我认为mpich2使用libnuma ( Linux内核支持的NUMA (非统一内存访问)策略的一个简单编程接口)进行内存亲和性--以确保特定MPI任务的内存保持在任务运行的内核附近,而不是完全保存在另一个套接字上的缓存中。这对于多核节点上的性能非常重要。
如果链接器找不到库,则可能需要使用YaST安装libnuma-devel。
https://stackoverflow.com/questions/9066080
复制相似问题