Wrap all RTS functions exposed to AMPI programs in special macros
[charm.git] / src / libs / ck-libs / ampi / romio / README.AMPI
blob17f3216c99a5154a8bd856f3da007d6d0f28d028
1 Modifications
2 =============
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.