File: ompi_config_threads.m4

package info (click to toggle)
openmpi 1.6.5-9.1%2Bdeb8u1
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 91,628 kB
  • ctags: 44,305
  • sloc: ansic: 408,966; cpp: 44,454; sh: 27,828; makefile: 10,486; asm: 3,882; python: 1,239; lex: 805; perl: 549; csh: 253; fortran: 232; f90: 126; tcl: 12
file content (84 lines) | stat: -rw-r--r-- 3,210 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
dnl
dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
dnl                         University Research and Technology
dnl                         Corporation.  All rights reserved.
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
dnl                         of Tennessee Research Foundation.  All rights
dnl                         reserved.
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 
dnl                         University of Stuttgart.  All rights reserved.
dnl Copyright (c) 2004-2005 The Regents of the University of California.
dnl                         All rights reserved.
dnl Copyright (c) 2010      Cisco Systems, Inc.  All rights reserved.
dnl Copyright (c) 2011      Oracle and/or its affiliates. All rights reserved.
dnl $COPYRIGHT$
dnl 
dnl Additional copyrights may follow
dnl 
dnl $HEADER$
dnl

AC_DEFUN([OMPI_CONFIG_THREADS],[
#
# Arguments: none
#
# Dependencies: None
#
# Modifies:
#  none - see called tests
#
# configure threads
#

#
# MPI_THREAD_MULTIPLE
#
# --enable-mpi-thread-multiple
#  #if OMPI_ENABLE_THREAD_MULTIPLE == 0 /* Not available */
#  #if OMPI_ENABLE_THREAD_MULTIPLE == 1 /* Available  */
# 
AC_MSG_CHECKING([if want MPI_THREAD_MULTIPLE support])
AC_ARG_ENABLE([mpi_thread_multiple],
    [AC_HELP_STRING([--enable-mpi-thread-multiple],
                    [Enable MPI_THREAD_MULTIPLE support (default: disabled)])],
    [enable_mpi_threads="$enableval"],
    [enable_mpi_threads="undef"])

# if they did not want OPAL thread support, then they cannot have this option
if test "$enable_mpi_threads" = "yes" -a "$enable_opal_multi_threads" = "no"; then
    AC_MSG_WARN(["failed"])
    AC_MSG_WARN(["*** You have requested MPI_THREAD_MULTIPLE support but thread"])
    AC_MSG_WARN(["*** support was disabled within the OPAL code base by"])
    AC_MSG_WARN(["*** --disable-opal-multi-threads on your configure command."])
    AC_MSG_ERROR(["*** Can not continue."])
# if --disable-mpi-thread-multiple
elif test "$enable_mpi_threads" = "no"; then
    ompi_want_mpi_threads=0
    OMPI_ENABLE_THREAD_MULTIPLE=0
    AC_MSG_RESULT([Disabled])
#if requested and OPAL thread support is enabled
elif test "$enable_mpi_threads" = "yes" -a "$enable_opal_multi_threads" = "yes" ; then
    ompi_want_mpi_threads=1
    OMPI_ENABLE_THREAD_MULTIPLE=1
    AC_MSG_RESULT([Enabled])
#if requested and OPAL thread support was not explicitly enabled or disabled
elif test "$enable_mpi_threads" = "yes" -a "$enable_opal_multi_threads" = "undef" ; then
   # ensure that OPAL thread support is turned on
   OPAL_ENABLE_MULTI_THREADS=1
   enable_opal_multi_threads="yes"
   AC_DEFINE_UNQUOTED([OPAL_ENABLE_MULTI_THREADS], [$OPAL_ENABLE_MULTI_THREADS],
                      [Whether we should enable OPAL support for threads])
    ompi_want_mpi_threads=1
    OMPI_ENABLE_THREAD_MULTIPLE=1
    AC_MSG_RESULT([Enabled - OPAL thread support automatically enabled])
else
    # Default: disable
    ompi_want_mpi_threads=0
    OMPI_ENABLE_THREAD_MULTIPLE=0
    AC_MSG_RESULT([Disabled])
fi
AC_DEFINE_UNQUOTED([OMPI_ENABLE_THREAD_MULTIPLE], [$ompi_want_mpi_threads],
                   [Enable MPI_THREAD_MULTIPLE])

])dnl