4 Here is a list of modifications and clarifications to the version of
5 ROMIO integrated into AMPI:
7 * Used MPI_Info_* calls from AMPI, and darray calls from ROMIO.
8 * Set -DHAVE_STATUS_SET_BYTES in configure and configure.in, and
9 add status setting call in adio/common/status_setb.c
10 * Use AMPI's AMPI_Type_is_contiguous() extension in adio/common/iscontig.c
11 * Excluded directories doc, lib, man, and test in the distribution.
12 (lib will be generated in the building directory $CHARMDIR/tmp/)
13 * The final library lib/$ARCH/libmpio.a is copied to
14 $CHARMDIR/lib/libampiromio.a and the user is supposed to link
15 with ampiromio at link time.
16 * Global variables were privatized, as shown in the section below.
17 * Function declarations have been moved from mpio.h.in to a new file,
18 mpio_functions.h, in line with ampi_functions.h. As part of this,
19 the mpi.h include has been moved to the bottom of mpio.h.in, and one
20 item that depends on mpi.h typedefs has been moved to ampi.h.
21 * HAVE_MPI_OFFSET is unconditionally defined to 1.
24 Variable privatization
25 ======================
27 ROMIO has several global variables that need to be privatized for AMPI.
28 The following table contains the currently known global variables and how they
29 are handled in this integrated version of ROMIO. Privatization is done with
30 the Ctv* functions of Charm++.
32 ================ ========= =========================== ==================================
33 Defined in Type (nm) Variable name Status
34 ================ ========= =========================== ==================================
35 ad_init.c D ADIOI_DFLT_ERR_HANDLER Privatized
36 ad_init.c S ADIOI_Datarep_head Privatized
37 ad_init.c S ADIOI_Flatlist Privatized
38 ad_init.c S ADIOI_Ftable Privatized
39 ad_init.c S ADIOI_Ftable_max Privatized
40 ad_init.c S ADIOI_Ftable_ptr Privatized
41 ad_init.c S ADIOI_Reqtable Privatized, missing in ioreq_c2f.c
42 ad_init.c S ADIOI_Reqtable_max Privatized, missing in ioreq_c2f.c
43 ad_init.c S ADIOI_Reqtable_ptr Privatized, missing in ioreq_c2f.c
44 ad_init.c D ADIOI_syshints Privatized
45 ad_init.c D ADIO_Init_keyval Privatized
46 ad_init.c D ADIO_same_amode Privatized
47 cb_config_list.c D ADIOI_cb_config_list_keyval Privatized
48 ad_testfs.c D ADIO_TESTFS_operations Not privatized (readonly)
49 ad_ufs.c D ADIO_UFS_operations Not privatized (readonly)
50 ad_nfs.c D ADIO_NFS_operations Not privatized (readonly)
51 ================ ========= =========================== ==================================
53 The nm types are as follows:
54 B - The symbol is in the uninitialized data section (BSS).
55 D - The symbol is in the initialized data section.
56 G - The symbol is in the initialized data section for small objects.
57 S - The symbol is in the uninitialized data section for small objects.