Exemplo n.º 1
0
int main()
{
  PRINT_SIZE(int);
  PRINT_SIZE(long);
  PRINT_SIZE(intptr_t);
  PRINT_SIZE(void*);
  PRINT_SIZE(long long);
  PRINT_SIZE(size_t);

  return 0;
}
Exemplo n.º 2
0
int main (int argc, char *argv[])
{
	MPI_Status s;
	long addr1 = (long) &s;
	long addr2 = (long) &(s.MPI_SOURCE);
	long addr3 = (long) &(s.MPI_TAG);

	PRINT_SIZE(long long)
	PRINT_SIZE(long)
	PRINT_SIZE(int)
	PRINT_SIZE(pid_t)
	PRINT_SIZE(ssize_t)
	PRINT_SIZE(size_t)
	PRINT_SIZE(void*)
	PRINT_SIZE(short)
	PRINT_SIZE(char)
	
	printf ("size for MPI_Status in sizeof(int) = %ld\n", sizeof(MPI_Status)/sizeof(int));
	printf ("offset of MPI_Status.MPI_SOURCE in sizeof(int) = %ld\n", (addr2-addr1)/sizeof(int));
	printf ("offset of MPI_Status.MPI_TAG in sizeof(int) = %ld\n", (addr3-addr1)/sizeof(int));

	return 0;
}
Exemplo n.º 3
0
int main(int argc, char **argv)
{
	PRINT_SIZE(char);
	PRINT_SIZE(int);
	PRINT_SIZE(short);
	PRINT_SIZE(long);
	PRINT_SIZE(long long);
	PRINT_SIZE(float);
	PRINT_SIZE(double);
	PRINT_SIZE(long double);
	PRINT_SIZE(void *);
	PRINT_SIZE(2);
	PRINT_SIZE(2.0);
	PRINT_SIZE(2L);
	PRINT_SIZE(2.0L);
	PRINT_SIZE('a');
	PRINT_SIZE("a");
	return 0;
}
Exemplo n.º 4
0
void print_type_info(const char * tl_name)
{
    if (tl_name == NULL) {
        printf("UCS:\n");
        PRINT_SIZE(ucs_mpool_t);
        PRINT_SIZE(ucs_mpool_chunk_t);
        PRINT_SIZE(ucs_mpool_elem_t);
        PRINT_SIZE(ucs_async_context_t);
        PRINT_SIZE(ucs_async_handler_t);
        PRINT_SIZE(ucs_async_ops_t);
        PRINT_SIZE(ucs_async_pipe_t);
        PRINT_SIZE(ucs_async_signal_context_t);
        PRINT_SIZE(ucs_async_thread_context_t);
        PRINT_SIZE(ucs_callback_t);
        PRINT_SIZE(ucs_class_t);
        PRINT_SIZE(ucs_component_t);
        PRINT_SIZE(ucs_config_field_t);
        PRINT_SIZE(ucs_config_parser_t);
        PRINT_SIZE(ucs_frag_list_t);
        PRINT_SIZE(ucs_frag_list_elem_t);
        PRINT_SIZE(ucs_frag_list_head_t);
        PRINT_SIZE(ucs_ib_port_spec_t);
        PRINT_SIZE(ucs_list_link_t);
        PRINT_SIZE(ucs_memtrack_entry_t);
        PRINT_SIZE(ucs_mpmc_queue_t);
        PRINT_SIZE(ucs_notifier_chain_t);
        PRINT_SIZE(ucs_notifier_chain_elem_t);
        PRINT_SIZE(ucs_ptr_array_t);
        PRINT_SIZE(ucs_queue_elem_t);
        PRINT_SIZE(ucs_queue_head_t);
        PRINT_SIZE(ucs_spinlock_t);
        PRINT_SIZE(ucs_timer_t);
        PRINT_SIZE(ucs_timer_queue_t);
        PRINT_SIZE(ucs_twheel_t);
        PRINT_SIZE(ucs_wtimer_t);
        PRINT_SIZE(ucs_arbiter_t);
        PRINT_SIZE(ucs_arbiter_group_t);
        PRINT_SIZE(ucs_arbiter_elem_t);
        PRINT_SIZE(ucs_pgtable_t);
        PRINT_SIZE(ucs_pgt_entry_t);
        PRINT_SIZE(ucs_pgt_dir_t);
        PRINT_SIZE(ucs_pgt_region_t);
        PRINT_SIZE(ucs_rcache_t);
        PRINT_SIZE(ucs_rcache_region_t);

        printf("\nUCT:\n");
        PRINT_SIZE(uct_am_handler_t);
        PRINT_SIZE(uct_base_iface_t);
        PRINT_SIZE(uct_completion_t);
        PRINT_SIZE(uct_ep_t);
        PRINT_SIZE(uct_mem_h);
        PRINT_SIZE(uct_rkey_t);
        PRINT_SIZE(uct_iface_t);
        PRINT_SIZE(uct_iface_attr_t);
        PRINT_SIZE(uct_iface_config_t);
        PRINT_SIZE(uct_iface_mpool_config_t);
        PRINT_SIZE(uct_pd_config_t);
        PRINT_SIZE(uct_iface_ops_t);
        PRINT_SIZE(uct_pd_t);
        PRINT_SIZE(uct_pd_attr_t);
        PRINT_SIZE(uct_pd_ops_t);
        PRINT_SIZE(uct_tl_resource_desc_t);
        PRINT_SIZE(uct_rkey_bundle_t);
        PRINT_SIZE(uct_sockaddr_ib_t);
        PRINT_SIZE(uct_sockaddr_ib_subnet_t);
        PRINT_SIZE(uct_sockaddr_process_t);
        PRINT_SIZE(uct_sockaddr_ugni_t);

#if HAVE_IB
        printf("\nIB:\n");
        PRINT_SIZE(uct_ib_device_t);
        PRINT_SIZE(uct_ib_pd_t);
        PRINT_SIZE(uct_ib_rcache_region_t);
        PRINT_SIZE(uct_ib_iface_t);
        PRINT_SIZE(uct_ib_iface_config_t);
        PRINT_SIZE(uct_ib_iface_recv_desc_t);
        PRINT_SIZE(uct_ib_recv_wr_t);
#endif
        printf("\n");
    }

#if HAVE_TL_RC
    if (tl_name == NULL || !strcasecmp(tl_name, "rc_verbs") ||
        !strcasecmp(tl_name, "rc_mlx5"))
    {
        printf("RC:\n");
        PRINT_SIZE(uct_rc_am_short_hdr_t);
        PRINT_SIZE(uct_rc_ep_t);
        PRINT_SIZE(uct_rc_hdr_t);
        PRINT_SIZE(uct_rc_iface_t);
        PRINT_SIZE(uct_rc_iface_config_t);
        PRINT_SIZE(uct_rc_iface_send_op_t);
        PRINT_SIZE(uct_rc_iface_send_desc_t);

        PRINT_SIZE(uct_rc_iface_send_desc_t);
        if (tl_name == NULL || !strcasecmp(tl_name, "rc")) {
            PRINT_SIZE(uct_rc_verbs_ep_t);
            PRINT_SIZE(uct_rc_verbs_iface_config_t);
            PRINT_SIZE(uct_rc_verbs_iface_t);
        }

#if HAVE_MLX5_HW
        if (tl_name == NULL || !strcasecmp(tl_name, "rc_mlx5")) {
            PRINT_SIZE(uct_rc_mlx5_ep_t);
            PRINT_SIZE(uct_rc_mlx5_iface_config_t);
        }
#endif
        printf("\n");
    }
#endif

#if HAVE_TL_UD
    if (tl_name == NULL || !strcasecmp(tl_name, "ud") ||
        !strcasecmp(tl_name, "ud_mlx5"))
    {
        printf("UD:\n");
        PRINT_SIZE(uct_ud_ep_t);
        PRINT_SIZE(uct_ud_neth_t);
        PRINT_SIZE(uct_ud_iface_t);
        PRINT_SIZE(uct_ud_iface_config_t);
        PRINT_SIZE(uct_ud_ep_pending_op_t);
        PRINT_SIZE(uct_ud_send_skb_t);
        PRINT_SIZE(uct_ud_send_skb_inl_t);
        PRINT_SIZE(uct_ud_recv_skb_t);

        PRINT_SIZE(uct_rc_iface_send_desc_t);
        if (tl_name == NULL || !strcasecmp(tl_name, "ud")) {
            PRINT_SIZE(uct_ud_verbs_ep_t);
            PRINT_SIZE(uct_ud_verbs_iface_t);
        }

#if HAVE_MLX5_HW
        if (tl_name == NULL || !strcasecmp(tl_name, "ud_mlx5")) {
            PRINT_SIZE(uct_ud_mlx5_ep_t);
            PRINT_SIZE(uct_ud_mlx5_iface_t);
            PRINT_SIZE(uct_rc_mlx5_iface_config_t);
        }
#endif
        printf("\n");
    }
#endif

#if HAVE_TL_UGNI
    if (tl_name == NULL || !strcasecmp(tl_name, "ugni")) {
        printf("UGNI:\n");
        PRINT_SIZE(uct_ugni_context_t);
        PRINT_SIZE(uct_ugni_device_t);
        PRINT_SIZE(uct_ugni_ep_t);
        PRINT_SIZE(uct_ugni_ep_addr_t);
        PRINT_SIZE(uct_ugni_fma_desc_t);
        PRINT_SIZE(uct_ugni_iface_t);
        PRINT_SIZE(uct_ugni_iface_addr_t);
        PRINT_SIZE(uct_ugni_iface_config_t);
        PRINT_SIZE(uct_ugni_pd_t);
        printf("\n");
    }
#endif

    printf("\nUCP:\n");
    PRINT_SIZE(ucp_context_t);
    PRINT_SIZE(ucp_worker_t);
    PRINT_SIZE(ucp_ep_t);
    PRINT_SIZE(ucp_ep_config_t);
    PRINT_SIZE(ucp_request_t);
    PRINT_SIZE(ucp_tag_recv_info_t);
    PRINT_SIZE(ucp_mem_t);
    PRINT_SIZE(ucp_rkey_t);

}
Exemplo n.º 5
0
FUNCTION int main (void)

{
    COUNT	i;
    double 	*dp;
    float	*fp;
    int		*ip;
    short	*sp;
    long	*lp;
    TINY	tiny_type;
    ALIGN	align[50], 	*palign;
    TAEINT	taeint1, 	taeint2;
    COMPACT_COUNT  compact;
    COMPACT_UCOUNT ucompact;

    PRINT_SIZE(int);
    PRINT_SIZE(short);
    PRINT_SIZE(TAEINT);
    PRINT_SIZE(ALIGN);
    PRINT_SIZE(COUNT);
    PRINT_SIZE(UCOUNT);
    PRINT_SIZE(TINY);
    PRINT_SIZE(UTINY);
    PRINT_SIZE(TAEFLOAT);
    PRINT_SIZE(COMPACT_COUNT);
    PRINT_SIZE(COMPACT_UCOUNT);
    /*
     *	TINYs must be signed.  If char types are not signed, then
     *	TINY must be defined to be 'short'.
     */

    tiny_type = -1;
    if (tiny_type > 0) goto badHost1;

    /*	The RESTRICT package assumes that a COMPACT_UCOUNT can be stored
     *	within a GENPTR (for the purposes of "relative" offset).
     */

    if (sizeof (GENPTR) < sizeof (COMPACT_UCOUNT))  goto badHost2;

    /*
     *	Attempt to check that the ALIGN typedef will work:
     */

    for (i=0; i < 8; i++)
    {
        palign = &align[i];
        dp = (double *) palign;
        (*dp) = 10.0 ;
        if ((*dp) != 10.0  )
            goto badHost4;
        fp = (float  *) palign;
        (*fp) = 11.0 ;
        if ((*fp) != 11.0  )
            goto badHost5;
        ip = (int    *) palign;
        (*ip) = 100  ;
        if ((*ip) != 100   )
            goto badHost6;
        lp = (long   *) palign;
        (*lp) = 99  ;
        if ((*lp) != 99   )
            goto badHost7;
        sp = (short  *) palign;
        (*sp) = 98  ;
        if ((*sp) !=  98   )
            goto badHost8;
    }

    /*	Misc checks.
     */

    taeint1 = SMALLEST_TAEINT;
    taeint2 = LARGEST_TAEINT;
    if (taeint1 > 0 || taeint2 < 0 || taeint1 >= taeint2) goto badHost9;
    compact = MAX_COMPACT_COUNT;
    if (compact < 0) goto badHost10;
    ucompact = MAX_COMPACT_UCOUNT;
    /*    if (ucompact < 0) goto badHost11;  unneeded due to unsigned type */
    printf ("\nSUCCESFUL EXECUTION.\n");
    exit (0);

#if 0
badHost11:
    error ("MAX_COMPACT_UCOUNT not right.\n");
#endif
badHost10:
    error ("MAX_COMPACT_COUNT not right.\n");
badHost9:
    error ("SMALLEST_TAEINT/LARGEST_TAEINT not right.\n");
badHost8:
badHost7:
badHost6:
badHost5:
badHost4:
    error ("ALIGN not right.\n");
badHost2:
    error ("GENPTR won't fit in a COMPACT_UCOUNT.\n");
badHost1:
    error ("TINY data type must be signed.\n");

    return(0);
}