मैं एक एलएएम एमपीआई क्लस्टर मशीन पर Rmpi
पैकेज स्थापित करने की कोशिश कर रहा हूं। पहले मैं कुछ सामान संकलित और परीक्षण कर रहा था (mpi4py
और छोटे सी ++ प्रोग्राम) इसलिए मुझे यकीन है कि एमपीआई स्वयं ही काम करता है। हालांकि पुस्तकालयों को जोड़ने पर Rmpi
पैकेज स्थापित करना विफल रहता है।एलएएम/एमपीआई क्लस्टर पर आरएमपीआई स्थापित करना
मेरा मुख्य संदिग्ध मेकफ़ाइल में mpicc
के बजाय gcc
पर कॉल है (मैं इसे बदलने के लिए कॉन्फ़िगरेशन में लाइन ढूंढने की कोशिश कर रहा हूं लेकिन अब तक इसका पता नहीं लगा सका)।
क्या किसी को एलएएम पर आरएमपीआई स्थापित करने का अनुभव है, और आपने इसका प्रबंधन कैसे किया?
वास्तुकला
- लैम एमपीआई (या शायद पीबीएस एमपीआई अगर इस तरह मौजूद हैं, मैं कैसे की जाँच करते हैं?)। यकीन के लिए एक बात है, मैं mpicpp फ़ाइल जो मुझे नहीं लगता कि सभी MPI कार्यान्वयन के लिए आम है है
- आर 2.15.2
- Rmpi_0.6-1
- CentOS रिलीज 5.5 (अंतिम), x86_64
कमान आर से कहा जाता
install.packages("Rmpi")
लॉग
trying URL 'http://cran.at.r-project.org/src/contrib/Rmpi_0.6-1.tar.gz'
Content type 'application/x-gzip' length 92977 bytes (90 Kb)
opened URL
==================================================
downloaded 90 Kb
* installing *source* package âRmpiâ ...
** package âRmpiâ successfully unpacked and MD5 sums checked
checking for gcc... gcc -std=gnu99
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -std=gnu99 accepts -g... yes
checking for gcc -std=gnu99 option to accept ISO C89... none needed
I am here /usr and it is OpenMPI
Trying to find mpi.h ...
Found in /usr/include
Trying to find libmpi.so or libmpich.a ...
Found libmpi in /usr/lib
checking for openpty in -lutil... yes
checking for main in -lpthread... yes
configure: creating ./config.status
config.status: creating src/Makevars
** libs
gcc -std=gnu99 -I/g/software/linux/pack/r-2.15.2/centos-5/lib64/R/include -DNDEBUG -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I/usr/include -DMPI2 -DOPENMPI -I/usr/local/include -fpic -g -O2 -c RegQuery.c -o RegQuery.o
gcc -std=gnu99 -I/g/software/linux/pack/r-2.15.2/centos-5/lib64/R/include -DNDEBUG -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I/usr/include -DMPI2 -DOPENMPI -I/usr/local/include -fpic -g -O2 -c Rmpi.c -o Rmpi.o
gcc -std=gnu99 -I/g/software/linux/pack/r-2.15.2/centos-5/lib64/R/include -DNDEBUG -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I/usr/include -DMPI2 -DOPENMPI -I/usr/local/include -fpic -g -O2 -c conversion.c -o conversion.o
gcc -std=gnu99 -I/g/software/linux/pack/r-2.15.2/centos-5/lib64/R/include -DNDEBUG -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I/usr/include -DMPI2 -DOPENMPI -I/usr/local/include -fpic -g -O2 -c internal.c -o internal.o
gcc -std=gnu99 -shared -L/usr/local/lib64 -o Rmpi.so RegQuery.o Rmpi.o conversion.o internal.o -L/usr/lib -lmpi -lutil -lpthread -L/g/software/linux/pack/r-2.15.2/centos-5/lib64/R/lib -lR
/usr/bin/ld: skipping incompatible /usr/lib/libutil.so when searching for -lutil
/usr/bin/ld: skipping incompatible /usr/lib/libutil.a when searching for -lutil
/usr/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching for -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/libpthread.a when searching for -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -lc
installing to /home/andrejev/R/x86_64-unknown-linux-gnu-library/2.15/Rmpi/libs
** R
** demo
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
Error : .onLoad failed in loadNamespace() for 'Rmpi', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/home/andrejev/R/x86_64-unknown-linux-gnu-library/2.15/Rmpi/libs/Rmpi.so':
/usr/lib/libmpi.so.0: undefined symbol: _kio
Error: loading failed
Execution halted
ERROR: loading failed
* removing â/home/andrejev/R/x86_64-unknown-linux-gnu-library/2.15/Rmpiâ
The downloaded source packages are in
â/tmp/Rtmp5qzeqp/downloaded_packagesâ
Warning message:
In install.packages("Rmpi") :
installation of package âRmpiâ had non-zero exit status
क्या आप वास्तव में अभी भी एलएएम/एमपीआई चला रहे हैं ?! यह बात ब्रह्मांड के रूप में पुरानी है :) मैं कहूंगा कि आप ओपन एमपीआई का उपयोग कर रहे हैं (एलएएम/एमपीआई ओपन एमपीआई साल पहले विलय कर दिया गया था)। पीबीएस आपके क्लस्टर बैच सिस्टम है, इसका एमपीआई के साथ कुछ लेना देना नहीं है। –