6b22641669
I know it does not make much sense but one can play around with the performance. Numbers are available at http://www.unixer.de/research/nbcoll/perf/. This is the first step towards collv2. Next step includes the addition of non-blocking functions to the MPI-Layer and the collv1 interface. It implements all MPI-1 collective algorithms in a non-blocking manner. However, the collv1 interface does not allow non-blocking collectives so that all collectives are used blocking by the ompi-glue layer. I wanted to add LibNBC as a separate subdirectory, but I could not convince the buildsystem (and had not the time). So the component looks pretty messy. It would be great if somebody could explain me how to move all nbc*{c,h}, and {hb,dict}*{c,h} to a seperate subdirectory. It's .ompi_ignored because I did not test it exhaustively yet. This commit was SVN r11401.
69 строки
2.0 KiB
Makefile
69 строки
2.0 KiB
Makefile
#
|
|
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
|
# University Research and Technology
|
|
# Corporation. All rights reserved.
|
|
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
|
# of Tennessee Research Foundation. All rights
|
|
# reserved.
|
|
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
# University of Stuttgart. All rights reserved.
|
|
# Copyright (c) 2004-2005 The Regents of the University of California.
|
|
# All rights reserved.
|
|
# $COPYRIGHT$
|
|
#
|
|
# Additional copyrights may follow
|
|
#
|
|
# $HEADER$
|
|
#
|
|
|
|
sources = \
|
|
dict.c \
|
|
hb_tree.c \
|
|
nbc.c \
|
|
nbc_iallgather.c \
|
|
nbc_iallgatherv.c \
|
|
nbc_iallreduce.c \
|
|
nbc_ialltoall.c \
|
|
nbc_ialltoallv.c \
|
|
nbc_ibarrier.c \
|
|
nbc_ibcast.c \
|
|
nbc_igather.c \
|
|
nbc_igatherv.c \
|
|
nbc_ireduce.c \
|
|
nbc_ireduce_scatter.c \
|
|
nbc_iscan.c \
|
|
nbc_iscatter.c \
|
|
nbc_iscatterv.c \
|
|
nbc_op.c \
|
|
ompi_component.c \
|
|
ompi_component.h \
|
|
dict.h \
|
|
dict_private.h \
|
|
hb_tree.h \
|
|
nbc.h
|
|
|
|
# Make the output library in this directory, and name it either
|
|
# mca_<type>_<name>.la (for DSO builds) or libmca_<type>_<name>.la
|
|
# (for static builds).
|
|
|
|
if OMPI_BUILD_coll_libnbc_DSO
|
|
component_noinst =
|
|
component_install = mca_coll_libnbc.la
|
|
else
|
|
component_noinst = libmca_coll_libnbc.la
|
|
component_install =
|
|
endif
|
|
|
|
mcacomponentdir = $(libdir)/openmpi
|
|
mcacomponent_LTLIBRARIES = $(component_install)
|
|
mca_coll_libnbc_la_SOURCES = $(sources)
|
|
mca_coll_libnbc_la_LDFLAGS = -module -avoid-version
|
|
mca_coll_libnbc_la_LIBADD = \
|
|
$(top_ompi_builddir)/ompi/libmpi.la \
|
|
$(top_ompi_builddir)/orte/liborte.la \
|
|
$(top_ompi_builddir)/opal/libopal.la
|
|
|
|
noinst_LTLIBRARIES = $(component_noinst)
|
|
libmca_coll_libnbc_la_SOURCES =$(sources)
|
|
libmca_coll_libnbc_la_LDFLAGS = -module -avoid-version
|