On Jul 21, 2009, at 8:44 PM, Jeff Squyres (jsquyres) wrote:
The extent for MPI_COMPLEX is returning 0.
Sorry -- I accidentally hit "send" way before I finished typing. :-\ You can reproduce the problem with a trivial program: ----- #include <stdio.h> #include <mpi.h> int main(int argc, char* argv[]) { MPI_Aint extent; MPI_Init(NULL, NULL); MPI_Type_extent(MPI_COMPLEX, &extent); printf("Got extent: %d\n", extent); MPI_Finalize(); return 0; } -----This is an OMPI that was compiled with Fortran support. If I break at MPI_Type_extent in gdb, here's what *type is:
----- (gdb) p *type $1 = {super = {super = {obj_magic_id = 16046253926196952813, obj_class = 0x2a95aa0520, obj_reference_count = 1, cls_init_file_name = 0x2a95626ce0 "ompi_datatype_module.c",cls_init_lineno = 134}, flags = 63011, id = 0, bdt_used = 0, size = 0,
true_lb = 0, true_ub = 0, lb = 0, ub = 0, align = 0, nbElems = 1,name = "OPAL_UNAVAILABLE", '\0' <repeats 47 times>, desc = {length = 1,
used = 1, desc = 0x2a95ac4640}, opt_desc = {length = 1, used = 1, desc = 0x2a95ac4640}, btypes = {0 <repeats 46 times>}}, id = 25,d_f_to_c_index = 18, d_keyhash = 0x0, args = 0x0, packed_description = 0x0,
name = "MPI_COMPLEX", '\0' <repeats 52 times>} -----The OPAL_UNAVAILABLE looks ominous...? When I do the same thing with MPI_INTEGER, it doesn't say OPAL_UNAVAILABLE:
----- (gdb) p *type $2 = {super = {super = {obj_magic_id = 16046253926196952813, obj_class = 0x2a95aa0520, obj_reference_count = 1, cls_init_file_name = 0x2a95626ce0 "ompi_datatype_module.c",cls_init_lineno = 131}, flags = 55094, id = 6, bdt_used = 64, size = 4,
true_lb = 0, true_ub = 4, lb = 0, ub = 4, align = 4, nbElems = 1, name = "OPAL_INT4", '\0' <repeats 54 times>, desc = {length = 1, used = 1, desc = 0x2a95777920}, opt_desc = {length = 1, used = 1, desc = 0x2a95777920}, btypes = {0, 0, 0, 0, 0, 0, 1,0 <repeats 39 times>}}, id = 22, d_f_to_c_index = 7, d_keyhash = 0x0,
args = 0x0, packed_description = 0x0, name = "MPI_INTEGER", '\0' <repeats 52 times>} -----Note that configure was happy with all the COMPLEX datatypes; config.out and config.log attached. This was with gcc 3.4 on RHEL4.
-- Jeff Squyres jsquy...@cisco.com
complex-borked.tar.bz2
Description: BZip2 compressed data