Thanks David,
i made a PR for the v1.8 branch at
https://github.com/open-mpi/ompi-release/pull/492
the patch is attached (it required some back-porting)
Cheers,
Gilles
On 8/12/2015 4:01 AM, David Shrader wrote:
I have cloned Gilles' topic/hcoll_config branch and, after running
autogen.pl, have found that './configure --with-hcoll' does indeed
work now. I used Gilles' branch as I wasn't sure how best to get the
pull request changes in to my own clone of master. It looks like the
proper checks are happening, too:
Konsole output
--- MCA component coll:hcoll(m4 configuration macro)
checking for MCA component coll:hcollcompile mode... dso
checking --with-hcollvalue... simple ok (unspecified)
checking hcoll/api/hcoll_api.h usability... yes
checking hcoll/api/hcoll_api.h presence... yes
checking for hcoll/api/hcoll_api.h... yes
looking for library without search path
checking for library containing hcoll_get_version... -lhcoll
checking if MCA component coll:hcollcan compile... yes
I haven't checked whether or not Open MPI builds successfully as I
don't have much experience running off of the latest source. For now,
I think I will try to generate a patch to the 1.8.8 configure script
and see if that works as expected.
Thanks,
David
On 08/11/2015 06:34 AM, Jeff Squyres (jsquyres) wrote:
On Aug 11, 2015, at 1:39 AM, Åke Sandgren<ake.sandg...@hpc2n.umu.se> wrote:
Please fix the hcoll test (and code) to be correct.
Any configure test that adds /usr/lib and/or /usr/include to any compile flags
is broken.
+1
Gilles filedhttps://github.com/open-mpi/ompi/pull/796; I just added some
comments to it.
--
David Shrader
HPC-3 High Performance Computer Systems
Los Alamos National Lab
Email: dshrader <at> lanl.gov
_______________________________________________
users mailing list
us...@open-mpi.org
Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
Link to this post:
http://www.open-mpi.org/community/lists/users/2015/08/27432.php
diff --git a/config/ompi_check_libfca.m4 b/config/ompi_check_libfca.m4
index 715b0c7..62f697f 100644
--- a/config/ompi_check_libfca.m4
+++ b/config/ompi_check_libfca.m4
@@ -24,41 +24,37 @@ AC_DEFUN([OMPI_CHECK_FCA],[
OMPI_CHECK_WITHDIR([fca], [$with_fca], [lib/libfca.so])
AS_IF([test "$with_fca" != "no"],
- [AS_IF([test ! -z "$with_fca" -a "$with_fca" != "yes"],
- [ompi_check_fca_dir=$with_fca
- ompi_check_fca_libdir="$ompi_check_fca_dir/lib"
- ompi_check_fca_incdir="$ompi_check_fca_dir/include"
- ompi_check_fca_libs=fca
+ [ompi_check_fca_libs=fca
+ AS_IF([test ! -z "$with_fca" && test "$with_fca" != "yes"],
+ [ompi_check_fca_dir=$with_fca
+ ompi_check_fca_libdir="$ompi_check_fca_dir/lib"
+ ompi_check_fca_incdir="$ompi_check_fca_dir/include"
+ AC_SUBST([coll_fca_HOME], "$ompi_check_fca_dir")],
+ [AC_SUBST([coll_fca_HOME], "/")])
-
coll_fca_extra_CPPFLAGS="-I$ompi_check_fca_incdir/fca
-I$ompi_check_fca_incdir/fca_core"
- AC_SUBST([coll_fca_extra_CPPFLAGS])
- AC_SUBST([coll_fca_HOME], "$ompi_check_fca_dir")
+ CPPFLAGS_save=$CPPFLAGS
+ LDFLAGS_save=$LDFLAGS
+ LIBS_save=$LIBS
- CPPFLAGS_save=$CPPFLAGS
- LDFLAGS_save=$LDFLAGS
- LIBS_save=$LIBS
- CPPFLAGS="$CPPFLAGS $coll_fca_extra_CPPFLAGS"
+ OPAL_LOG_MSG([$1_CPPFLAGS : $$1_CPPFLAGS], 1)
+ OPAL_LOG_MSG([$1_LDFLAGS : $$1_LDFLAGS], 1)
+ OPAL_LOG_MSG([$1_LIBS : $$1_LIBS], 1)
- OPAL_LOG_MSG([$1_CPPFLAGS : $$1_CPPFLAGS], 1)
- OPAL_LOG_MSG([$1_LDFLAGS : $$1_LDFLAGS], 1)
- OPAL_LOG_MSG([$1_LIBS : $$1_LIBS], 1)
+ OMPI_CHECK_PACKAGE([$1],
+ [fca/fca_api.h],
+ [$ompi_check_fca_libs],
+ [fca_get_version],
+ [],
+ [$ompi_check_fca_dir],
+ [$ompi_check_fca_libdir],
+ [ompi_check_fca_happy="yes"],
+ [ompi_check_fca_happy="no"])
- OMPI_CHECK_PACKAGE([$1],
- [fca_api.h],
- [$ompi_check_fca_libs],
- [fca_get_version],
- [],
- [$ompi_check_fca_dir],
- [$ompi_check_fca_libdir],
- [ompi_check_fca_happy="yes"],
- [ompi_check_fca_happy="no"])
-
- CPPFLAGS=$CPPFLAGS_save
- LDFLAGS=$LDFLAGS_save
- LIBS=$LIBS_save],
- [ompi_check_fca_happy="no"])
- ])
+ CPPFLAGS=$CPPFLAGS_save
+ LDFLAGS=$LDFLAGS_save
+ LIBS=$LIBS_save],
+ [ompi_check_fca_happy="no"])
AS_IF([test "$ompi_check_fca_happy" = "yes" -a "$enable_progress_threads"
= "yes"],
[AC_MSG_WARN([fca driver does not currently support progress
threads. Disabling FCA.])
diff --git a/config/ompi_check_libhcoll.m4 b/config/ompi_check_libhcoll.m4
index b63ae0e..6da5860 100644
--- a/config/ompi_check_libhcoll.m4
+++ b/config/ompi_check_libhcoll.m4
@@ -23,44 +23,34 @@ AC_DEFUN([OMPI_CHECK_HCOLL],[
OMPI_CHECK_WITHDIR([hcoll], [$with_hcoll], [lib/libhcoll.so])
AS_IF([test "$with_hcoll" != "no"],
- [AS_IF([test ! -z "$with_hcoll" -a "$with_hcoll" != "yes"],
- [ompi_check_hcoll_dir=$with_hcoll
- ompi_check_hcoll_libdir="$ompi_check_hcoll_dir/lib"
-
ompi_check_hcoll_incdir="$ompi_check_hcoll_dir/include"
- ompi_check_hcoll_libs=hcoll
+ [ompi_check_hcoll_libs=hcoll
+ AS_IF([test ! -z "$with_hcoll" && test "$with_hcoll" != "yes"],
+ [ompi_check_hcoll_dir=$with_hcoll
+ ompi_check_hcoll_libdir="$ompi_check_hcoll_dir/lib"
+ ompi_check_hcoll_incdir="$ompi_check_hcoll_dir/include"])
-
coll_hcoll_extra_CPPFLAGS="-I$ompi_check_hcoll_incdir/hcoll
-I$ompi_check_hcoll_incdir/hcoll/api"
+ CPPFLAGS_save=$CPPFLAGS
+ LDFLAGS_save=$LDFLAGS
+ LIBS_save=$LIBS
- AC_SUBST([coll_hcoll_extra_CPPFLAGS])
- AC_SUBST([coll_hcoll_HOME], "$ompi_check_hcoll_dir")
-
-
- CPPFLAGS_save=$CPPFLAGS
- LDFLAGS_save=$LDFLAGS
- LIBS_save=$LIBS
- CPPFLAGS="$CPPFLAGS $coll_hcoll_extra_CPPFLAGS"
-
- OPAL_LOG_MSG([$1_CPPFLAGS : $$1_CPPFLAGS], 1)
- OPAL_LOG_MSG([$1_LDFLAGS : $$1_LDFLAGS], 1)
- OPAL_LOG_MSG([$1_LIBS : $$1_LIBS], 1)
-
- OMPI_CHECK_PACKAGE([$1],
- [hcoll_api.h],
- [$ompi_check_hcoll_libs],
- [hcoll_get_version],
- [],
- [$ompi_check_hcoll_dir],
- [$ompi_check_hcoll_libdir],
- [ompi_check_hcoll_happy="yes"],
- [ompi_check_hcoll_happy="no"])
-
- CPPFLAGS=$CPPFLAGS_save
- LDFLAGS=$LDFLAGS_save
- LIBS=$LIBS_save],
- [ompi_check_hcoll_happy="no"])
- ])
+ OPAL_LOG_MSG([$1_CPPFLAGS : $$1_CPPFLAGS], 1)
+ OPAL_LOG_MSG([$1_LDFLAGS : $$1_LDFLAGS], 1)
+ OPAL_LOG_MSG([$1_LIBS : $$1_LIBS], 1)
+ OMPI_CHECK_PACKAGE([$1],
+ [hcoll/api/hcoll_api.h],
+ [$ompi_check_hcoll_libs],
+ [hcoll_get_version],
+ [],
+ [$ompi_check_hcoll_dir],
+ [$ompi_check_hcoll_libdir],
+ [ompi_check_hcoll_happy="yes"],
+ [ompi_check_hcoll_happy="no"])
+ CPPFLAGS=$CPPFLAGS_save
+ LDFLAGS=$LDFLAGS_save
+ LIBS=$LIBS_save],
+ [ompi_check_hcoll_happy=no])
AS_IF([test "$ompi_check_hcoll_happy" = "yes" -a
"$enable_progress_threads" = "yes"],
[AC_MSG_WARN([hcoll driver does not currently support progress
threads. Disabling HCOLL.])
diff --git a/ompi/mca/coll/fca/coll_fca_api.h b/ompi/mca/coll/fca/coll_fca_api.h
index a16f7b5..705c9ec 100644
--- a/ompi/mca/coll/fca/coll_fca_api.h
+++ b/ompi/mca/coll/fca/coll_fca_api.h
@@ -1,5 +1,7 @@
/**
- Copyright (c) 2011 Mellanox Technologies. All rights reserved.
+ Copyright (c) 2011 Mellanox Technologies. All rights reserved.
+ Copyright (c) 2015 Research Organization for Information Science
+ and Technology (RIST). All rights reserved.
$COPYRIGHT$
Additional copyrights may follow
@@ -9,8 +11,8 @@
#include "ompi_config.h"
-#include <fca_api.h>
-#include <config/fca_parse_specfile.h>
+#include <fca/fca_api.h>
+#include <fca/config/fca_parse_specfile.h>
#ifndef FCA_API
#define OMPI_FCA_VERSION 12
diff --git a/ompi/mca/coll/hcoll/Makefile.am b/ompi/mca/coll/hcoll/Makefile.am
index a0aa86a..dafa2b3 100644
--- a/ompi/mca/coll/hcoll/Makefile.am
+++ b/ompi/mca/coll/hcoll/Makefile.am
@@ -2,7 +2,8 @@
#
#
# Copyright (c) 2011 Mellanox Technologies. All rights reserved.
-# Copyright (c) 2013 Cisco Systems, Inc. All rights reserved.
+# Copyright (c) 2015 Research Organization for Information Science
+# and Technology (RIST). All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@@ -11,7 +12,7 @@
#
#
-AM_CPPFLAGS = $(coll_hcoll_CPPFLAGS) -DCOLL_HCOLL_HOME=\"$(coll_hcoll_HOME)\"
$(coll_hcoll_extra_CPPFLAGS)
+AM_CPPFLAGS = $(coll_hcoll_CPPFLAGS)
coll_hcoll_sources = \
coll_hcoll.h \
diff --git a/ompi/mca/coll/hcoll/coll_hcoll.h b/ompi/mca/coll/hcoll/coll_hcoll.h
index 5325bd7..fd735a6 100644
--- a/ompi/mca/coll/hcoll/coll_hcoll.h
+++ b/ompi/mca/coll/hcoll/coll_hcoll.h
@@ -1,5 +1,7 @@
/**
- Copyright (c) 2011 Mellanox Technologies. All rights reserved.
+ Copyright (c) 2011 Mellanox Technologies. All rights reserved.
+ Copyright (c) 2015 Research Organization for Information Science
+ and Technology (RIST). All rights reserved.
$COPYRIGHT$
Additional copyrights may follow
@@ -23,8 +25,8 @@
#include "ompi/attribute/attribute.h"
#include "ompi/op/op.h"
-#include "hcoll_api.h"
-#include "hcoll_constants.h"
+#include "hcoll/api/hcoll_api.h"
+#include "hcoll/api/hcoll_constants.h"
#include "coll_hcoll_debug.h"
diff --git a/ompi/mca/coll/hcoll/coll_hcoll_dtypes.h
b/ompi/mca/coll/hcoll/coll_hcoll_dtypes.h
index c1c83aa..a578bc9 100644
--- a/ompi/mca/coll/hcoll/coll_hcoll_dtypes.h
+++ b/ompi/mca/coll/hcoll/coll_hcoll_dtypes.h
@@ -7,7 +7,7 @@
#include "ompi/datatype/ompi_datatype.h"
#include "ompi/mca/op/op.h"
-#include "hcoll_dte.h"
+#include "hcoll/api/hcoll_dte.h"
/*to keep this at hand: Ids of the basic opal_datatypes:
#define OPAL_DATATYPE_INT1 4
diff --git a/ompi/mca/coll/hcoll/coll_hcoll_ops.c
b/ompi/mca/coll/hcoll/coll_hcoll_ops.c
index 1867125..f893141 100644
--- a/ompi/mca/coll/hcoll/coll_hcoll_ops.c
+++ b/ompi/mca/coll/hcoll/coll_hcoll_ops.c
@@ -1,5 +1,7 @@
/**
- Copyright (c) 2011 Mellanox Technologies. All rights reserved.
+ Copyright (c) 2011 Mellanox Technologies. All rights reserved.
+ Copyright (c) 2015 Research Organization for Information Science
+ and Technology (RIST). All rights reserved.
$COPYRIGHT$
Additional copyrights may follow
@@ -10,9 +12,9 @@
#include "ompi_config.h"
#include "ompi/constants.h"
#include "coll_hcoll.h"
-#include "hcoll_constants.h"
+#include "hcoll/api/hcoll_constants.h"
#include "coll_hcoll_dtypes.h"
-#include "hcoll_dte.h"
+#include "hcoll/api/hcoll_dte.h"
int mca_coll_hcoll_barrier(struct ompi_communicator_t *comm,
mca_coll_base_module_t *module){
int rc;
diff --git a/ompi/mca/coll/hcoll/coll_hcoll_rte.c
b/ompi/mca/coll/hcoll/coll_hcoll_rte.c
index b571858..69ecc6b 100644
--- a/ompi/mca/coll/hcoll/coll_hcoll_rte.c
+++ b/ompi/mca/coll/hcoll/coll_hcoll_rte.c
@@ -4,6 +4,8 @@
* Copyright (c) 2013 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
+ * Copyright (c) 2015 Research Organization for Information Science
+ * and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@@ -36,9 +38,9 @@
#include "ompi/mca/pml/pml.h"
-#include "hcoll_dte.h"
-#include "hcoll_api.h"
-#include "hcoll_constants.h"
+#include "hcoll/api/hcoll_dte.h"
+#include "hcoll/api/hcoll_api.h"
+#include "hcoll/api/hcoll_constants.h"
/*
* Local functions
*/
diff --git a/ompi/mca/coll/hcoll/configure.m4 b/ompi/mca/coll/hcoll/configure.m4
index 4fc0f5b..ff74990 100644
--- a/ompi/mca/coll/hcoll/configure.m4
+++ b/ompi/mca/coll/hcoll/configure.m4
@@ -1,8 +1,10 @@
# -*- shell-script -*-
#
#
-# Copyright (c) 2011 Mellanox Technologies. All rights reserved.
-# Copyright (c) 2013 Cisco Systems, Inc. All rights reserved.
+# Copyright (c) 2011 Mellanox Technologies. All rights reserved.
+# Copyright (c) 2013 Cisco Systems, Inc. All rights reserved.
+# Copyright (c) 2015 Research Organization for Information Science
+# and Technology (RIST). All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@@ -24,7 +26,6 @@ AC_DEFUN([MCA_ompi_coll_hcoll_CONFIG],[
AS_IF([test "$coll_hcoll_happy" = "yes"],
[coll_hcoll_WRAPPER_EXTRA_LDFLAGS="$coll_hcoll_LDFLAGS"
coll_hcoll_CPPFLAGS="$coll_hcoll_CPPFLAGS"
- coll_hcoll_WRAPPER_EXTRA_CPPFLAGS="$coll_hcoll_CPPFLAGS"
coll_hcoll_WRAPPER_EXTRA_LIBS="$coll_hcoll_LIBS"
$1],
[$2])
diff --git a/oshmem/mca/scoll/fca/configure.m4
b/oshmem/mca/scoll/fca/configure.m4
index d585547..683dafa 100644
--- a/oshmem/mca/scoll/fca/configure.m4
+++ b/oshmem/mca/scoll/fca/configure.m4
@@ -3,6 +3,8 @@
#
# Copyright (c) 2013 Mellanox Technologies, Inc.
# All rights reserved.
+# Copyright (c) 2015 Research Organization for Information Science
+# and Technology (RIST). All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@@ -24,7 +26,6 @@ AC_DEFUN([MCA_oshmem_scoll_fca_CONFIG],[
AS_IF([test "$scoll_fca_happy" = "yes"],
[scoll_fca_WRAPPER_EXTRA_LDFLAGS="$scoll_fca_LDFLAGS"
scoll_fca_CPPFLAGS="$scoll_fca_CPPFLAGS"
- scoll_fca_WRAPPER_EXTRA_CPPFLAGS="$scoll_fca_CPPFLAGS"
scoll_fca_WRAPPER_EXTRA_LIBS="$scoll_fca_LIBS"
$1],
[$2])
diff --git a/oshmem/mca/scoll/fca/scoll_fca_api.h
b/oshmem/mca/scoll/fca/scoll_fca_api.h
index 3ed0c75..48742d9 100644
--- a/oshmem/mca/scoll/fca/scoll_fca_api.h
+++ b/oshmem/mca/scoll/fca/scoll_fca_api.h
@@ -1,6 +1,8 @@
/*
* Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved.
+ * Copyright (c) 2015 Research Organization for Information Science
+ * and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@@ -9,9 +11,9 @@
*/
#include "oshmem_config.h"
-#include <fca_api.h>
-#include <fca_version.h>
-#include <config/fca_parse_specfile.h>
+#include <fca/fca_api.h>
+#include <fca/fca_version.h>
+#include <fca/config/fca_parse_specfile.h>
#ifndef FCA_API
#define OSHMEM_FCA_VERSION 12