1
1
openmpi/test/class/Makefile.am
Ralph Castain 7306b9d7b9 Fix the registry search routine to remove a buffer that wasn't expanding as it should - cause of recent problems observed when spawning larger numbers of processes.
For anyone interested, the problem stemmed from two things:

1. a bug in the ompi_bitmap utility (which I copied to orte_bitmap to avoid unintentionally disturbing something else) that causes the bitmap NOT to expand unless the caller asks for a bit that is more than one byte outside the current array size. The unit test didn't pick it up because it doesn't check that close to the boundary.

2. a "feature" in the ompi_bitmap utility that only expands the array if you try to SET a bit outside the current boundary, but NOT if you try to CLEAR a bit outside the array limit. This appears intentional as the unit test checks for this behavior, but I hadn't been expecting the asymmetry.

The orte_bitmap utility now appropriately expands in both circumstances. I also added a function to expand the array so it "covers" a bit location without setting or clearing it. The function allows you to ensure the array is big enough to handle the specified bit, but leave the bit alone if it already is there (the other functions would set/clear it if it was).

I've tested it with up to 100 processes without problem.

This commit was SVN r5980.
2005-06-08 15:48:38 +00:00

89 строки
2.7 KiB
Makefile

# -*- makefile -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University.
# All rights reserved.
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
# 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$
#
include $(top_srcdir)/config/Makefile.options
AM_CPPFLAGS = -I$(top_srcdir)/test/support
check_PROGRAMS = \
ompi_bitmap \
ompi_circular_buffer_fifo \
ompi_fifo \
ompi_hash_table \
ompi_list \
ompi_value_array \
ompi_pointer_array \
ompi_rb_tree \
orte_bitmap
TESTS = \
$(check_PROGRAMS)
ompi_bitmap_SOURCES = ompi_bitmap.c
ompi_bitmap_LDADD = \
$(top_builddir)/src/libmpi.la \
$(top_builddir)/test/support/libsupport.a
ompi_bitmap_DEPENDENCIES = $(ompi_bitmap_LDADD)
ompi_circular_buffer_fifo_SOURCES = ompi_circular_buffer_fifo.c
ompi_circular_buffer_fifo_LDADD = \
$(top_builddir)/src/libmpi.la \
$(top_builddir)/test/support/libsupport.a
ompi_circular_buffer_fifo_DEPENDENCIES = $(ompi_circular_buffer_fifo_LDADD)
ompi_fifo_SOURCES = ompi_fifo.c
ompi_fifo_LDADD = \
$(top_builddir)/src/libmpi.la \
$(top_builddir)/test/support/libsupport.a
ompi_fifo_DEPENDENCIES = $(ompi_fifo_LDADD)
ompi_list_SOURCES = ompi_list.c
ompi_list_LDADD = \
$(top_builddir)/src/libmpi.la \
$(top_builddir)/test/support/libsupport.a
ompi_list_DEPENDENCIES = $(ompi_list_LDADD)
ompi_hash_table_SOURCES = ompi_hash_table.c
ompi_hash_table_LDADD = \
$(top_builddir)/src/libmpi.la \
$(top_builddir)/test/support/libsupport.a
ompi_hash_table_DEPENDENCIES = $(ompi_hash_table_LDADD)
ompi_pointer_array_SOURCES = ompi_pointer_array.c
ompi_pointer_array_LDADD = \
$(top_builddir)/src/libmpi.la \
$(top_builddir)/test/support/libsupport.a
ompi_pointer_array_DEPENDENCIES = $(ompi_pointer_array_LDADD)
ompi_value_array_SOURCES = ompi_value_array.c
ompi_value_array_LDADD = \
$(top_builddir)/src/libmpi.la \
$(top_builddir)/test/support/libsupport.a
ompi_value_array_DEPENDENCIES = $(ompi_value_array_LDADD)
ompi_rb_tree_SOURCES = ompi_rb_tree.c
ompi_rb_tree_LDADD = \
$(top_builddir)/src/libmpi.la \
$(top_builddir)/test/support/libsupport.a
ompi_rb_tree_DEPENDENCIES = $(ompi_rb_tree_LDADD)
orte_bitmap_SOURCES = orte_bitmap.c
orte_bitmap_LDADD = \
$(top_builddir)/src/libmpi.la \
$(top_builddir)/test/support/libsupport.a
orte_bitmap_DEPENDENCIES = $(orte_bitmap_LDADD)