gcc
için yazılmış paralel bilgi işlem için bir C kodum var ve bunu aracılığıyla mpicc
aracılığıyla kullanan bir kümede derlemek istiyorum. Kodun icc
olduğu gibi düzeltilmesi, çok zaman gerektiren bir şey gibi gözüküyor, bu yüzden OpenMPI
'u gcc
kullanmak için sorabilir miyim diye merak ediyorum. Bu kümede yönetici hakları yok ve aslında orijinal yapılandırmayı bozmamaya çalışacağım.OpenMPI, ICC yerine GCC'yi kullanmak için nasıl zorlanır? OpenMPI'nın yeniden derlenmesi gerekli midir?
Örn. Makefile
, o zaman umarım OpenMPI
ev dizinimde derleyebiliriz, ama bundan sonra yapılması gerekenler konusunda biraz rehberliğe ihtiyacım var. Bana yardım eder misin?
UPDATE1
Makefile
CC = mpicc
CFLAGS += -DMPI
Ve burada
$ which mpicc
/usr/bin/mpicc
lrwxr-xr-x /usr/bin/mpicc -> opal_wrapper
-rwxr-xr-x /usr/bin/opal_wrapper
Ben size daha fazla bilgi verebilir bana, eğer bildirin bazı OpenMPI dosyalarıdır içerir.
help of Jeff ile Update2
, bu dosyayı düzenlemek için Ancak, ben haklara sahip değilsiniz mpicc
$ more /usr/local/share/openmpi/mpicc-wrapper-data.txt
project=Open MPI
project_short=OMPI
version=1.1.4
language=C
compiler_env=CC
compiler_flags_env=CFLAGS
compiler=icc
extra_includes= openmpi
preprocessor_flags=
compiler_flags=-pthread
linker_flags=
libs=-lmpi -lorte -lopal -ldl -Wl,--export-dynamic -lnsl -lutil -ldl
required_file=
için OpenMPI
ayarları bulmak mümkün oldu ve 'OPMI_CC = gcc
doesn derleyiciyi değiştir.
Update3
Çevre değişken CC = gcc
$ export CC=gcc
$ echo $CC
gcc
$ make clean $$ make
...icc:...errors
Update4
yardımcı olmuyor ... ama yüzgeç export OMPI_CC=gcc
yapar müttefik yardım (thanks to sharth). Bir gün
/opt/intel/fce/9.1.036/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail
'Makefile'de CC = mpicc' ve' CFLAGS + = -DMPI' vardır. Aksi halde, 'mpi' arayüzü almıyorum. Doğru mu? – Andrei
@Andrei: Bunlar çevresel değişkenler değil.Bunları, yukarıda önerdiğim çevresel değişkenleri belirlemenin yanı sıra istiyorsun. –
Tamam, hatayı görüyorum. Önerdiğin gibi denedim ve hala "icc". Jeff'in önerdiği sayfaya bir göz atabilir misiniz? Dediğini yapar mıyım? – Andrei