我无法在 2008 年初的 MacBook Pro(即将退役)上访问两个内核。我希望某些任务(例如用户输入)只执行一次。有可能两个核心都在使用,因为 -np 2 似乎有一些加速,但也许这只是因为其中一个核心承载两个进程。
我的 Hello World 是:
#!/bin/env python
"""
from www.siafoo.net/snippet/64
mpirun -np N_PROCS ./mpiHelloWorld.py
"""
from mpi4py import MPI
import sys
hwmess = "Hello, World!! I am process %d of %d on %s.\n"
myrank = MPI.COMM_WORLD.Get_rank()
nprocs = MPI.COMM_WORLD.Get_size()
procnm = MPI.Get_processor_name()
sys.stdout.write(hwmess % (myrank, nprocs, procnm))
给予
$ mpirun -np 2 python mpiHelloWorld.py
你好世界!!我在本地主机上处理 0 of 1。
你好世界!!我在本地主机上处理 0 of 1。
当我认为它应该是 2 时,nprocs 是 1。其他细节:
$ which python /Library/Frameworks/EPD64.framework/Versions/Current/bin/python $ python Enthought Python Distribution -- www.enthought.com 版本:7.2-2(64位)
Python 2.7.2 |EPD 7.2-2(64 位)| (默认,2011 年 9 月 7 日,16:31:15)[GCC 4.0.1 (Apple Inc. build 5493)] on darwin 键入“packages”、“demo”或“enthought”以获取更多信息。
mpirun --version 给出:
FCFLAGS=-pipe -m64 -Os' '--cache-file=/dev/null' '--srcdir=.' 'LIBS=-lpthread' 'CPPFLAGS= -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_mpich/mpich/work/mpich-3.0.4/src/mpl/include -I/opt/local/ var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_mpich/mpich/work/mpich-3.0.4/src/mpl/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_mpich/mpich/work/ mpich-3.0.4/src/openpa/src -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_mpich/mpich/work/mpich-3.0.4/src/openpa/src -I/opt/本地/var/macports/build/_opt_local_var_macports_sources_rsync.macports。
可用的多路复用引擎:轮询选择
mpirun --nooversubscribe 给出:
$ mpirun --nooversubscribe [mpiexec@localhost] match_arg (./utils/args/args.c:160): 无法识别的参数 nooversubscribe [mpiexec@localhost] HYDU_parse_array (./utils/args/args.c:175): 参数匹配返回错误 [mpiexec@localhost] parse_args (./ui/mpich/utils.c:1609): 解析输入数组时出错 [mpiexec@localhost] HYD_uii_mpx_get_parameters (./ui/mpich/utils.c:1660): 无法解析用户arguments [mpiexec@localhost] main (./ui/mpich/mpiexec.c:153): 解析参数时出错
操作系统是 Snow Leopard 10.6.8,芯片是 Intel Core 2 Duo。
还有什么?
如何访问两个内核?
谢谢!