next up previous contents
Next: Устаревшие возможности Up: Руководство по инсталляции mpich, Previous: Общие   Contents

Использование configure

Команда configure -help выведет
Usage: configure $-$$-$with-arch=ARCH_TYPE -comm=COMM_TYPE
$-$$-$with-device=DEVICE
$-$$-$with-mpe$-$$-$without-mpe
$-$$-$disable-f77$-$$-$disable-f90 $-$$-$with-f90nag$-$$-$with-f95nag
$-$$-$disable-f90modules
$-$$-$disable-gencat$-$$-$disable-doc
$-$$-$enable-c++$-$$-$disable-c++
$-$$-$enable-mpedbg$-$$-$disable-mpedbg
$-$$-$enable-devdebug$-$$-$disable-devdebug
$-$$-$enable-degub$-$$-$disable-debug
$-$$-$enable-traceback$-$$-$disable-traceback
$-$$-$enable-long-long$-$$-$disable-long-long
$-$$-$enable-long-double$-$$-$disable-long-double
-prefix=INSTALL_DIR

-c++=C++_COMPILERnoc++
-opt=OPTFLAGS
-cc=C_COMPILER-fc=FORTRAN_COMPILER
-clinker=C_LINKER-flinker=FORTRAN_LINKER
-c++linker=CC_LINKER
-cflags=CFLAGS-fflags=FFLAGS -c++flags=CCFLAGS
-optcc=C_OPTFLAGS-optf77=F77_OPTFLAGS
-f90=F90_COMPILER-f90flags=F90_FLAGS
-f90inc=INCLUDE_DIRECTORY_SPEC_FORMAT_FOR_F90
-f90linker=F90_LINKER
-f90libpath=LIBRARY_PATH_SPEC_FORMAT_FOR_F90
-lib=LIBRARY-mpilibname=MPINAME
-mpe_opts=mpe_OPTS
-make=MAKEPGM
-memdebug-ptrdebug-tracing -dlast
-listener_sig=SIGNAL_NAME
-cross
-adi_collective
-automountfix=AUTOMOUNTFIX
-noranlib-ar_nolocal
-rsh=RSHCOMMAND-rshnol
-noromio-file_system=FILE_SYSTEM
-p4_opts=P4_OPTS
где ARCH_TYPE        =    тип архитектуры машины, для которойконфигурируется MPI
COMM_TYPE = уровень взаимодействия или используемая опция
DEVICE = используемое устройство взаимодействия
INSTALL_DIR = каталог для установки MPI (необязательно)
MPE_OPTS = опции для передачи configure для mpe
P4_OPTS = опции для передачи p4 configure (device=ch_p4)
C++_COMPILER = по умолчанию использует xlC, g++, CC (необязательно)
OPTFLAGS = флаги оптимизации для передачи компилятору (например -g)
CFLAGS = флаги компилятора C
FFLAGS = флаги компилятора Фортран
MAKEPGM = используемая версия make
LENGTH = длина сообщения, при которой ADI переключает протоколсообщений
с коротких на длинные сообщения
AUTOMOUNTFIX = команды для исправления автомонтирования
RSHCOMMAND = команда использования удаленной shell
MPILIBNAME = имя для использования вместо mpich при упоминаниибиблиотеки MPI.
Если установлено, то данное имя используется вместоlibmpich.
Опция используется в системах с несколькими
различнымиреализациями MPI.
FILE_SYSTEM = имя файловой системы, используемой ROMIO. Поддерживает на
данный момент nfs, ufs, pfs (Intel), piofs (IBM), hfs (HP),
sfs (NEC), xfs (SGI).
SIGNAL_NAME = имя используемого устройством P4 (device=ch_p4) сигнала отом,
что требуется новое соединение. По умолчанию это SIGUSR1.
Все аргументы не обязательны, но если представлены аргументы `arch', `comm' или `prefix',
они должны быть единственными. `arch' должен определяться перед `comm', если встречаются
оба аргумента.

Пакеты, которые могут включаться в mpich $-$$-$with-device=name        -Использовать именованное устройство для
взаимодействия. Известные имена включают ch_p4,
ch_mpl, ch_shmem, globus2. Если ничего не определено,
берется значение по умолчанию. Специальные опции
устройства определяются после имени устройства,
отделяясь двоеточием. Пример:
$-$$-$with-device=globus2:-flavor=mpi, nothreads
$-$$-$with-romio=OPTIONS- Использовать ROMIO для предоставления MPI
ввода-вывода из MPI-2 (по умолчанию). Опции включают
-file_system=fstype, где fstype может быть любой
комбинацией nfs, ufs, pfs (Intel), piofs (IBM), hfs (HP),
sfs (NEC), xfs (SGI), скомбинированные '+'. Если romio
не включается, не могут быть построены модули Fortran 90.
$-$$-$with-mpe - Создать среду mpe (по умолчанию)
$-$$-$with-f90nag - Выбрать компилятор NAG f90 для
Фортрана ( предварительная версия, предназначенная для
использования вместо компилятора Фортран 77)
$-$$-$with-f95nag - Выбрать компилятор NAG f95 для Фортрана
Вы можете использовать $-$$-$without-<опция>, чтобы отключить опцию (кроме device).
Возможности, которые могут включаться в mpich

$-$$-$enable-c++                    - Создать интерфейсы C++ для процедур MPI-1
(по умолчанию)
$-$$-$enable-f77 - Создать интерфейсы Фортран 77 для процедур MPI
(по умолчанию)
$-$$-$enable-weak-symbols - Использовать слабые обозначения для процедур MPI/PMPI.
Эта опция использует для профилирующего интерфейса
слабые обозначения, если они доступны (по умолчанию).
$-$$-$enable-debug - Разрешить поддержку отладчиков для доступа к очередям
сообщений.
$-$$-$enable-traceback - Разрешить вывод стека вызовов, когда MPI и программы
пользователя создаются с помощью определенных компиляторов
(в настоящее время поддерживаются только определенные
версии gcc)
$-$$-$enable-mpedbg - Разрешить аргумент командной строки -mpedbg (например,
ошибки могут вызвать xterm, выполняющий отладчик).
Работает только с некоторыми рабочими станциями.
$-$$-$enable-sharedlib - Попытаться построить разделяемые библиотеки.Всегда
$-$$-$enable-sharedlib=dir строит статические библиотеки. Если определен каталог,
библиотеки будут помещены в него. Опция используется
для помещения разделяемых библиотек в единое место на
локальных дисках кластера.
$-$$-$enable-f90modules - Создать поддержку модулей Фортран 90 (по умолчанию,
если найден компилятор Фортран 90 или 95). Если не
построен ROMIO, модули Фортран 90 не создаются.
Следующие опции предназначены для разработчиков MPI и отладки configure: $-$$-$enable-strict        - Попытаться построить mpich, используя опции strict в
GNU gcc.
$-$$-$enable-echo - Заставить configure сообщать о своих действиях
$-$$-$enable-devdebug - Разрешить отладочный код в ADI.
Вы можете использовать $-$$-$disable-<опция> для отключения опции.

Заметки об использовании configure:

Рекомендации по использованию GNU configure советуют не использовать его для построения различных инструментов, а лишь для контроля некоторых базовых возможностей или вложенных пакетов. Наше использование configure не следует этим правилам, поскольку configure слишком удобен, и нам требуется гибкость, позволяющая пользователю создавать варианты mpich.

Несколько заметок о параметрах командной строки:

Вы можете выбрать разные компиляторы C и Фортран, используя ключи `-cc' и `-fc'. Переменные окружения `C' и `FC' могут также содержать значения этих параметров, но они могут переопределяться скриптом configure. Использование `-cc=$CC -fc= $FC' заставит configure использовать эти компиляторы.

Если указано `-with-cross=file', этот файл используется для кросс-компиляции. Файл должен содержать присваивания в форме

CROSS_SIZEOF_INT=4
для каждой переменной кросс-компиляции. Команда
egrep `CROSS_A_Z_=` configure | sed `s/=.*//g'
должна показать каждую переменную.

Опция `-opt' позволяет Вам задать опции оптимизации для компиляторов ( и С, и Фортран). Например, `-opt=-O' выбирает оптимизированную генерацию кода для большинства систем. `-optcc' и `-optf77' позволяют Вам задать опции только для компилятора С, либо Фортрана. Используйте
`-cflags' и `-fflags' для опций, не относящихся к компиляции.

Следует отметить, что опции `-opt' не передаются скриптам `mpicc', `mpif77', `mpiCC',
`mpif90'
. Эти опции используются только при построении mpich.

Опция `-lib' позволяет Вам определить место библиотеки, котрая может понадобиться определенному устройству. Большинство устройств не требуют этой опции; см. инструкции по инсталляции для тех, которым это нужно

Опция `-make' может использоваться для выбора альтернативной программы make. Например, в системах FreeBSD, может потребоваться -make=gnumake, поскольку make, унаследованный из BSD 4.4, не поддерживает операции включения (используя вместо этого форму .include, не такую, как в других make); опция используется в утилите wrappergen.

Опция `$-$$-$disable-short-longs' может использоваться для запрета использования типов С `long long' (общее расширение) и `long double' (ANSI/ISO C), когда их размер соответствует размеру типов `long' и `double'. Некоторые системы позволяют такие длинные типы С, но генерируют предупреждение, когда они используются; эта опция может использоваться для устранения этих сообщений (и поддержки этих типов). `$-$$-$disable-long-long' отключает только `long long'; `$-$$-$ disable-long-double' отключает только `long double'.

Опция `ar_nolocal' упреждает команду архива библиотеки от попыток использования локального каталога для временного хранения. Эту опцию нужно использовать (а) когда в разделе, на котором расположен mpich, недостаточно места (менее 20 Mb) и (b) когда места достаточно в /tmp (или в месте для помещения временных файлов по умолчанию).

Опция `-noranlib' пропускает шаг `ranlib' (необходимый в некоторых системах для создания объектной библиотеки). Это особенно полезно для систем, в которых `ranlib' необязателен (возможен, но не нужен; поскольку он возможен, configure использует его заодно), но может не сработать (некоторые `ranlib' реализованы, как скрипты с использованием `ar'; если они не используют локальный каталог, они могут не сработать, уничтожив в процессе библиотеку, если в каталоге /tmp не достаточно места). Это встречается в некоторых OSF-системах.

Опция `-memdebug' создает избыточный отладочный код внутренней памяти. Это нужно использовать только, если Вы пытаетесь найти проблему с памятью (это может помочь найти проблемы с памятью и в коде пользователя). Запуск программ с опцией `-mpidb memdump' создает после вызова `MPI_Finalize' дамп всей занятой памяти, выделенной MPI. Например, будет указан созданный пользователем тип данных, который позже не был освобожден.

Опция `-tracing' позволяет трассировку внутренних вызовов. Это нужно использовать только для отладки самой реализации mpich.

Опция `-dlast' позволяет трассировать самые последние действия, выполненные устройством. Это может быть вывод при возникновении сигнала (типа SIGINT), ошибки или вызова специальной процедуры. Для этой опции существуют издержки по производительности, но она может быть полезна для разработчиков, пытающихся отладить проблему.

Опция `-rsh' позволяет Вам выбрать альтернативную команду для удаленной shell (по умолчанию, configure использует `rsh' или `remsh' из переменной `PATH'). Если Ваш shell не поддерживает опцию `-l' (некоторые AFS-версии rsh имеют этот недостаток), укажите также опцию `-rshnol'. Эти опции полезны только при построении сетевой версии mpich (т.е. `$-$$-$with-device=ch_p4').

Специальные опции настройки:

Существует ряд опций для настройки ADI (Abstract Device Interface - интерфейс абстрактного устройства), являющегося интерфейсом передачи сообщений нижнего уровня. Эти опции не нужно использовать, пока Вы не уверены в том, что Вы делаете.

Опция `-pkt-size=LENGTH' позволяет Вам выбрать длину сообщений, при которой ADI переключается с короткого на длинный формат сообщений. LENGTH должна быть положительной.

Опция `-adi_collective' позволяет ADI предоставить некоторые коллективные операции в дополнение к базовым операциям "точка-точка". В настоящее время большинство систем не поддерживают эту опцию (она игнорируется), а на других она недостаточно протестирована.

Примерное использование configure:

Чтобы создать mpich для использования на sun4 с SunOS, в качестве устройства ch_p4, и с каталогом установки, равным текущему каталогу:

./configure $-$$-$with-device=ch_p4 $-$$-$with-arch=sun4 make
Известными устройствами являются ch_nx            (стандартные вызовы Intel NX),
ch_mpi (стандартные вызовы IBM EUI или MPL),
ch_p4 (p4),
globus2 (Globus:globus_io/vMPI),
ch_meiko (для Meiko CS2, использую библиотеку совместимости NX),
ch_shmem (системы с разделяемой памятью, типа SMP),
ch_lfshmem (системы с разделяемой памятью, типа SMP; используют
неблокирующиеся буферы сообщений),
ch_cenju3 (стандартные вызовы NEC Cenju-3)
Следующие устройства поддерживались ADI-1, но сейчас не поддерживаются. Пожалуйста, свяжитесь с нами, если Вы заинтересованы помочь нам с поддержкой этих устройств:

meiko        (для Meiko CS2, используя библиотеку elan tport),
nx (Intel Paragon),
t3d (Cray T3D, используя библиотеку Cray shmem),
ch_nc (стандартные вызовы nCube, требует -arch=ncube),
ch_cmmd (стандартные вызовы TMC CM-5 CMMD)
Они больше не поставляются с дистрибутивом mpich.

Известные архитектуры включают (регистр важен) sun4                (SUN OS 4.x)
solaris (Solaris)
solaris86 (Solaris on Intel platforms)
hpux (HP UX)
sppux (SPP UX)
rs6000 (AIX for IBM RS6000)
sgi (Silicon Graphics IRIX 4.x, 5.x, 6.x)
sgi5 (Silicon Graphics IRIX 4.x on R4400's, для MESHINE)
IRIX (то же, что и sgi)
IRIX32 (IRIX с 32-битными объектами -32)
IRIXN32 (IRIX c -n32)
IRIX64 (IRIX с 64-битными объектами)
alpha (DEC alpha)
intelnx (Intel i860 или Intel Delta)
paragon (Intel Paragon)
tflops (Intel TFLOPS)
meiko (Meiko CS2)
CRAY (CRAY XMP, YMP, C90, J90, T90)
cray_t3d (CRAY T3D)
freebsd (PC клоны на FreeBSD)
netbsd (PC клоны на NetBSD)
LINUX (PC клоны на LINUX)
LINUX_ALPHA (Linux на процессорах Alpha)
ksr (Kendall Square KSR1 и KSR2)
EWS_UX_V (NEC EWS4800/360AD рабочие станции. Не тестировалось.)
UXPM (UXP/M. Не тестировалось.)
uxpv (uxp/v/ Не тестировалось.)
SX_4_float0
(NEC SX-4; Формат с плавающей точкой 0
Удовлетворяет стандарту IEEE 754.
С:    sizeof (int)    = 4;sizeof (float)    = 4
FORTRAN: sizeof (INTEGER)= 4;sizeof (REAL)    = 4)
SX_4_float1
(NEC SX-4; Формат с плавающей точкой 1
Формат с плавающей точкой IBM.
С:    sizeof (int)    = 4;sizeof (float)    = 4
FORTRAN: sizeof (INTEGER)= 4;sizeof (REAL) = 4)
SX_4_float2
(NEC SX-4; Формат с плавающей точкой 2
Формат с плавающей точкой CRAY.
С:    sizeof (int)    = 4;sizeof (float)    = 8
FORTRAN: sizeof (INTEGER)    = 8;sizeof (REAL)    = 8
!!!ВНИМАНИЕ!!! Версия не работает с процедурами Фортран
sizeof (INTEGER) != sizeof (int))
SX_4_float2_int64
(NEC SX-4; Формат с плавающей точкой 2 и 64-битными целыми
С:    sizeof (int)    = 8;sizeof (float)    = 8
FORTRAN: sizeof (INTEGER)= 8;sizeof (REAL)    = 8)
Специальные замечания:

Для многопроцессорных SGI ($-$$-$with-arch=IRIX), работающих с устройствами ch_p4, используйте -comm=ch_p4, чтобы отключить использование устройства коммуникации p4 через разделяемую память и -comm=shared, чтобы включить использование устройства коммуникации p4 через разделяемую память. По умолчанию используется устройство коммуникации через разделяемую память.

Остальное может быть определено.


next up previous contents
Next: Устаревшие возможности Up: Руководство по инсталляции mpich, Previous: Общие   Contents
Alex Otwagin 2002-12-16