1
1

The last patch for Windows support. Mostly casting and conversion to C++ friendly headers.

This commit was SVN r11400.
Этот коммит содержится в:
George Bosilca 2006-08-24 16:38:08 +00:00
родитель b8f54ae381
Коммит 3f0a7cad9e
180 изменённых файлов: 825 добавлений и 920 удалений

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -251,7 +251,7 @@
MPI_Fint attr_val = translate_to_fortran_mpi1(attribute); \
(*((keyval_obj->delete_attr_fn).attr_mpi1_fortran_delete_fn)) \
(&(((ompi_##type##_t *)object)->attr_##type##_f), \
&f_key, &attr_val, keyval_obj->extra_state, &f_err); \
&f_key, &attr_val, (int*)keyval_obj->extra_state, &f_err); \
if (MPI_SUCCESS != OMPI_FINT_2_INT(f_err)) { \
if (need_lock) { \
OPAL_THREAD_UNLOCK(&alock); \
@ -264,7 +264,7 @@
MPI_Aint attr_val = translate_to_fortran_mpi2(attribute); \
(*((keyval_obj->delete_attr_fn).attr_mpi2_fortran_delete_fn)) \
(&(((ompi_##type##_t *)object)->attr_##type##_f), \
&f_key, &attr_val, keyval_obj->extra_state, &f_err); \
&f_key, (int*)&attr_val, (int*)keyval_obj->extra_state, &f_err); \
if (MPI_SUCCESS != OMPI_FINT_2_INT(f_err)) { \
if (need_lock) { \
OPAL_THREAD_UNLOCK(&alock); \
@ -301,7 +301,7 @@
in = translate_to_fortran_mpi1(in_attr); \
(*((keyval_obj->copy_attr_fn).attr_mpi1_fortran_copy_fn)) \
(&(((ompi_##type##_t *)old_object)->attr_##type##_f), \
&f_key, keyval_obj->extra_state, \
&f_key, (int*)keyval_obj->extra_state, \
&in, &out, &f_flag, &f_err); \
if (MPI_SUCCESS != OMPI_FINT_2_INT(f_err)) { \
OPAL_THREAD_UNLOCK(&alock); \
@ -1135,7 +1135,7 @@ static int get_value(opal_hash_table_t *keyhash, int key,
ret = opal_hash_table_get_value_uint32(keyhash, key, &attr);
OPAL_THREAD_UNLOCK(&alock);
if (OMPI_SUCCESS == ret) {
*attribute = attr;
*attribute = (attribute_value_t*)attr;
*flag = 1;
}
return OMPI_SUCCESS;

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -235,7 +235,7 @@ static inline int ompi_cb_fifo_init_same_base_addr(int size_of_fifo,
/* allocate fifo array */
len_to_allocate = sizeof(void *) * fifo->size;
fifo->queue=memory_allocator->mpool_alloc(memory_allocator, len_to_allocate,CACHE_LINE_SIZE, 0, NULL);
fifo->queue = (volatile void**)memory_allocator->mpool_alloc(memory_allocator, len_to_allocate,CACHE_LINE_SIZE, 0, NULL);
if ( NULL == fifo->queue) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -247,7 +247,7 @@ static inline int ompi_cb_fifo_init_same_base_addr(int size_of_fifo,
/* allocate head control structure */
len_to_allocate = sizeof(ompi_cb_fifo_ctl_t);
fifo->head=memory_allocator->mpool_alloc(memory_allocator, len_to_allocate,CACHE_LINE_SIZE, 0, NULL);
fifo->head = (ompi_cb_fifo_ctl_t*)memory_allocator->mpool_alloc(memory_allocator, len_to_allocate,CACHE_LINE_SIZE, 0, NULL);
if ( NULL == fifo->head) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -259,7 +259,7 @@ static inline int ompi_cb_fifo_init_same_base_addr(int size_of_fifo,
/* allocate tail control structure */
len_to_allocate = sizeof(ompi_cb_fifo_ctl_t);
fifo->tail=memory_allocator->mpool_alloc(memory_allocator, len_to_allocate,CACHE_LINE_SIZE, 0, NULL);
fifo->tail = (ompi_cb_fifo_ctl_t*)memory_allocator->mpool_alloc(memory_allocator, len_to_allocate,CACHE_LINE_SIZE, 0, NULL);
if ( NULL == fifo->tail) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -303,22 +303,21 @@ static inline int ompi_cb_fifo_free_same_base_addr( ompi_cb_fifo_t *fifo,
if( OMPI_CB_NULL != fifo->head ){
ptr=(char *)(fifo->queue);
memory_allocator->mpool_free(memory_allocator, ptr, NULL);
fifo->queue=OMPI_CB_NULL;
fifo->queue = (volatile void**)OMPI_CB_NULL;
}
/* free head control structure */
if( OMPI_CB_NULL != fifo->head) {
ptr=(char *)(fifo->head);
memory_allocator->mpool_free(memory_allocator, ptr, NULL);
fifo->head=OMPI_CB_NULL;
fifo->head = (ompi_cb_fifo_ctl_t*)OMPI_CB_NULL;
}
/* free tail control structure */
if( OMPI_CB_NULL != fifo->tail) {
ptr=(char *)(fifo->tail);
memory_allocator->mpool_free(memory_allocator, ptr, NULL);
fifo->tail=OMPI_CB_NULL;
fifo->tail = (ompi_cb_fifo_ctl_t*)OMPI_CB_NULL;
}
/* return */

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -264,7 +264,7 @@ static inline int ompi_fifo_init_same_base_addr(int size_of_cb_fifo,
/* allocate head ompi_cb_fifo_t structure */
len_to_allocate=sizeof(ompi_cb_fifo_wrapper_t);
fifo->head=memory_allocator->mpool_alloc(memory_allocator, len_to_allocate,CACHE_LINE_SIZE, 0, NULL);
fifo->head = (ompi_cb_fifo_wrapper_t*)memory_allocator->mpool_alloc(memory_allocator, len_to_allocate,CACHE_LINE_SIZE, 0, NULL);
if ( NULL == fifo->head) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -337,7 +337,7 @@ static inline int ompi_fifo_write_to_head_same_base_addr(void *data,
if (next_ff->cb_overflow) {
/* allocate head ompi_cb_fifo_t structure */
len_to_allocate=sizeof(ompi_cb_fifo_wrapper_t);
next_ff=fifo_allocator->mpool_alloc
next_ff = (ompi_cb_fifo_wrapper_t*)fifo_allocator->mpool_alloc
(fifo_allocator, len_to_allocate,CACHE_LINE_SIZE, 0, NULL);
if ( NULL == next_ff) {
opal_atomic_unlock(&(fifo->fifo_lock));

Просмотреть файл

@ -154,10 +154,10 @@ int ompi_free_list_grow(ompi_free_list_t* flist, size_t num_elements)
flist->fl_alignment;
if (NULL != flist->fl_mpool)
alloc_ptr = flist->fl_mpool->mpool_alloc(flist->fl_mpool,
alloc_size, 0, 0, &user_out);
alloc_ptr = (ompi_free_list_memory_t*)flist->fl_mpool->mpool_alloc(flist->fl_mpool,
alloc_size, 0, 0, &user_out);
else
alloc_ptr = malloc(alloc_size);
alloc_ptr = (ompi_free_list_memory_t*)malloc(alloc_size);
if(NULL == alloc_ptr)
return OMPI_ERR_TEMP_OUT_OF_RESOURCE;

Просмотреть файл

@ -29,9 +29,8 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_free_list_t);
struct mca_mem_pool_t;
struct mca_mem_pool_t;
struct ompi_free_list_t
{
@ -50,6 +49,7 @@ struct ompi_free_list_t
opal_list_t fl_allocations;
};
typedef struct ompi_free_list_t ompi_free_list_t;
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_free_list_t);
struct ompi_free_list_item_t
{
@ -58,7 +58,7 @@ struct ompi_free_list_item_t
};
typedef struct ompi_free_list_item_t ompi_free_list_item_t;
OBJ_CLASS_DECLARATION(ompi_free_list_item_t);
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_free_list_item_t);
/**
* Initialize a free list.

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -71,62 +71,24 @@ void ompi_pointer_array_destruct(ompi_pointer_array_t *array)
*/
int ompi_pointer_array_add(ompi_pointer_array_t *table, void *ptr)
{
void **p;
int i;
int index;
if (0) {
opal_output(0,"ompi_pointer_array_add: IN: "
" table %p (size %ld, lowest free %ld, number free %ld)"
" ptr = %p\n",
table, table->size, table->lowest_free, table->number_free,
ptr);
}
assert(table != NULL);
OPAL_THREAD_LOCK(&(table->lock));
if (table->addr == NULL) {
/*
* first time
*/
if (0) {
opal_output(0,"ompi_pointer_array_add: INIT: table %p\n", table);
}
p = (void **) malloc(TABLE_INIT * sizeof(void *));
if (p == NULL) {
OPAL_THREAD_UNLOCK(&(table->lock));
return OMPI_ERROR;
}
table->lowest_free = 0;
table->number_free = TABLE_INIT;
table->size = TABLE_INIT;
table->addr = p;
for (i = 0; i < table->size; i++) {
table->addr[i] = NULL;
}
} else if (table->number_free == 0) {
if (table->number_free == 0) {
/* need to grow table */
if (!grow_table(table, table->size * TABLE_GROW,
if (!grow_table(table,
(NULL == table->addr ? TABLE_INIT : table->size * TABLE_GROW),
OMPI_FORTRAN_HANDLE_MAX)) {
OPAL_THREAD_UNLOCK(&(table->lock));
return OMPI_ERR_OUT_OF_RESOURCE;
}
}
assert(table->addr != NULL);
assert(table->size > 0);
assert(table->lowest_free >= 0);
assert(table->lowest_free < table->size);
assert(table->number_free > 0);
assert(table->number_free <= table->size);
assert( (table->addr != NULL) && (table->size > 0) );
assert( (table->lowest_free >= 0) && (table->lowest_free < table->size) );
assert( (table->number_free > 0) && (table->number_free <= table->size) );
/*
* add pointer to table, and return the index
@ -148,14 +110,6 @@ int ompi_pointer_array_add(ompi_pointer_array_t *table, void *ptr)
table->lowest_free = table->size;
}
if (0) {
opal_output(0,"ompi_pointer_array_add: OUT: "
" table %p (size %ld, lowest free %ld, number free %ld)"
" addr[%d] = %p\n",
table, table->size, table->lowest_free, table->number_free,
index, ptr);
}
OPAL_THREAD_UNLOCK(&(table->lock));
return index;
}
@ -176,14 +130,6 @@ int ompi_pointer_array_set_item(ompi_pointer_array_t *table, int index,
{
assert(table != NULL);
#if 0
opal_output(0,"ompi_pointer_array_set_item: IN: "
" table %p (size %ld, lowest free %ld, number free %ld)"
" addr[%d] = %p\n",
table, table->size, table->lowest_free, table->number_free,
index, table->addr[index]);
#endif
/* expand table if required to set a specific index */
OPAL_THREAD_LOCK(&(table->lock));
@ -191,7 +137,7 @@ int ompi_pointer_array_set_item(ompi_pointer_array_t *table, int index,
if (!grow_table(table, ((index / TABLE_GROW) + 1) * TABLE_GROW,
index)) {
OPAL_THREAD_UNLOCK(&(table->lock));
return OMPI_ERROR;
return OMPI_ERROR;
}
}
@ -201,51 +147,51 @@ int ompi_pointer_array_set_item(ompi_pointer_array_t *table, int index,
if ( NULL == table->addr[index] ) {
table->addr[index] = value;
/* mark element as free, if NULL element */
if( NULL == value ) {
if (index < table->lowest_free) {
table->lowest_free = index;
}
}
else {
table->number_free--;
/* Reset lowest_free if required */
if ( index == table->lowest_free ) {
int i;
table->lowest_free=table->size;
for ( i=index; i<table->size; i++) {
if ( NULL == table->addr[i] ){
table->lowest_free = i;
break;
}
/* mark element as free, if NULL element */
if( NULL == value ) {
if (index < table->lowest_free) {
table->lowest_free = index;
}
}
else {
table->number_free--;
/* Reset lowest_free if required */
if ( index == table->lowest_free ) {
int i;
table->lowest_free=table->size;
for ( i=index; i<table->size; i++) {
if ( NULL == table->addr[i] ){
table->lowest_free = i;
break;
}
}
}
}
}
}
}
else {
table->addr[index] = value;
/* mark element as free, if NULL element */
if( NULL == value ) {
if (index < table->lowest_free) {
table->lowest_free = index;
}
table->number_free++;
}
else {
/* Reset lowest_free if required */
if ( index == table->lowest_free ) {
int i;
table->lowest_free=table->size;
for ( i=index; i<table->size; i++) {
if ( NULL == table->addr[i] ){
table->lowest_free = i;
break;
}
/* mark element as free, if NULL element */
if( NULL == value ) {
if (index < table->lowest_free) {
table->lowest_free = index;
}
table->number_free++;
}
else {
/* Reset lowest_free if required */
if ( index == table->lowest_free ) {
int i;
table->lowest_free=table->size;
for ( i=index; i<table->size; i++) {
if ( NULL == table->addr[i] ){
table->lowest_free = i;
break;
}
}
}
}
}
}
}
@ -372,7 +318,7 @@ static bool grow_table(ompi_pointer_array_t *table, size_t soft, size_t hard)
new_size_int = (int) new_size;
table->number_free += new_size_int - table->size;
table->addr = p;
table->addr = (void**)p;
for (i = table->size; i < new_size_int; ++i) {
table->addr[i] = NULL;
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -69,8 +69,6 @@ typedef struct ompi_pointer_array_t ompi_pointer_array_t;
*/
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_pointer_array_t);
/**
* Add a pointer to the array (Grow the array, if need be)
*
@ -107,6 +105,10 @@ static inline void *ompi_pointer_array_get_item(ompi_pointer_array_t *table,
int index)
{
void *p;
if( table->size <= index ) {
return NULL;
}
OPAL_THREAD_LOCK(&(table->lock));
p = table->addr[index];
OPAL_THREAD_UNLOCK(&(table->lock));

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -21,8 +21,6 @@
#include "ompi_config.h"
#include "opal/class/opal_list.h"
#include "opal/threads/threads.h"
#include "opal/threads/condition.h"
#include "ompi/constants.h"
#include "ompi/mca/mpool/mpool.h"

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -1153,7 +1153,7 @@ int ompi_topo_create (ompi_communicator_t *old_comm,
/* allocate the data for the common good */
new_comm->c_topo_comm = malloc(sizeof(mca_topo_base_comm_t));
new_comm->c_topo_comm = (mca_topo_base_comm_t*)malloc(sizeof(mca_topo_base_comm_t));
if (NULL == new_comm->c_topo_comm) {
OBJ_RELEASE(new_comm);
return OMPI_ERR_OUT_OF_RESOURCE;

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -117,7 +117,7 @@ int ompi_comm_nextcid ( ompi_communicator_t* newcomm,
int nextcid;
int done=0;
int response=0, glresponse=0;
int flag;
bool flag;
int start=ompi_mpi_communicators.lowest_free;
int i;

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -52,7 +52,9 @@
#include "orte/runtime/runtime.h"
#if !defined(__WINDOWS__)
extern char **environ;
#endif /* !defined(__WINDOWS__) */
int ompi_comm_connect_accept ( ompi_communicator_t *comm, int root,
orte_process_name_t *port, int send_first,

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -144,7 +144,7 @@ char* ompi_comm_namelookup ( char *service_name )
}
if ( 0 < cnt && NULL != values[0] ) { /* should be only one, if any */
keyvals = values[0]->keyvals;
stmp = strdup(keyvals[0]->value->data);
stmp = strdup((const char*)keyvals[0]->value->data);
OBJ_RELEASE(values[0]);
}

Просмотреть файл

@ -33,7 +33,8 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OMPI_DECLSPEC extern opal_class_t ompi_communicator_t_class;
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_communicator_t);
#define OMPI_COMM_INTER 0x00000001
#define OMPI_COMM_CART 0x00000002
@ -229,7 +230,6 @@ struct ompi_communicator_t {
static inline ompi_communicator_t *ompi_comm_lookup(uint32_t cid)
{
/* array of pointers to communicators, indexed by context ID */
OMPI_DECLSPEC extern ompi_pointer_array_t ompi_mpi_communicators;
return (ompi_communicator_t*)ompi_pointer_array_get_item(&ompi_mpi_communicators, cid);
}

Просмотреть файл

@ -220,9 +220,9 @@ int32_t ompi_convertor_pack( ompi_convertor_t* pConv,
return pConv->fAdvance( pConv, iov, out_size, max_data, freeAfter );
}
inline int32_t ompi_convertor_unpack( ompi_convertor_t* pConv,
struct iovec* iov, uint32_t* out_size,
size_t* max_data, int32_t* freeAfter )
int32_t ompi_convertor_unpack( ompi_convertor_t* pConv,
struct iovec* iov, uint32_t* out_size,
size_t* max_data, int32_t* freeAfter )
{
OMPI_CONVERTOR_SET_STATUS_BEFORE_PACK_UNPACK( pConv, iov, out_size, max_data );

Просмотреть файл

@ -102,7 +102,7 @@ struct ompi_convertor_t {
uint32_t csum_ui2; /**< partial checksum computed by pack/unpack operation */
dt_stack_t static_stack[DT_STATIC_STACK_SIZE]; /**< local stack for small datatypes */
};
OBJ_CLASS_DECLARATION( ompi_convertor_t );
OMPI_DECLSPEC OBJ_CLASS_DECLARATION( ompi_convertor_t );
/* Base convertor for all external32 operations */
OMPI_DECLSPEC extern ompi_convertor_t* ompi_mpi_external32_convertor;

Просмотреть файл

@ -41,10 +41,12 @@
#include "opal/class/opal_hash_table.h"
#include "ompi/class/ompi_pointer_array.h"
#include "mpi.h"
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OMPI_DECLSPEC extern ompi_pointer_array_t *ompi_datatype_f_to_c_table;
extern ompi_pointer_array_t *ompi_datatype_f_to_c_table;
/* if there are more basic datatypes than the number of bytes in the int type
* the bdt_used field of the data description struct should be changed to long.
@ -121,7 +123,7 @@ typedef struct ompi_datatype_t {
uint32_t btypes[DT_MAX_PREDEFINED];
} ompi_datatype_t;
OBJ_CLASS_DECLARATION( ompi_datatype_t );
OMPI_DECLSPEC OBJ_CLASS_DECLARATION( ompi_datatype_t );
int ompi_ddt_register_params(void);
int32_t ompi_ddt_init( void );

Просмотреть файл

@ -221,11 +221,12 @@ typedef struct {
long double i;
} ompi_complex_long_double_t;
extern const ompi_datatype_t* ompi_ddt_basicDatatypes[];
extern const ompi_datatype_t* ompi_ddt_basicDatatypes[DT_MAX_PREDEFINED];
#define BASIC_DDT_FROM_ELEM( ELEM ) (ompi_ddt_basicDatatypes[(ELEM).elem.common.type])
extern int32_t ompi_ddt_default_convertors_init( void );
extern int32_t ompi_ddt_default_convertors_fini( void );
int32_t ompi_ddt_default_convertors_init( void );
int32_t ompi_ddt_default_convertors_fini( void );
#define SAVE_STACK( PSTACK, INDEX, TYPE, COUNT, DISP, END_LOOP) \
do { \

Просмотреть файл

@ -191,7 +191,7 @@ ompi_pack_homogeneous_contig_with_gaps_function( ompi_convertor_t* pConv,
if( iov[iov_count].iov_base == NULL ) {
size_t length = iov[iov_count].iov_len;
if( 0 == length ) length = max_allowed;
iov[iov_count].iov_base = pConv->memAlloc_fn( &length, pConv->memAlloc_userdata );
iov[iov_count].iov_base = (IOVBASE_TYPE*)pConv->memAlloc_fn( &length, pConv->memAlloc_userdata );
iov[iov_count].iov_len = length;
(*freeAfter) |= (1 << 0);
if( max_allowed < (size_t)iov[iov_count].iov_len )
@ -301,7 +301,7 @@ ompi_generic_simple_pack_function( ompi_convertor_t* pConvertor,
if( ((*max_data) - total_packed) < length )
length = (*max_data) - total_packed;
assert( 0 < length );
iov[iov_count].iov_base = pConvertor->memAlloc_fn( &length, pConvertor->memAlloc_userdata );
iov[iov_count].iov_base = (IOVBASE_TYPE*)pConvertor->memAlloc_fn( &length, pConvertor->memAlloc_userdata );
iov[iov_count].iov_len = length;
*freeAfter = (*freeAfter) | (1 << iov_count);
}

Просмотреть файл

@ -16,6 +16,7 @@
*
* $HEADER$
*/
#include "ompi_config.h"
#include "dt_arch.h"
int32_t ompi_arch_compute_local_id( uint32_t *me )

Просмотреть файл

@ -19,7 +19,6 @@
#ifndef DATATYPE_ARCH_H_HAS_BEEN_INCLUDED
#define DATATYPE_ARCH_H_HAS_BEEN_INCLUDED
#include "ompi_config.h"
#include <float.h>
#include <assert.h>
#include "ompi/constants.h"

Просмотреть файл

@ -214,7 +214,7 @@ int32_t ompi_ddt_set_args( ompi_datatype_t* pData,
int32_t ompi_ddt_print_args( const ompi_datatype_t* pData )
{
int32_t i;
ompi_ddt_args_t* pArgs = pData->args;
ompi_ddt_args_t* pArgs = (ompi_ddt_args_t*)pData->args;
if( pData->flags & DT_FLAG_PREDEFINED ) {
/* nothing to do for predefined data-types */
@ -286,7 +286,7 @@ int32_t ompi_ddt_get_args( const ompi_datatype_t* pData, int32_t which,
int32_t* ca, MPI_Aint* a,
int32_t* cd, MPI_Datatype* d, int32_t* type)
{
ompi_ddt_args_t* pArgs = pData->args;
ompi_ddt_args_t* pArgs = (ompi_ddt_args_t*)pData->args;
if( pData->flags & DT_FLAG_PREDEFINED ) {
switch(which){
@ -330,7 +330,7 @@ int32_t ompi_ddt_get_args( const ompi_datatype_t* pData, int32_t which,
int32_t ompi_ddt_copy_args( const ompi_datatype_t* source_data,
ompi_datatype_t* dest_data )
{
ompi_ddt_args_t* pArgs = source_data->args;
ompi_ddt_args_t* pArgs = (ompi_ddt_args_t*)source_data->args;
/* If required then increase the reference count of the arguments. This avoid us
* to make one more copy for a read only piece of memory.
@ -349,7 +349,7 @@ int32_t ompi_ddt_copy_args( const ompi_datatype_t* source_data,
int32_t ompi_ddt_release_args( ompi_datatype_t* pData )
{
int i;
ompi_ddt_args_t* pArgs = pData->args;
ompi_ddt_args_t* pArgs = (ompi_ddt_args_t*)pData->args;
assert( 0 < pArgs->ref_count );
pArgs->ref_count--;
@ -428,7 +428,7 @@ static inline int __ompi_ddt_pack_description( ompi_datatype_t* datatype,
int ompi_ddt_get_pack_description( ompi_datatype_t* datatype,
const void** packed_buffer )
{
ompi_ddt_args_t* args = datatype->args;
ompi_ddt_args_t* args = (ompi_ddt_args_t*)datatype->args;
int next_index = DT_MAX_PREDEFINED;
void* recursive_buffer;

Просмотреть файл

@ -185,7 +185,7 @@ int32_t ompi_ddt_copy_content_same_ddt( const ompi_datatype_t* datatype, int32_t
return 0;
}
pStack = alloca( sizeof(dt_stack_t) * (datatype->btypes[DT_LOOP] + 1) );
pStack = (dt_stack_t*)alloca( sizeof(dt_stack_t) * (datatype->btypes[DT_LOOP] + 1) );
pStack->count = count;
pStack->index = -1;
pStack->disp = 0;

Просмотреть файл

@ -29,7 +29,7 @@ int32_t ompi_ddt_duplicate( const ompi_datatype_t* oldType, ompi_datatype_t** ne
{
int32_t desc_length = oldType->desc.used + 1; /* +1 because of the fake DT_END_LOOP entry */
ompi_datatype_t* pdt = ompi_ddt_create( desc_length );
void* temp = pdt->desc.desc; /* temporary copy of the desc pointer */
dt_elem_desc_t* temp = pdt->desc.desc; /* temporary copy of the desc pointer */
int32_t old_index = pdt->d_f_to_c_index;
memcpy( pdt, oldType, sizeof(ompi_datatype_t) );
@ -48,7 +48,7 @@ int32_t ompi_ddt_duplicate( const ompi_datatype_t* oldType, ompi_datatype_t** ne
/* TODO: if the data was commited update the opt_desc field */
if( 0 != oldType->opt_desc.used ) {
desc_length = pdt->opt_desc.used + 1;
pdt->opt_desc.desc = malloc( desc_length * sizeof(dt_elem_desc_t) );
pdt->opt_desc.desc = (dt_elem_desc_t*)malloc( desc_length * sizeof(dt_elem_desc_t) );
/*
* Yes, the pdt->opt_desc.length is just the opt_desc.used of the old Type.
*/

Просмотреть файл

@ -40,7 +40,7 @@ int32_t ompi_ddt_get_element_count( const ompi_datatype_t* datatype, int32_t iSi
*/
assert( (uint32_t)iSize <= datatype->size );
DUMP( "dt_count_elements( %p, %d )\n", (void*)datatype, iSize );
pStack = alloca( sizeof(dt_stack_t) * (datatype->btypes[DT_LOOP] + 2) );
pStack = (dt_stack_t*)alloca( sizeof(dt_stack_t) * (datatype->btypes[DT_LOOP] + 2) );
pStack->count = 1;
pStack->index = -1;
pStack->disp = 0;

Просмотреть файл

@ -37,7 +37,7 @@ ompi_ddt_match_size( int size, uint16_t datakind, uint16_t datalang )
for( i = 0; i < ompi_ddt_number_of_predefined_data; i++ ) {
datatype = ompi_pointer_array_get_item(ompi_datatype_f_to_c_table, i);
datatype = (ompi_datatype_t*)ompi_pointer_array_get_item(ompi_datatype_f_to_c_table, i);
if( (datatype->flags & DT_FLAG_DATA_LANGUAGE) != datalang )
continue;

Просмотреть файл

@ -592,7 +592,7 @@ int32_t ompi_ddt_init( void )
MOOG(cxx_ldblcplex);
for( i = 0; i < ompi_mpi_cxx_ldblcplex.d_f_to_c_index; i++ ) {
ompi_datatype_t* datatype = ompi_pointer_array_get_item( ompi_datatype_f_to_c_table, i );
ompi_datatype_t* datatype = (ompi_datatype_t*)ompi_pointer_array_get_item( ompi_datatype_f_to_c_table, i );
if( (datatype->ub - datatype->lb) == (long)datatype->size ) {
datatype->flags |= DT_FLAG_NO_GAPS;

Просмотреть файл

@ -79,7 +79,7 @@ ompi_ddt_optimize_short( ompi_datatype_t* pData,
int32_t optimized = 0, continuity;
uint32_t i;
pStack = alloca( sizeof(dt_stack_t) * (pData->btypes[DT_LOOP]+2) );
pStack = (dt_stack_t*)alloca( sizeof(dt_stack_t) * (pData->btypes[DT_LOOP]+2) );
SAVE_STACK( pStack, -1, 0, count, 0, pData->desc.used );
pTypeDesc->length = 2 * pData->desc.used + 1 /* for the fake DT_END_LOOP at the end */;

Просмотреть файл

@ -72,7 +72,7 @@ int32_t ompi_ddt_sndrcv( void *sbuf, int32_t scount, const ompi_datatype_t* sdty
iov_count = 1;
iov.iov_len = rcount;
iov.iov_base = rbuf;
iov.iov_base = (IOVBASE_TYPE*)rbuf;
max_data = ( (size_t)iov.iov_len > (scount * sdtype->size) ? (scount * sdtype->size) : iov.iov_len );
err = ompi_convertor_pack( send_convertor, &iov, &iov_count, &max_data, &freeAfter );
@ -87,7 +87,7 @@ int32_t ompi_ddt_sndrcv( void *sbuf, int32_t scount, const ompi_datatype_t* sdty
iov_count = 1;
iov.iov_len = scount;
iov.iov_base = sbuf;
iov.iov_base = (IOVBASE_TYPE*)sbuf;
max_data = ( (size_t)iov.iov_len < (rcount * rdtype->size) ? iov.iov_len : (rcount * rdtype->size) );
err = ompi_convertor_unpack( recv_convertor, &iov, &iov_count, &max_data, &freeAfter );
@ -98,7 +98,7 @@ int32_t ompi_ddt_sndrcv( void *sbuf, int32_t scount, const ompi_datatype_t* sdty
}
iov.iov_len = length = 64 * 1024;
iov.iov_base = (void*)malloc( length * sizeof(char) );
iov.iov_base = (IOVBASE_TYPE*)malloc( length * sizeof(char) );
send_convertor = OBJ_NEW(ompi_convertor_t);
recv_convertor = OBJ_NEW(ompi_convertor_t);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -107,7 +107,7 @@ OMPI_DECLSPEC extern ompi_file_t ompi_mpi_file_null;
/**
* Fortran to C conversion table
*/
OMPI_DECLSPEC extern ompi_pointer_array_t ompi_file_f_to_c_table;
extern ompi_pointer_array_t ompi_file_f_to_c_table;

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -69,32 +69,31 @@ struct ompi_info_entry_t {
*/
typedef struct ompi_info_entry_t ompi_info_entry_t;
/**
* Table for Fortran <-> C translation table
*/
OMPI_DECLSPEC extern ompi_pointer_array_t ompi_info_f_to_c_table;
/**
* Global instance for MPI_INFO_NULL
*/
OMPI_DECLSPEC extern ompi_info_t ompi_mpi_info_null;
/**
* \internal
* Some declarations needed to use OBJ_NEW and OBJ_DESTRUCT macros
*/
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_info_t);
/**
* \internal
* Some declarations needed to use OBJ_NEW and OBJ_DESTRUCT macros
*/
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_info_entry_t);
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/**
* Table for Fortran <-> C translation table
*/
extern ompi_pointer_array_t ompi_info_f_to_c_table;
/**
* Global instance for MPI_INFO_NULL
*/
OMPI_DECLSPEC extern ompi_info_t ompi_mpi_info_null;
/**
* \internal
* Some declarations needed to use OBJ_NEW and OBJ_DESTRUCT macros
*/
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_info_t);
/**
* \internal
* Some declarations needed to use OBJ_NEW and OBJ_DESTRUCT macros
*/
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_info_entry_t);
/**
* This function is invoked during ompi_mpi_init() and sets up
* MPI_Info handling.

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -159,6 +159,7 @@ typedef struct mca_allocator_base_component_1_0_0_t mca_allocator_base_component
* The output integer used for the mca base
*/
OMPI_DECLSPEC extern int mca_allocator_base_output;
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -49,7 +49,7 @@ typedef struct mca_allocator_base_selected_module_t mca_allocator_base_selected_
/**
* Declaces mca_mpool_base_selected_module_t as a class.
*/
OBJ_CLASS_DECLARATION(mca_mpool_base_selected_module_t);
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_allocator_base_selected_module_t);
/*
@ -68,6 +68,7 @@ OMPI_DECLSPEC mca_allocator_base_component_t* mca_allocator_component_lookup(con
* The list of all the selected components.
*/
OMPI_DECLSPEC extern opal_list_t mca_allocator_base_components;
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -39,10 +39,9 @@ struct mca_bml_base_selected_module_t {
mca_bml_base_component_t *bml_component;
mca_bml_base_module_t *bml_module;
};
typedef struct mca_bml_base_selected_module_t mca_bml_base_selected_module_t;
OBJ_CLASS_DECLARATION(mca_bml_base_selected_module_t);
typedef struct mca_bml_base_selected_module_t mca_bml_base_selected_module_t;
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_bml_base_selected_module_t);
/*
* Global functions for MCA: overall BTL open and close

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -53,7 +53,7 @@ int mca_bml_base_btl_array_reserve(mca_bml_base_btl_array_t* array, size_t size)
if(old_len >= new_len)
return OMPI_SUCCESS;
array->bml_btls = realloc(array->bml_btls, new_len);
array->bml_btls = (mca_bml_base_btl_t*)realloc(array->bml_btls, new_len);
if(NULL == array->bml_btls)
return OMPI_ERR_OUT_OF_RESOURCE;
memset((unsigned char*)array->bml_btls + old_len, 0, new_len-old_len);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -16,6 +16,7 @@
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mca/btl/base/base.h"
#include "ompi/mca/bml/base/base.h"

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -16,13 +16,14 @@
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mca/bml/base/base.h"
#include "opal/mca/base/base.h"
#include "opal/mca/mca.h"
int mca_bml_base_output = -1;
OMPI_DECLSPEC mca_bml_base_module_t mca_bml = {
mca_bml_base_module_t mca_bml = {
NULL, /* bml_component */
0, /* bml_eager_limit */
0, /* bml_min_send_size */

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -100,7 +100,7 @@ int mca_bml_r2_progress( void ) {
int count = 0;
/*
* Progress each of the PTL modules
* Progress each of the BTL modules
*/
for(i=0; i<mca_bml_r2.num_btl_progress; i++) {
int rc = mca_bml_r2.btl_progress[i]();
@ -109,7 +109,6 @@ int mca_bml_r2_progress( void ) {
}
}
return count;
}
@ -587,7 +586,7 @@ int mca_bml_r2_del_btl(mca_btl_base_module_t* btl)
}
/* remove from bml list */
modules = malloc(sizeof(mca_btl_base_module_t*) * mca_bml_r2.num_btl_modules-1);
modules = (mca_btl_base_module_t**)malloc(sizeof(mca_btl_base_module_t*) * mca_bml_r2.num_btl_modules-1);
for(i=0,m=0; i<mca_bml_r2.num_btl_modules; i++) {
if(mca_bml_r2.btl_modules[i] != btl) {
modules[m++] = mca_bml_r2.btl_modules[i];

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -32,7 +32,9 @@
#include "ompi/class/ompi_free_list.h"
#include "ompi/mca/bml/bml.h"
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
typedef mca_bml_base_module_recv_cb_fn_t mca_bml_r2_recv_reg_t;
@ -58,31 +60,25 @@ struct mca_bml_r2_module_t {
typedef struct mca_bml_r2_module_t mca_bml_r2_module_t;
OMPI_DECLSPEC extern mca_bml_base_component_1_0_0_t mca_bml_r2_component;
extern mca_bml_r2_module_t mca_bml_r2;
extern int mca_bml_r2_component_open(void);
extern int mca_bml_r2_component_close(void);
int mca_bml_r2_component_open(void);
int mca_bml_r2_component_close(void);
extern mca_bml_base_module_t* mca_bml_r2_component_init(
int* priority,
bool enable_progress_threads,
bool enable_mpi_threads
);
mca_bml_base_module_t* mca_bml_r2_component_init( int* priority,
bool enable_progress_threads,
bool enable_mpi_threads );
extern int mca_bml_r2_progress(void);
int mca_bml_r2_progress(void);
int mca_bml_r2_add_procs( size_t nprocs,
struct ompi_proc_t** procs,
struct mca_bml_base_endpoint_t** bml_endpoints,
struct ompi_bitmap_t* reachable );
int mca_bml_r2_add_procs(
size_t nprocs,
struct ompi_proc_t** procs,
struct mca_bml_base_endpoint_t** bml_endpoints,
struct ompi_bitmap_t* reachable
);
int mca_bml_r2_del_procs(
size_t nprocs,
struct ompi_proc_t** procs
);
int mca_bml_r2_del_procs( size_t nprocs,
struct ompi_proc_t** procs );
int mca_bml_r2_add_btl( mca_btl_base_module_t* btl );
@ -90,11 +86,9 @@ int mca_bml_r2_del_btl( mca_btl_base_module_t* btl );
int mca_bml_r2_del_proc_btl( struct ompi_proc_t* proc, mca_btl_base_module_t* btl );
int mca_bml_r2_register(
mca_btl_base_tag_t tag,
mca_bml_base_module_recv_cb_fn_t cbfunc,
void* data
);
int mca_bml_r2_register( mca_btl_base_tag_t tag,
mca_bml_base_module_recv_cb_fn_t cbfunc,
void* data );
int mca_bml_r2_register_error( mca_btl_base_module_error_cb_fn_t cbfunc );
@ -102,4 +96,8 @@ int mca_bml_r2_finalize( void );
int mca_bml_r2_component_fini(void);
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif /* OMPI_MCA_BML_R2_H */

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -64,7 +64,7 @@ int mca_bml_r2_component_open(void)
false,
1,
&tmp);
mca_bml_r2.show_unreach_errors = tmp;
mca_bml_r2.show_unreach_errors = (tmp != 0 ? true : false);
return OMPI_SUCCESS;

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -48,7 +48,7 @@ struct mca_btl_base_recv_reg_t {
typedef struct mca_btl_base_recv_reg_t mca_btl_base_recv_reg_t;
OBJ_CLASS_DECLARATION(mca_btl_base_selected_module_t);
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_btl_base_selected_module_t);
/*
* Global functions for MCA: overall BTL open and close

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -114,6 +114,10 @@
#include "ompi/types.h"
#include "ompi/mca/mpool/mpool.h"
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/*
* BTL types
*/
@ -202,7 +206,7 @@ struct mca_btl_base_descriptor_t {
};
typedef struct mca_btl_base_descriptor_t mca_btl_base_descriptor_t;
OBJ_CLASS_DECLARATION(mca_btl_base_descriptor_t);
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_btl_base_descriptor_t);
#define MCA_BTL_DES_FLAGS_DEREGISTER 0x0001
@ -595,4 +599,8 @@ typedef struct mca_btl_base_module_t mca_btl_base_module_t;
/* btl v1.0 */ \
"btl", 1, 0, 0
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif /* OMPI_MCA_BTL_H */

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -27,8 +27,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_btl_gm_frag_t);
typedef enum {
MCA_BTL_GM_SEND,
@ -53,8 +51,8 @@ struct mca_btl_gm_frag_t {
ompi_free_list_t* my_list;
};
typedef struct mca_btl_gm_frag_t mca_btl_gm_frag_t;
OBJ_CLASS_DECLARATION(mca_btl_gm_frag_t);
OBJ_CLASS_DECLARATION(mca_btl_gm_frag_t);
typedef struct mca_btl_gm_frag_t mca_btl_gm_frag_eager_t;
@ -68,7 +66,6 @@ typedef struct mca_btl_gm_frag_t mca_btl_gm_frag_user_t;
OBJ_CLASS_DECLARATION(mca_btl_gm_frag_user_t);
/*
* Macros to allocate/return descriptors from module specific
* free list(s).

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -36,8 +36,8 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OBJ_CLASS_DECLARATION(mca_btl_mvapi_endpoint_t);
OBJ_CLASS_DECLARATION(mca_btl_mvapi_endpoint_t);
struct mca_btl_mvapi_frag_t;

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -32,7 +32,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_btl_mvapi_frag_t);
struct mca_btl_mvapi_header_t {
mca_btl_base_tag_t tag;
@ -100,8 +99,8 @@ struct mca_btl_mvapi_frag_t {
ompi_free_list_t* my_list;
};
typedef struct mca_btl_mvapi_frag_t mca_btl_mvapi_frag_t;
OBJ_CLASS_DECLARATION(mca_btl_mvapi_frag_t);
OBJ_CLASS_DECLARATION(mca_btl_mvapi_frag_t);
typedef struct mca_btl_mvapi_frag_t mca_btl_mvapi_send_frag_eager_t;
@ -123,9 +122,6 @@ typedef struct mca_btl_mvapi_frag_t mca_btl_mvapi_recv_frag_max_t;
OBJ_CLASS_DECLARATION(mca_btl_mvapi_recv_frag_max_t);
/*
* Allocate an IB send descriptor
*

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -28,7 +28,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OBJ_CLASS_DECLARATION(mca_btl_mvapi_proc_t);
/**
* Represents the state of a remote process and the set of addresses
@ -62,6 +61,8 @@ struct mca_btl_mvapi_proc_t {
};
typedef struct mca_btl_mvapi_proc_t mca_btl_mvapi_proc_t;
OBJ_CLASS_DECLARATION(mca_btl_mvapi_proc_t);
mca_btl_mvapi_proc_t* mca_btl_mvapi_proc_create(ompi_proc_t* ompi_proc);
int mca_btl_mvapi_proc_insert(mca_btl_mvapi_proc_t*, mca_btl_base_endpoint_t*);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -32,8 +32,6 @@
extern "C" {
#endif
OBJ_CLASS_DECLARATION(mca_btl_mx_endpoint_t);
/**
* Structure used to publish MX information to peers
*/
@ -69,6 +67,7 @@ struct mca_btl_base_endpoint_t {
typedef struct mca_btl_base_endpoint_t mca_btl_base_endpoint_t;
typedef mca_btl_base_endpoint_t mca_btl_mx_endpoint_t;
OBJ_CLASS_DECLARATION(mca_btl_mx_endpoint_t);
#if defined(c_plusplus) || defined(__cplusplus)
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -30,7 +30,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_btl_mx_frag_t);
/**
* MX send framxent derived type.
@ -46,7 +45,7 @@ extern "C" {
};
typedef struct mca_btl_mx_frag_t mca_btl_mx_frag_t;
OBJ_CLASS_DECLARATION(mca_btl_mx_frag_t);
typedef struct mca_btl_mx_frag_t mca_btl_mx_frag_eager_t;
OBJ_CLASS_DECLARATION(mca_btl_mx_frag_eager_t);
@ -59,7 +58,6 @@ extern "C" {
OBJ_CLASS_DECLARATION(mca_btl_mx_frag_user_t);
/*
* Macros to allocate/return descriptors from module specific
* free list(s).

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -28,7 +28,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OBJ_CLASS_DECLARATION(mca_btl_mx_proc_t);
#define MCA_BTL_MX_NOT_CONNECTED 0x0000
#define MCA_BTL_MX_NOT_REACHEABLE 0x0001
@ -66,6 +65,8 @@ extern "C" {
};
typedef struct mca_btl_mx_proc_t mca_btl_mx_proc_t;
OBJ_CLASS_DECLARATION(mca_btl_mx_proc_t);
mca_btl_mx_proc_t* mca_btl_mx_proc_create(ompi_proc_t* ompi_proc);
int mca_btl_mx_proc_insert(mca_btl_mx_proc_t*, mca_btl_base_endpoint_t*);
int mca_btl_mx_proc_connect( mca_btl_mx_endpoint_t* module_endpoint );

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -34,8 +34,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OBJ_CLASS_DECLARATION(mca_btl_openib_endpoint_t);
struct mca_btl_openib_frag_t;
@ -179,6 +177,8 @@ struct mca_btl_base_endpoint_t {
typedef struct mca_btl_base_endpoint_t mca_btl_base_endpoint_t;
typedef mca_btl_base_endpoint_t mca_btl_openib_endpoint_t;
OBJ_CLASS_DECLARATION(mca_btl_openib_endpoint_t);
int mca_btl_openib_endpoint_send(mca_btl_base_endpoint_t* endpoint, struct mca_btl_openib_frag_t* frag);
int mca_btl_openib_endpoint_connect(mca_btl_base_endpoint_t*);
void mca_btl_openib_post_recv(void);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -28,7 +28,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_btl_openib_frag_t);
struct mca_btl_openib_header_t {
mca_btl_base_tag_t tag;
@ -95,8 +94,7 @@ struct mca_btl_openib_frag_t {
mca_mpool_openib_registration_t * openib_reg;
};
typedef struct mca_btl_openib_frag_t mca_btl_openib_frag_t;
OBJ_CLASS_DECLARATION(mca_btl_openib_frag_t);
OBJ_CLASS_DECLARATION(mca_btl_openib_frag_t);
typedef struct mca_btl_openib_frag_t mca_btl_openib_send_frag_eager_t;
@ -122,28 +120,25 @@ typedef struct mca_btl_openib_frag_t mca_btl_openib_send_frag_control_t;
OBJ_CLASS_DECLARATION(mca_btl_openib_send_frag_control_t);
/*
* Allocate an IB send descriptor
*
*/
#define MCA_BTL_IB_FRAG_ALLOC_CREDIT_WAIT(btl, frag, rc) \
#define MCA_BTL_IB_FRAG_ALLOC_CREDIT_WAIT(btl, frag, rc) \
{ \
\
ompi_free_list_item_t *item; \
ompi_free_list_item_t *item; \
OMPI_FREE_LIST_WAIT(&((mca_btl_openib_module_t*)btl)->send_free_control, item, rc); \
frag = (mca_btl_openib_frag_t*) item; \
frag = (mca_btl_openib_frag_t*) item; \
}
#define MCA_BTL_IB_FRAG_ALLOC_EAGER(btl, frag, rc) \
#define MCA_BTL_IB_FRAG_ALLOC_EAGER(btl, frag, rc) \
{ \
\
ompi_free_list_item_t *item; \
ompi_free_list_item_t *item; \
OMPI_FREE_LIST_GET(&((mca_btl_openib_module_t*)btl)->send_free_eager, item, rc); \
frag = (mca_btl_openib_frag_t*) item; \
frag = (mca_btl_openib_frag_t*) item; \
}
#define MCA_BTL_IB_FRAG_ALLOC_MAX(btl, frag, rc) \

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -28,7 +28,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OBJ_CLASS_DECLARATION(mca_btl_openib_proc_t);
/**
* Represents the state of a remote process and the set of addresses
@ -61,6 +60,8 @@ struct mca_btl_openib_proc_t {
};
typedef struct mca_btl_openib_proc_t mca_btl_openib_proc_t;
OBJ_CLASS_DECLARATION(mca_btl_openib_proc_t);
mca_btl_openib_proc_t* mca_btl_openib_proc_create(ompi_proc_t* ompi_proc);
int mca_btl_openib_proc_insert(mca_btl_openib_proc_t*, mca_btl_base_endpoint_t*);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -22,8 +22,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_btl_portals_frag_t);
/**
* Portals send fragment derived type
@ -46,8 +44,7 @@ struct mca_btl_portals_frag_t {
BTL_PORTALS_FRAG_TYPE_USER } type;
};
typedef struct mca_btl_portals_frag_t mca_btl_portals_frag_t;
OBJ_CLASS_DECLARATION(mca_btl_portals_frag_t);
OBJ_CLASS_DECLARATION(mca_btl_portals_frag_t);
typedef struct mca_btl_portals_frag_t mca_btl_portals_frag_eager_t;
OBJ_CLASS_DECLARATION(mca_btl_portals_frag_eager_t);
@ -61,7 +58,6 @@ OBJ_CLASS_DECLARATION(mca_btl_portals_frag_user_t);
typedef struct mca_btl_portals_frag_t mca_btl_portals_frag_recv_t;
OBJ_CLASS_DECLARATION(mca_btl_portals_frag_recv_t);
/*
* Macros to allocate/return descriptors from module specific
* free list(s).

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -220,7 +220,7 @@ struct mca_btl_base_descriptor_t* mca_btl_self_prepare_src(
max_data = frag->size - reserve;
}
iov.iov_len = max_data;
iov.iov_base = (void*)((unsigned char*)(frag+1) + reserve);
iov.iov_base = (IOVBASE_TYPE*)((unsigned char*)(frag+1) + reserve);
rc = ompi_convertor_pack(convertor, &iov, &iov_count, &max_data, &free_after);
if(rc < 0) {
@ -312,7 +312,7 @@ int mca_btl_self_send(
des->des_dst = des->des_src;
des->des_dst_cnt = des->des_src_cnt;
/* upcall */
mca_btl_self_component.self_reg[tag].cbfunc(btl,tag,des,OMPI_SUCCESS);
mca_btl_self_component.self_reg[tag].cbfunc( btl, tag, des, (void*)OMPI_SUCCESS );
des->des_dst = NULL;
des->des_dst_cnt = 0;
/* send completion */
@ -336,9 +336,9 @@ extern int mca_btl_self_rdma(
mca_btl_base_segment_t* dst = des->des_dst;
size_t src_cnt = des->des_src_cnt;
size_t dst_cnt = des->des_dst_cnt;
unsigned char* src_addr = src->seg_addr.pval;
unsigned char* src_addr = (unsigned char*)src->seg_addr.pval;
size_t src_len = src->seg_len;
unsigned char* dst_addr = dst->seg_addr.pval;
unsigned char* dst_addr = (unsigned char*)dst->seg_addr.pval;
size_t dst_len = dst->seg_len;
while(src_len && dst_len) {
@ -349,7 +349,7 @@ extern int mca_btl_self_rdma(
/* advance src */
if(--src_cnt != 0) {
src++;
src_addr = src->seg_addr.pval;
src_addr = (unsigned char*)src->seg_addr.pval;
src_len = src->seg_len;
} else {
src_len = 0;
@ -358,7 +358,7 @@ extern int mca_btl_self_rdma(
/* advance dst */
if(--dst_cnt != 0) {
dst++;
dst_addr = dst->seg_addr.pval;
dst_addr = (unsigned char*)dst->seg_addr.pval;
dst_len = dst->seg_len;
} else {
dst_len = 0;
@ -373,7 +373,7 @@ extern int mca_btl_self_rdma(
if(src_len == 0) {
if(--src_cnt != 0) {
src++;
src_addr = src->seg_addr.pval;
src_addr = (unsigned char*)src->seg_addr.pval;
src_len = src->seg_len;
}
} else {
@ -385,7 +385,7 @@ extern int mca_btl_self_rdma(
if(dst_len == 0) {
if(--dst_cnt != 0) {
dst++;
dst_addr = src->seg_addr.pval;
dst_addr = (unsigned char*)src->seg_addr.pval;
dst_len = src->seg_len;
}
} else {

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -39,7 +39,6 @@
extern "C" {
#endif
/**
* Shared Memory (SELF) BTL module.
*/
@ -55,7 +54,7 @@ struct mca_btl_self_component_t {
mca_btl_base_recv_reg_t self_reg[256];
};
typedef struct mca_btl_self_component_t mca_btl_self_component_t;
extern mca_btl_self_component_t mca_btl_self_component;
OMPI_DECLSPEC extern mca_btl_self_component_t mca_btl_self_component;
/**
* Register shared memory module parameters with the MCA framework
@ -257,10 +256,9 @@ extern int mca_btl_self_rdma(
struct mca_btl_base_descriptor_t* descriptor
);
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -155,7 +155,7 @@ mca_btl_base_module_t** mca_btl_self_component_init(
/* allocate the Shared Memory PTL */
*num_btls = 1;
btls = malloc((*num_btls)*sizeof(mca_btl_base_module_t*));
btls = (mca_btl_base_module_t**)malloc((*num_btls)*sizeof(mca_btl_base_module_t*));
if (NULL == btls) {
return NULL;
}

Просмотреть файл

@ -1,5 +1,23 @@
#include "btl_self_frag.h"
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. 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 "ompi_config.h"
#include "btl_self_frag.h"
static inline void mca_btl_self_frag_constructor(mca_btl_self_frag_t* frag)
{

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -22,7 +22,6 @@
#define MCA_BTL_SELF_SEND_FRAG_H
#include <sys/types.h>
#include "ompi_config.h"
#include "ompi/class/ompi_free_list.h"
#include "btl_self.h"
@ -45,7 +44,6 @@ OBJ_CLASS_DECLARATION(mca_btl_self_frag_eager_t);
OBJ_CLASS_DECLARATION(mca_btl_self_frag_send_t);
OBJ_CLASS_DECLARATION(mca_btl_self_frag_rdma_t);
#define MCA_BTL_SELF_FRAG_ALLOC_EAGER(frag, rc) \
{ \
ompi_free_list_item_t* item; \

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -215,7 +215,7 @@ int mca_btl_sm_add_procs_same_base_addr(
/* If we got here, the proc is reachable via sm. So
initialize the peers information */
peer = peers[proc] = malloc(sizeof(struct mca_btl_base_endpoint_t));
peer = peers[proc] = (struct mca_btl_base_endpoint_t*)malloc(sizeof(struct mca_btl_base_endpoint_t));
if( NULL == peer ){
return_code=OMPI_ERR_OUT_OF_RESOURCE;
goto CLEANUP;
@ -224,7 +224,7 @@ int mca_btl_sm_add_procs_same_base_addr(
mca_btl_sm_component.num_smp_procs;
#if OMPI_ENABLE_PROGRESS_THREADS == 1
sprintf(path, "%s/sm_fifo.%lu", orte_process_info.job_session_dir,
sprintf(path, "%s"OPAL_PATH_SEP"sm_fifo.%lu", orte_process_info.job_session_dir,
(unsigned long)procs[proc]->proc_name.vpid);
peer->fifo_fd = open(path, O_WRONLY);
if(peer->fifo_fd < 0) {
@ -257,7 +257,7 @@ int mca_btl_sm_add_procs_same_base_addr(
goto CLEANUP;
}
mca_btl_sm_component.sm_mpool_base =
mca_btl_sm_component.sm_mpool->mpool_base(mca_btl_sm_component.sm_mpool_base);
mca_btl_sm_component.sm_mpool->mpool_base((mca_mpool_base_module_t*)mca_btl_sm_component.sm_mpool_base);
}
/* make sure that my_smp_rank has been defined */
@ -320,7 +320,7 @@ int mca_btl_sm_add_procs_same_base_addr(
if ( !mca_btl_sm[0].btl_inited ) {
/* set file name */
len=asprintf(&(mca_btl_sm_component.sm_resouce_ctl_file),
"%s/shared_mem_btl_module.%s",orte_process_info.job_session_dir,
"%s"OPAL_PATH_SEP"shared_mem_btl_module.%s",orte_process_info.job_session_dir,
orte_system_info.nodename);
if( 0 > len ) {
goto CLEANUP;
@ -364,7 +364,7 @@ int mca_btl_sm_add_procs_same_base_addr(
/* allocate array of ompi_fifo_t* elements -
* offset relative to base segement is stored, so that
* this can be used by other procs */
mca_btl_sm_component.sm_ctl_header->fifo=
mca_btl_sm_component.sm_ctl_header->fifo= (volatile ompi_fifo_t**)
mca_btl_sm_component.sm_mpool->mpool_alloc
(mca_btl_sm_component.sm_mpool, n_to_allocate*sizeof(ompi_fifo_t *),
CACHE_LINE_SIZE, 0, NULL);
@ -454,18 +454,18 @@ int mca_btl_sm_add_procs_same_base_addr(
( (char *)(mca_btl_sm_component.sm_ctl_header->segment_header.
base_shared_mem_segment) +
(long )(mca_btl_sm_component.sm_mpool->mpool_base(mca_btl_sm_component.sm_mpool)) );
tmp_ptr[mca_btl_sm_component.my_smp_rank]=
tmp_ptr[mca_btl_sm_component.my_smp_rank]=(char*)
mca_btl_sm_component.sm_mpool->mpool_base(mca_btl_sm_component.sm_mpool);
/* memory barrier to ensure this flag is set before other
* flags are set */
opal_atomic_mb();
/* Set my flag to 1 (convert from relative address first) */
/* Set my flag to 1 (convert from relative address first) */
tmp_int_ptr=(volatile int *)
( ((char *) mca_btl_sm_component.sm_ctl_header->segment_header.
base_shared_mem_flags) +
((long) mca_btl_sm_component.sm_mpool_base));
tmp_int_ptr[mca_btl_sm_component.my_smp_rank]=1;
tmp_int_ptr[mca_btl_sm_component.my_smp_rank]=1;
/*
* initialize the array of fifo's "owned" by this process
@ -483,8 +483,8 @@ int mca_btl_sm_add_procs_same_base_addr(
}
for( j=0 ; j < n_to_allocate ; j++ ) {
my_fifos[j].head=OMPI_CB_FREE;
my_fifos[j].tail=OMPI_CB_FREE;
my_fifos[j].head = (ompi_cb_fifo_wrapper_t*)OMPI_CB_FREE;
my_fifos[j].tail = (ompi_cb_fifo_wrapper_t*)OMPI_CB_FREE;
opal_atomic_unlock(&(my_fifos[j].head_lock));
opal_atomic_unlock(&(my_fifos[j].tail_lock));
}
@ -677,7 +677,7 @@ int mca_btl_sm_add_procs(
}
/* initialize the peers information */
peers[proc]=malloc(sizeof(struct mca_btl_base_endpoint_t));
peers[proc] = (struct mca_btl_base_endpoint_t*)malloc(sizeof(struct mca_btl_base_endpoint_t));
if( NULL == peers[proc] ){
return_code=OMPI_ERR_OUT_OF_RESOURCE;
goto CLEANUP;
@ -828,7 +828,7 @@ struct mca_btl_base_descriptor_t* mca_btl_sm_prepare_src(
max_data = frag->size - reserve;
}
iov.iov_len = max_data;
iov.iov_base = (void*)(((unsigned char*)(frag+1)) + reserve);
iov.iov_base = (IOVBASE_TYPE*)(((unsigned char*)(frag+1)) + reserve);
rc = ompi_convertor_pack(convertor, &iov, &iov_count, &max_data, &free_after);
if(rc < 0) {

Просмотреть файл

@ -3,7 +3,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -50,7 +50,6 @@
extern "C" {
#endif
/*
* Shared Memory resource managment
*/
@ -143,7 +142,7 @@ struct mca_btl_sm_component_t {
#endif
};
typedef struct mca_btl_sm_component_t mca_btl_sm_component_t;
extern mca_btl_sm_component_t mca_btl_sm_component;
OMPI_DECLSPEC extern mca_btl_sm_component_t mca_btl_sm_component;
/**
* Register shared memory module parameters with the MCA framework
@ -351,9 +350,9 @@ void mca_btl_sm_component_event_thread(opal_object_t*);
#define MCA_BTL_SM_SIGNAL_PEER(peer)
#endif
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -250,7 +250,7 @@ mca_btl_base_module_t** mca_btl_sm_component_init(
#if OMPI_ENABLE_PROGRESS_THREADS == 1
/* create a named pipe to receive events */
sprintf( mca_btl_sm_component.sm_fifo_path,
"%s/sm_fifo.%lu", orte_process_info.job_session_dir,
"%s"OPAL_PATH_SEP"sm_fifo.%lu", orte_process_info.job_session_dir,
(unsigned long)orte_process_info.my_name->vpid );
if(mkfifo(mca_btl_sm_component.sm_fifo_path, 0660) < 0) {
opal_output(0, "mca_btl_sm_component_init: mkfifo failed with errno=%d\n",errno);
@ -270,7 +270,7 @@ mca_btl_base_module_t** mca_btl_sm_component_init(
/* allocate the Shared Memory PTL */
*num_ptls = 2;
ptls = malloc((*num_ptls)*sizeof(mca_btl_base_module_t*));
ptls = (mca_btl_base_module_t**)malloc((*num_ptls)*sizeof(mca_btl_base_module_t*));
if (NULL == ptls) {
return NULL;
}
@ -286,16 +286,17 @@ mca_btl_base_module_t** mca_btl_sm_component_init(
mca_btl_sm[i].super.btl_max_send_size=mca_btl_sm_component.max_frag_size;
mca_btl_sm[i].super.btl_min_rdma_size=mca_btl_sm_component.max_frag_size;
mca_btl_sm[i].super.btl_max_rdma_size=mca_btl_sm_component.max_frag_size;
/* Because of the strange behavior of the qsort function on some OSes
* when it has to order items with the same value,
* we have to make sure that the add_procs functions are called in the
* correct order (ie. mca_btl_sm_add_procs_same_base_addr before
* mca_btl_sm_add_procs) or we will face segfault as only the first
* allocate memory for the mca_btl_sm_component.sm_proc_connect array.
/* The order in which the SM modules are initialized is important as only
* the first one (the one using the mca_btl_sm_add_procs_same_base_addr)
* will setup all the memory for the internal structures (sm_proc_connect).
* Therefore, the order in which the two SM module will be after the
* selection is important. We have to make sure they get sorted in the
* correct order. The simplest way is to force the exclusivity of the
* second module to something lower than the exclusivity of the first one.
*/
mca_btl_sm[i].super.btl_exclusivity=mca_btl_sm_component.sm_exclusivity;
mca_btl_sm[i].super.btl_latency=mca_btl_sm_component.sm_latency; /* lowest latency */
mca_btl_sm[i].super.btl_bandwidth=900; /* not really used now since exclusivity is set to the highest value */
mca_btl_sm[i].super.btl_exclusivity = mca_btl_sm_component.sm_exclusivity - i;
mca_btl_sm[i].super.btl_latency = mca_btl_sm_component.sm_latency; /* lowest latency */
mca_btl_sm[i].super.btl_bandwidth = 900; /* not really used now since exclusivity is set to the highest value */
}
/* initialize some PTL data */

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -56,10 +56,9 @@ OBJ_CLASS_DECLARATION(mca_btl_sm_frag_t);
OBJ_CLASS_DECLARATION(mca_btl_sm_frag1_t);
OBJ_CLASS_DECLARATION(mca_btl_sm_frag2_t);
#define MCA_BTL_SM_FRAG_ALLOC1(frag, rc) \
{ \
ompi_free_list_item_t* item; \
ompi_free_list_item_t* item; \
OMPI_FREE_LIST_WAIT(&mca_btl_sm_component.sm_frags1, item, rc); \
frag = (mca_btl_sm_frag_t*)item; \
frag->my_list = &mca_btl_sm_component.sm_frags1; \
@ -67,7 +66,7 @@ OBJ_CLASS_DECLARATION(mca_btl_sm_frag2_t);
#define MCA_BTL_SM_FRAG_ALLOC2(frag, rc) \
{ \
ompi_free_list_item_t* item; \
ompi_free_list_item_t* item; \
OMPI_FREE_LIST_WAIT(&mca_btl_sm_component.sm_frags2, item, rc); \
frag = (mca_btl_sm_frag_t*)item; \
frag->my_list = &mca_btl_sm_component.sm_frags2; \
@ -75,7 +74,7 @@ OBJ_CLASS_DECLARATION(mca_btl_sm_frag2_t);
#define MCA_BTL_SM_FRAG_RETURN(frag) \
{ \
OMPI_FREE_LIST_RETURN(frag->my_list, (ompi_free_list_item_t*)(frag)); \
OMPI_FREE_LIST_RETURN(frag->my_list, (ompi_free_list_item_t*)(frag)); \
}
#endif

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -275,7 +275,7 @@ mca_btl_base_descriptor_t* mca_btl_tcp_prepare_src(
max_data = frag->size - reserve;
}
iov.iov_len = max_data;
iov.iov_base = (void*)(((unsigned char*)(frag+1)) + reserve);
iov.iov_base = (IOVBASE_TYPE*)(((unsigned char*)(frag+1)) + reserve);
rc = ompi_convertor_pack(convertor, &iov, &iov_count, &max_data, &free_after);
if( rc < 0 ) {
@ -383,13 +383,13 @@ int mca_btl_tcp_send(
frag->iov_idx = 0;
frag->iov_cnt = 1;
frag->iov_ptr = frag->iov;
frag->iov[0].iov_base = (void*)&frag->hdr;
frag->iov[0].iov_base = (IOVBASE_TYPE*)&frag->hdr;
frag->iov[0].iov_len = sizeof(frag->hdr);
frag->hdr.size = 0;
for(i=0; i<frag->base.des_src_cnt; i++) {
frag->hdr.size += frag->segments[i].seg_len;
frag->iov[i+1].iov_len = frag->segments[i].seg_len;
frag->iov[i+1].iov_base = frag->segments[i].seg_addr.pval;
frag->iov[i+1].iov_base = (IOVBASE_TYPE*)frag->segments[i].seg_addr.pval;
frag->iov_cnt++;
}
frag->hdr.base.tag = tag;
@ -424,14 +424,14 @@ int mca_btl_tcp_put(
frag->hdr.size = 0;
frag->iov_cnt = 2;
frag->iov_ptr = frag->iov;
frag->iov[0].iov_base = (void*)&frag->hdr;
frag->iov[0].iov_base = (IOVBASE_TYPE*)&frag->hdr;
frag->iov[0].iov_len = sizeof(frag->hdr);
frag->iov[1].iov_base = (void*)frag->base.des_dst;
frag->iov[1].iov_base = (IOVBASE_TYPE*)frag->base.des_dst;
frag->iov[1].iov_len = frag->base.des_dst_cnt * sizeof(mca_btl_base_segment_t);
for(i=0; i<frag->base.des_src_cnt; i++) {
frag->hdr.size += frag->segments[i].seg_len;
frag->iov[i+2].iov_len = frag->segments[i].seg_len;
frag->iov[i+2].iov_base = frag->segments[i].seg_addr.pval;
frag->iov[i+2].iov_base = (IOVBASE_TYPE*)frag->segments[i].seg_addr.pval;
frag->iov_cnt++;
}
frag->hdr.base.tag = MCA_BTL_TAG_BTL;
@ -466,9 +466,9 @@ int mca_btl_tcp_get(
frag->hdr.size = 0;
frag->iov_cnt = 2;
frag->iov_ptr = frag->iov;
frag->iov[0].iov_base = (void*)&frag->hdr;
frag->iov[0].iov_base = (IOVBASE_TYPE*)&frag->hdr;
frag->iov[0].iov_len = sizeof(frag->hdr);
frag->iov[1].iov_base = (void*)frag->base.des_src;
frag->iov[1].iov_base = (IOVBASE_TYPE*)frag->base.des_src;
frag->iov[1].iov_len = frag->base.des_src_cnt * sizeof(mca_btl_base_segment_t);
frag->hdr.base.tag = MCA_BTL_TAG_BTL;
frag->hdr.type = MCA_BTL_TCP_HDR_TYPE_GET;

Просмотреть файл

@ -3,7 +3,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -83,9 +83,7 @@ struct mca_btl_tcp_component_t {
};
typedef struct mca_btl_tcp_component_t mca_btl_tcp_component_t;
extern mca_btl_tcp_component_t mca_btl_tcp_component;
OMPI_DECLSPEC extern mca_btl_tcp_component_t mca_btl_tcp_component;
/**
* BTL Module Interface
@ -106,6 +104,11 @@ struct mca_btl_tcp_module_t {
typedef struct mca_btl_tcp_module_t mca_btl_tcp_module_t;
extern mca_btl_tcp_module_t mca_btl_tcp_module;
#if defined(__WINDOWS__)
#define CLOSE_THE_SOCKET(socket) closesocket(socket)
#else
#define CLOSE_THE_SOCKET(socket) close(socket)
#endif /* defined(__WINDOWS__) */
/**
* Register TCP component parameters with the MCA framework

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -236,9 +236,6 @@ int mca_btl_tcp_component_open(void)
int mca_btl_tcp_component_close(void)
{
opal_list_item_t* item;
#ifdef __WINDOWS__
WSACleanup();
#endif
if(NULL != mca_btl_tcp_component.tcp_if_include)
free(mca_btl_tcp_component.tcp_if_include);
@ -249,7 +246,7 @@ int mca_btl_tcp_component_close(void)
if (mca_btl_tcp_component.tcp_listen_sd >= 0) {
opal_event_del(&mca_btl_tcp_component.tcp_recv_event);
close(mca_btl_tcp_component.tcp_listen_sd);
CLOSE_THE_SOCKET(mca_btl_tcp_component.tcp_listen_sd);
mca_btl_tcp_component.tcp_listen_sd = -1;
}
@ -271,6 +268,11 @@ int mca_btl_tcp_component_close(void)
OBJ_DESTRUCT(&mca_btl_tcp_component.tcp_frag_max);
OBJ_DESTRUCT(&mca_btl_tcp_component.tcp_frag_user);
OBJ_DESTRUCT(&mca_btl_tcp_component.tcp_lock);
#ifdef __WINDOWS__
WSACleanup();
#endif
return OMPI_SUCCESS;
}
@ -561,7 +563,7 @@ static void mca_btl_tcp_component_accept(void)
if(sd < 0) {
if(opal_socket_errno == EINTR)
continue;
if(opal_socket_errno != EAGAIN || opal_socket_errno != EWOULDBLOCK)
if(opal_socket_errno != EAGAIN && opal_socket_errno != EWOULDBLOCK)
BTL_ERROR(("accept() failed with errno %d.", opal_socket_errno));
return;
}
@ -599,7 +601,7 @@ static void mca_btl_tcp_component_recv_handler(int sd, short flags, void* user)
/* recv the process identifier */
retval = recv(sd, (char *)&guid, sizeof(guid), 0);
if(retval != sizeof(guid)) {
close(sd);
CLOSE_THE_SOCKET(sd);
return;
}
OMPI_PROCESS_NAME_NTOH(guid);
@ -618,20 +620,20 @@ static void mca_btl_tcp_component_recv_handler(int sd, short flags, void* user)
btl_proc = mca_btl_tcp_proc_lookup(&guid);
if(NULL == btl_proc) {
BTL_ERROR(("errno=%d",errno));
close(sd);
CLOSE_THE_SOCKET(sd);
return;
}
/* lookup peer address */
if(getpeername(sd, (struct sockaddr*)&addr, &addr_len) != 0) {
BTL_ERROR(("getpeername() failed with errno=%d", opal_socket_errno));
close(sd);
CLOSE_THE_SOCKET(sd);
return;
}
/* are there any existing peer instances will to accept this connection */
if(mca_btl_tcp_proc_accept(btl_proc, &addr, sd) == false) {
close(sd);
CLOSE_THE_SOCKET(sd);
return;
}
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -349,7 +349,7 @@ void mca_btl_tcp_endpoint_close(mca_btl_base_endpoint_t* btl_endpoint)
if(btl_endpoint->endpoint_sd >= 0) {
opal_event_del(&btl_endpoint->endpoint_recv_event);
opal_event_del(&btl_endpoint->endpoint_send_event);
close(btl_endpoint->endpoint_sd);
CLOSE_THE_SOCKET(btl_endpoint->endpoint_sd);
btl_endpoint->endpoint_sd = -1;
#if MCA_BTL_TCP_ENDPOINT_CACHE
free( btl_endpoint->endpoint_cache );

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -29,8 +29,6 @@
extern "C" {
#endif
OBJ_CLASS_DECLARATION(mca_btl_tcp_endpoint_t);
#define MCA_BTL_TCP_ENDPOINT_CACHE 1
/**
@ -78,6 +76,7 @@ struct mca_btl_base_endpoint_t {
typedef struct mca_btl_base_endpoint_t mca_btl_base_endpoint_t;
typedef mca_btl_base_endpoint_t mca_btl_tcp_endpoint_t;
OBJ_CLASS_DECLARATION(mca_btl_tcp_endpoint_t);
void mca_btl_tcp_set_socket_options(int sd);
void mca_btl_tcp_endpoint_close(mca_btl_base_endpoint_t*);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -236,7 +236,7 @@ bool mca_btl_tcp_frag_recv(mca_btl_tcp_frag_t* frag, int sd)
switch(frag->hdr.type) {
case MCA_BTL_TCP_HDR_TYPE_SEND:
if(frag->iov_idx == 1 && frag->hdr.size) {
frag->iov[1].iov_base = (void*)(frag+1);
frag->iov[1].iov_base = (IOVBASE_TYPE*)(frag+1);
frag->iov[1].iov_len = frag->hdr.size;
frag->segments[0].seg_addr.pval = frag+1;
frag->segments[0].seg_len = frag->hdr.size;
@ -246,13 +246,13 @@ bool mca_btl_tcp_frag_recv(mca_btl_tcp_frag_t* frag, int sd)
break;
case MCA_BTL_TCP_HDR_TYPE_PUT:
if(frag->iov_idx == 1) {
frag->iov[1].iov_base = (void*)frag->segments;
frag->iov[1].iov_base = (IOVBASE_TYPE*)frag->segments;
frag->iov[1].iov_len = frag->hdr.count * sizeof(mca_btl_base_segment_t);
frag->iov_cnt++;
goto repeat;
} else if (frag->iov_idx == 2) {
for(i=0; i<frag->hdr.count; i++) {
frag->iov[i+2].iov_base = frag->segments[i].seg_addr.pval;
frag->iov[i+2].iov_base = (IOVBASE_TYPE*)frag->segments[i].seg_addr.pval;
frag->iov[i+2].iov_len = frag->segments[i].seg_len;
frag->iov_cnt++;
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -36,7 +36,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_btl_tcp_frag_t);
#define MCA_BTL_TCP_FRAG_IOVEC_NUMBER 4
@ -60,7 +59,6 @@ struct mca_btl_tcp_frag_t {
typedef struct mca_btl_tcp_frag_t mca_btl_tcp_frag_t;
OBJ_CLASS_DECLARATION(mca_btl_tcp_frag_t);
typedef struct mca_btl_tcp_frag_t mca_btl_tcp_frag_eager_t;
OBJ_CLASS_DECLARATION(mca_btl_tcp_frag_eager_t);
@ -97,7 +95,7 @@ OBJ_CLASS_DECLARATION(mca_btl_tcp_frag_user_t);
#define MCA_BTL_TCP_FRAG_ALLOC_USER(frag, rc) \
{ \
ompi_free_list_item_t *item; \
ompi_free_list_item_t *item; \
OMPI_FREE_LIST_WAIT(&mca_btl_tcp_component.tcp_frag_user, item, rc); \
frag = (mca_btl_tcp_frag_t*) item; \
}
@ -105,7 +103,7 @@ OBJ_CLASS_DECLARATION(mca_btl_tcp_frag_user_t);
#define MCA_BTL_TCP_FRAG_RETURN(frag) \
{ \
OMPI_FREE_LIST_RETURN(frag->my_list, \
(ompi_free_list_item_t*)(frag)); \
(ompi_free_list_item_t*)(frag)); \
}
#define MCA_BTL_TCP_FRAG_INIT_DST(frag,ep) \
@ -114,7 +112,7 @@ do { \
frag->btl = ep->endpoint_btl; \
frag->endpoint = ep; \
frag->iov[0].iov_len = sizeof(frag->hdr); \
frag->iov[0].iov_base = (void*)&frag->hdr; \
frag->iov[0].iov_base = (IOVBASE_TYPE*)&frag->hdr; \
frag->iov_cnt = 1; \
frag->iov_idx = 0; \
frag->iov_ptr = frag->iov; \

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -29,7 +29,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OBJ_CLASS_DECLARATION(mca_btl_tcp_proc_t);
/**
* Represents the state of a remote process and the set of addresses
@ -63,6 +62,7 @@ struct mca_btl_tcp_proc_t {
/**< lock to protect against concurrent access to proc state */
};
typedef struct mca_btl_tcp_proc_t mca_btl_tcp_proc_t;
OBJ_CLASS_DECLARATION(mca_btl_tcp_proc_t);
mca_btl_tcp_proc_t* mca_btl_tcp_proc_create(ompi_proc_t* ompi_proc);
mca_btl_tcp_proc_t* mca_btl_tcp_proc_lookup(const orte_process_name_t* name);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -29,8 +29,6 @@
extern "C" {
#endif
OBJ_CLASS_DECLARATION(mca_btl_template_endpoint_t);
/**
* An abstraction that represents a connection to a endpoint process.
* An instance of mca_btl_base_endpoint_t is associated w/ each process
@ -50,7 +48,7 @@ struct mca_btl_base_endpoint_t {
typedef struct mca_btl_base_endpoint_t mca_btl_base_endpoint_t;
typedef mca_btl_base_endpoint_t mca_btl_template_endpoint_t;
OBJ_CLASS_DECLARATION(mca_btl_template_endpoint_t);
#if defined(c_plusplus) || defined(__cplusplus)
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -27,9 +27,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_btl_template_frag_t);
/**
* TEMPLATE send fratemplateent derived type.
@ -47,7 +44,6 @@ struct mca_btl_template_frag_t {
typedef struct mca_btl_template_frag_t mca_btl_template_frag_t;
OBJ_CLASS_DECLARATION(mca_btl_template_frag_t);
typedef struct mca_btl_template_frag_t mca_btl_template_frag_eager_t;
OBJ_CLASS_DECLARATION(mca_btl_template_frag_eager_t);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -28,7 +28,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OBJ_CLASS_DECLARATION(mca_btl_template_proc_t);
/**
* Represents the state of a remote process and the set of addresses
@ -59,6 +58,7 @@ struct mca_btl_template_proc_t {
/**< lock to protect against concurrent access to proc state */
};
typedef struct mca_btl_template_proc_t mca_btl_template_proc_t;
OBJ_CLASS_DECLARATION(mca_btl_template_proc_t);
mca_btl_template_proc_t* mca_btl_template_proc_create(ompi_proc_t* ompi_proc);
int mca_btl_template_proc_insert(mca_btl_template_proc_t*, mca_btl_base_endpoint_t*);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -36,8 +36,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OBJ_CLASS_DECLARATION(mca_btl_ud_endpoint_t);
struct mca_btl_ud_frag_t;
@ -81,6 +79,7 @@ struct mca_btl_base_endpoint_t {
typedef struct mca_btl_base_endpoint_t mca_btl_base_endpoint_t;
typedef mca_btl_base_endpoint_t mca_btl_ud_endpoint_t;
OBJ_CLASS_DECLARATION(mca_btl_ud_endpoint_t);
inline int mca_btl_ud_endpoint_post_send(struct mca_btl_ud_module_t* ud_btl,
mca_btl_ud_endpoint_t * endpoint,

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -32,7 +32,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_btl_ud_frag_t);
/* UD adds a 40 byte global routing header */
/* This works in strange ways - the sending side does not need to explicitly
@ -73,7 +72,6 @@ struct mca_btl_ud_frag_t {
typedef struct mca_btl_ud_frag_t mca_btl_ud_frag_t;
OBJ_CLASS_DECLARATION(mca_btl_ud_frag_t);
typedef struct mca_btl_ud_frag_t mca_btl_ud_send_frag_eager_t;
OBJ_CLASS_DECLARATION(mca_btl_ud_send_frag_eager_t);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -30,7 +30,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OBJ_CLASS_DECLARATION(mca_btl_ud_proc_t);
/**
* Represents the state of a remote process and the set of addresses
@ -62,6 +61,7 @@ struct mca_btl_ud_proc_t {
/**< lock to protect against concurrent access to proc state */
};
typedef struct mca_btl_ud_proc_t mca_btl_ud_proc_t;
OBJ_CLASS_DECLARATION(mca_btl_ud_proc_t);
mca_btl_ud_proc_t* mca_btl_ud_proc_create(ompi_proc_t* ompi_proc);
int mca_btl_ud_proc_insert(mca_btl_ud_proc_t*, mca_btl_base_endpoint_t*);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -28,8 +28,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_btl_udapl_frag_t);
typedef enum {
MCA_BTL_UDAPL_SEND,
@ -60,7 +58,6 @@ struct mca_btl_udapl_frag_t {
typedef struct mca_btl_udapl_frag_t mca_btl_udapl_frag_t;
OBJ_CLASS_DECLARATION(mca_btl_udapl_frag_t);
typedef struct mca_btl_udapl_frag_t mca_btl_udapl_frag_eager_t;
OBJ_CLASS_DECLARATION(mca_btl_udapl_frag_eager_t);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -28,7 +28,6 @@
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
OBJ_CLASS_DECLARATION(mca_btl_udapl_proc_t);
/**
* Represents the state of a remote process and the set of addresses
@ -62,6 +61,7 @@ struct mca_btl_udapl_proc_t {
/**< lock to protect against concurrent access to proc state */
};
typedef struct mca_btl_udapl_proc_t mca_btl_udapl_proc_t;
OBJ_CLASS_DECLARATION(mca_btl_udapl_proc_t);
mca_btl_udapl_proc_t* mca_btl_udapl_proc_create(ompi_proc_t* ompi_proc);
int mca_btl_udapl_proc_insert(mca_btl_udapl_proc_t*, mca_btl_base_endpoint_t*);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -29,16 +29,15 @@
#include "ompi/communicator/communicator.h"
#if defined(c_plusplus) || defined(__cplusplus)
extern "C"
{
extern "C" {
#endif
/* Globally exported variables */
OMPI_DECLSPEC extern const mca_coll_base_component_1_0_0_t
OMPI_MODULE_DECLSPEC extern const mca_coll_base_component_1_0_0_t
mca_coll_basic_component;
OMPI_DECLSPEC extern int mca_coll_basic_priority;
OMPI_DECLSPEC extern int mca_coll_basic_crossover;
extern int mca_coll_basic_priority;
extern int mca_coll_basic_crossover;
/* API functions */

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -56,13 +56,13 @@ mca_coll_basic_allgather_intra(void *sbuf, int scount,
ompi_ddt_get_extent(rdtype, &lb, &extent);
ompi_ddt_get_true_extent(rdtype, &true_lb, &true_extent);
rbuf_original = rbuf;
rbuf_original = (char*)rbuf;
sbuf = ((char*) rbuf) + (ompi_comm_rank(comm) * extent * rcount);
sdtype = rdtype;
scount = rcount;
inplace_temp = malloc((true_extent + (rcount - 1) * extent) *
ompi_comm_size(comm));
inplace_temp = (char*)malloc((true_extent + (rcount - 1) * extent) *
ompi_comm_size(comm));
if (NULL == inplace_temp) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -82,7 +82,7 @@ mca_coll_basic_allgather_intra(void *sbuf, int scount,
if (MPI_SUCCESS == err && NULL != inplace_temp) {
ompi_ddt_copy_content_same_ddt(rdtype, rcount * ompi_comm_size(comm),
rbuf_original, rbuf);
rbuf_original, (char*)rbuf);
free(inplace_temp);
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -54,7 +54,7 @@ mca_coll_basic_allgatherv_intra(void *sbuf, int scount,
if (MPI_IN_PLACE == sbuf) {
ompi_ddt_get_extent(rdtype, &lb, &extent);
send_buf = rbuf;
send_buf = (char*)rbuf;
for (i = 0; i < rank; ++i) {
send_buf += (rcounts[i] * extent);
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -92,7 +92,7 @@ mca_coll_basic_exscan_intra(void *sbuf, void *rbuf, int count,
ompi_ddt_get_extent(dtype, &lb, &extent);
ompi_ddt_get_true_extent(dtype, &true_lb, &true_extent);
free_buffer = malloc(true_extent + (count - 1) * extent);
free_buffer = (char*)malloc(true_extent + (count - 1) * extent);
if (NULL == free_buffer) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -104,14 +104,14 @@ mca_coll_basic_exscan_intra(void *sbuf, void *rbuf, int count,
* buffer before the receive completes */
err = ompi_ddt_copy_content_same_ddt(dtype, count,
reduce_buffer, sbuf);
reduce_buffer, (char*)sbuf);
if (MPI_SUCCESS != err) {
goto error;
}
/* Now setup the reduction */
source = rbuf;
source = (char*)rbuf;
/* Finally, wait for the receive to complete (so that we can do
* the reduction). */
@ -124,7 +124,7 @@ mca_coll_basic_exscan_intra(void *sbuf, void *rbuf, int count,
/* Setup the reduction */
source = sbuf;
source = (char*)sbuf;
/* If we're not commutative, we have to wait for the receive to
* complete and then copy it into the reduce buffer */
@ -135,7 +135,7 @@ mca_coll_basic_exscan_intra(void *sbuf, void *rbuf, int count,
}
err = ompi_ddt_copy_content_same_ddt(dtype, count,
reduce_buffer, rbuf);
reduce_buffer, (char*)rbuf);
if (MPI_SUCCESS != err) {
goto error;
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -182,8 +182,8 @@ mca_coll_basic_module_init(struct ompi_communicator_t *comm)
} else {
size = ompi_comm_size(comm);
}
data = malloc(sizeof(struct mca_coll_base_comm_t) +
(sizeof(ompi_request_t *) * size * 2));
data = (struct mca_coll_base_comm_t*)malloc(sizeof(struct mca_coll_base_comm_t) +
(sizeof(ompi_request_t *) * size * 2));
if (NULL == data) {
return NULL;

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -194,7 +194,7 @@ mca_coll_basic_reduce_lin_intra(void *sbuf, void *rbuf, int count,
if (MPI_IN_PLACE == sbuf) {
sbuf = rbuf;
inplace_temp = malloc(true_extent + (count - 1) * extent);
inplace_temp = (char*)malloc(true_extent + (count - 1) * extent);
if (NULL == inplace_temp) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -202,7 +202,7 @@ mca_coll_basic_reduce_lin_intra(void *sbuf, void *rbuf, int count,
}
if (size > 1) {
free_buffer = malloc(true_extent + (count - 1) * extent);
free_buffer = (char*)malloc(true_extent + (count - 1) * extent);
if (NULL == free_buffer) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -212,7 +212,7 @@ mca_coll_basic_reduce_lin_intra(void *sbuf, void *rbuf, int count,
/* Initialize the receive buffer. */
if (rank == (size - 1)) {
err = ompi_ddt_copy_content_same_ddt(dtype, count, rbuf, sbuf);
err = ompi_ddt_copy_content_same_ddt(dtype, count, (char*)rbuf, (char*)sbuf);
} else {
err = MCA_PML_CALL(recv(rbuf, count, dtype, size - 1,
MCA_COLL_BASE_TAG_REDUCE, comm,
@ -229,7 +229,7 @@ mca_coll_basic_reduce_lin_intra(void *sbuf, void *rbuf, int count,
for (i = size - 2; i >= 0; --i) {
if (rank == i) {
inbuf = sbuf;
inbuf = (char*)sbuf;
} else {
err = MCA_PML_CALL(recv(pml_buffer, count, dtype, i,
MCA_COLL_BASE_TAG_REDUCE, comm,
@ -250,7 +250,7 @@ mca_coll_basic_reduce_lin_intra(void *sbuf, void *rbuf, int count,
}
if (NULL != inplace_temp) {
err = ompi_ddt_copy_content_same_ddt(dtype, count, sbuf, inplace_temp);
err = ompi_ddt_copy_content_same_ddt(dtype, count, (char*)sbuf, inplace_temp);
free(inplace_temp);
}
if (NULL != free_buffer) {
@ -289,7 +289,7 @@ mca_coll_basic_reduce_log_intra(void *sbuf, void *rbuf, int count,
char *free_rbuf = NULL;
char *pml_buffer = NULL;
char *snd_buffer = NULL;
char *rcv_buffer = rbuf;
char *rcv_buffer = (char*)rbuf;
char *inplace_temp = NULL;
/* JMS Codearound for now -- if the operations is not communative,
@ -316,7 +316,7 @@ mca_coll_basic_reduce_log_intra(void *sbuf, void *rbuf, int count,
ompi_ddt_get_extent(dtype, &lb, &extent);
ompi_ddt_get_true_extent(dtype, &true_lb, &true_extent);
free_buffer = malloc(true_extent + (count - 1) * extent);
free_buffer = (char*)malloc(true_extent + (count - 1) * extent);
if (NULL == free_buffer) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -332,20 +332,20 @@ mca_coll_basic_reduce_log_intra(void *sbuf, void *rbuf, int count,
* rationale above. */
if (MPI_IN_PLACE == sbuf) {
inplace_temp = malloc(true_extent + (count - 1) * extent);
inplace_temp = (char*)malloc(true_extent + (count - 1) * extent);
if (NULL == inplace_temp) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
sbuf = inplace_temp - lb;
err = ompi_ddt_copy_content_same_ddt(dtype, count, sbuf, rbuf);
err = ompi_ddt_copy_content_same_ddt(dtype, count, (char*)sbuf, (char*)rbuf);
}
snd_buffer = sbuf;
snd_buffer = (char*)sbuf;
if (rank != root && 0 == (vrank & 1)) {
/* root is the only one required to provide a valid rbuf.
* Assume rbuf is invalid for all other ranks, so fix it up
* here to be valid on all non-leaf ranks */
free_rbuf = malloc(true_extent + (count - 1) * extent);
free_rbuf = (char*)malloc(true_extent + (count - 1) * extent);
if (NULL == free_rbuf) {
free(free_buffer);
return OMPI_ERR_OUT_OF_RESOURCE;
@ -377,7 +377,7 @@ mca_coll_basic_reduce_log_intra(void *sbuf, void *rbuf, int count,
}
return err;
}
snd_buffer = rbuf;
snd_buffer = (char*)rbuf;
break;
}
@ -428,7 +428,7 @@ mca_coll_basic_reduce_log_intra(void *sbuf, void *rbuf, int count,
* what we just received against it. */
if (!ompi_op_is_commute(op)) {
ompi_ddt_copy_content_same_ddt(dtype, count, pml_buffer,
sbuf);
(char*)sbuf);
ompi_op_reduce(op, rbuf, pml_buffer, count, dtype);
} else {
ompi_op_reduce(op, sbuf, pml_buffer, count, dtype);
@ -437,7 +437,7 @@ mca_coll_basic_reduce_log_intra(void *sbuf, void *rbuf, int count,
snd_buffer = pml_buffer;
/* starting from now we always receive in the user
* provided buffer */
rcv_buffer = rbuf;
rcv_buffer = (char*)rbuf;
}
}
}
@ -446,7 +446,7 @@ mca_coll_basic_reduce_log_intra(void *sbuf, void *rbuf, int count,
err = MPI_SUCCESS;
if (0 == vrank) {
if (root == rank) {
ompi_ddt_copy_content_same_ddt(dtype, count, rbuf, snd_buffer);
ompi_ddt_copy_content_same_ddt(dtype, count, (char*)rbuf, snd_buffer);
} else {
err = MCA_PML_CALL(send(snd_buffer, count,
dtype, root, MCA_COLL_BASE_TAG_REDUCE,
@ -515,7 +515,7 @@ mca_coll_basic_reduce_lin_inter(void *sbuf, void *rbuf, int count,
ompi_ddt_get_extent(dtype, &lb, &extent);
ompi_ddt_get_true_extent(dtype, &true_lb, &true_extent);
free_buffer = malloc(true_extent + (count - 1) * extent);
free_buffer = (char*)malloc(true_extent + (count - 1) * extent);
if (NULL == free_buffer) {
return OMPI_ERR_OUT_OF_RESOURCE;
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -68,7 +68,7 @@ mca_coll_basic_reduce_scatter_intra(void *sbuf, void *rbuf, int *rcounts,
}
if (0 == rank) {
disps = malloc((unsigned) size * sizeof(int));
disps = (int*)malloc((unsigned) size * sizeof(int));
if (NULL == disps) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -79,7 +79,7 @@ mca_coll_basic_reduce_scatter_intra(void *sbuf, void *rbuf, int *rcounts,
ompi_ddt_get_extent(dtype, &lb, &extent);
ompi_ddt_get_true_extent(dtype, &true_lb, &true_extent);
free_buffer = malloc(true_extent + (count - 1) * extent);
free_buffer = (char*)malloc(true_extent + (count - 1) * extent);
if (NULL == free_buffer) {
free(disps);
return OMPI_ERR_OUT_OF_RESOURCE;

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -58,7 +58,7 @@ mca_coll_basic_scan_intra(void *sbuf, void *rbuf, int count,
if (0 == rank) {
if (MPI_IN_PLACE != sbuf) {
err = ompi_ddt_copy_content_same_ddt(dtype, count, rbuf, sbuf);
err = ompi_ddt_copy_content_same_ddt(dtype, count, (char*)rbuf, (char*)sbuf);
if (MPI_SUCCESS != err) {
return err;
}
@ -75,7 +75,7 @@ mca_coll_basic_scan_intra(void *sbuf, void *rbuf, int count,
ompi_ddt_get_extent(dtype, &lb, &extent);
ompi_ddt_get_true_extent(dtype, &true_lb, &true_extent);
free_buffer = malloc(true_extent + (count - 1) * extent);
free_buffer = (char*)malloc(true_extent + (count - 1) * extent);
if (NULL == free_buffer) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -84,7 +84,7 @@ mca_coll_basic_scan_intra(void *sbuf, void *rbuf, int count,
/* Copy the send buffer into the receive buffer. */
if (MPI_IN_PLACE != sbuf) {
err = ompi_ddt_copy_content_same_ddt(dtype, count, rbuf, sbuf);
err = ompi_ddt_copy_content_same_ddt(dtype, count, (char*)rbuf, (char*)sbuf);
if (MPI_SUCCESS != err) {
if (NULL != free_buffer) {
free(free_buffer);

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -177,7 +177,7 @@ mca_coll_hierarch_comm_query(struct ompi_communicator_t *comm, int *priority,
rank = ompi_comm_rank(comm);
/* allocate the data structure holding all information */
tdata = calloc ( 1, sizeof(struct mca_coll_base_comm_t));
tdata = (struct mca_coll_base_comm_t*)calloc ( 1, sizeof(struct mca_coll_base_comm_t));
if ( NULL == tdata ) {
*priority = 0;
return NULL;
@ -755,7 +755,7 @@ static void mca_coll_hierarch_dump_struct ( struct mca_coll_base_comm_t *c)
c->hier_num_lleaders );
for ( i=0; i < ompi_pointer_array_get_size(&(c->hier_llead)); i++ ) {
current = ompi_pointer_array_get_item (&(c->hier_llead), i);
current = (mca_coll_hierarch_llead_t*)ompi_pointer_array_get_item (&(c->hier_llead), i);
if ( current == NULL ) {
continue;
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -66,7 +66,7 @@ int mca_coll_hierarch_allreduce_intra(void *sbuf, void *rbuf, int count,
ompi_ddt_get_extent(dtype, &lb, &extent);
ompi_ddt_get_true_extent(dtype, &true_lb, &true_extent);
tbuf = malloc(true_extent + (count - 1) * extent);
tbuf = (char*)malloc(true_extent + (count - 1) * extent);
if (NULL == tbuf) {
return OMPI_ERR_OUT_OF_RESOURCE;
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -65,7 +65,7 @@ int mca_coll_hierarch_reduce_intra(void *sbuf, void *rbuf, int count,
ompi_ddt_get_extent(dtype, &lb, &extent);
ompi_ddt_get_true_extent(dtype, &true_lb, &true_extent);
tbuf = malloc(true_extent + (count - 1) * extent);
tbuf = (char*)malloc(true_extent + (count - 1) * extent);
if (NULL == tbuf) {
return OMPI_ERR_OUT_OF_RESOURCE;
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -127,12 +127,12 @@ int mca_coll_hierarch_reduce_tmp(void *sbuf, void *rbuf, int count,
size = ompi_comm_size(comm);
ompi_ddt_get_extent(dtype, &lb, &extent);
pml_buffer = malloc(count * extent);
pml_buffer = (char*)malloc(count * extent);
if (NULL == pml_buffer) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
err = ompi_ddt_copy_content_same_ddt(dtype, count, rbuf, sbuf);
err = ompi_ddt_copy_content_same_ddt(dtype, count, (char*)rbuf, (char*)sbuf);
if (MPI_SUCCESS != err) {
goto exit;
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -38,6 +38,6 @@ int mca_coll_self_allreduce_intra(void *sbuf, void *rbuf, int count,
if (MPI_IN_PLACE == sbuf) {
return MPI_SUCCESS;
} else {
return ompi_ddt_copy_content_same_ddt(dtype, count, rbuf, sbuf);
return ompi_ddt_copy_content_same_ddt(dtype, count, (char*)rbuf, (char*)sbuf);
}
}

Просмотреть файл

@ -38,6 +38,6 @@ int mca_coll_self_reduce_intra(void *sbuf, void *rbuf, int count,
if (MPI_IN_PLACE == sbuf) {
return MPI_SUCCESS;
} else {
return ompi_ddt_copy_content_same_ddt(dtype, count, rbuf, sbuf);
return ompi_ddt_copy_content_same_ddt(dtype, count, (char*)rbuf, (char*)sbuf);
}
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -38,6 +38,6 @@ int mca_coll_self_reduce_scatter_intra(void *sbuf, void *rbuf, int *rcounts,
if (MPI_IN_PLACE == sbuf) {
return MPI_SUCCESS;
} else {
return ompi_ddt_copy_content_same_ddt(dtype, rcounts[0], rbuf, sbuf);
return ompi_ddt_copy_content_same_ddt(dtype, rcounts[0], (char*)rbuf, (char*)sbuf);
}
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -38,6 +38,6 @@ int mca_coll_self_scan_intra(void *sbuf, void *rbuf, int count,
if (MPI_IN_PLACE == sbuf) {
return MPI_SUCCESS;
} else {
return ompi_ddt_copy_content_same_ddt(dtype, count, rbuf, sbuf);
return ompi_ddt_copy_content_same_ddt(dtype, count, (char*)rbuf, (char*)sbuf);
}
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -43,7 +43,7 @@
# include <sched.h>
# define SPIN sched_yield()
#elif defined(__WINDOWS__)
# define SPIN /*SwitchToThread() - Not until I figure out which library define it */
# define SPIN SwitchToThread()
#else /* no switch available */
# define SPIN
#endif

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -42,6 +42,7 @@
#include "mpi.h"
#include "opal/mca/maffinity/maffinity.h"
#include "opal/mca/maffinity/base/base.h"
#include "opal/util/os_path.h"
#include "orte/mca/ns/ns.h"
#include "ompi/communicator/communicator.h"
#include "ompi/mca/coll/coll.h"
@ -270,8 +271,8 @@ sm_module_init(struct ompi_communicator_t *comm)
/* Get some space to setup memory affinity (just easier to try to
alloc here to handle the error case) */
maffinity = malloc(sizeof(opal_maffinity_base_segment_t) *
c->sm_comm_num_segments * 3);
maffinity = (opal_maffinity_base_segment_t*)malloc(sizeof(opal_maffinity_base_segment_t) *
c->sm_comm_num_segments * 3);
if (NULL == maffinity) {
return NULL;
}
@ -289,7 +290,7 @@ sm_module_init(struct ompi_communicator_t *comm)
mca_coll_sm_tree_node_t
*/
comm->c_coll_selected_data = data =
comm->c_coll_selected_data = data = (mca_coll_base_comm_t*)
malloc(sizeof(mca_coll_base_comm_t) +
(c->sm_comm_num_segments *
sizeof(mca_coll_base_mpool_index_t)) +
@ -541,8 +542,8 @@ static int bootstrap_init(void)
return OMPI_ERROR;
}
orte_proc_info();
asprintf(&fullpath, "%s/%s", orte_process_info.job_session_dir,
mca_coll_sm_component.sm_bootstrap_filename);
fullpath = opal_os_path( false, orte_process_info.job_session_dir,
mca_coll_sm_component.sm_bootstrap_filename, NULL );
if (NULL == fullpath) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -686,8 +687,8 @@ static int bootstrap_comm(ompi_communicator_t *comm)
(num_segments * (comm_size * frag_size));
data->mcb_data_mpool_malloc_addr = tmp =
c->sm_data_mpool->mpool_alloc(c->sm_data_mpool, size,
c->sm_control_size, 0, NULL);
(char*)c->sm_data_mpool->mpool_alloc(c->sm_data_mpool, size,
c->sm_control_size, 0, NULL);
if (NULL == tmp) {
/* Cleanup before returning; allow other processes in
this communicator to learn of the failure. Note
@ -738,7 +739,7 @@ static int bootstrap_comm(ompi_communicator_t *comm)
else {
err = OMPI_SUCCESS;
data->mcb_mpool_base = c->sm_data_mpool->mpool_base(c->sm_data_mpool);
data->mcb_mpool_base = (unsigned char*)c->sm_data_mpool->mpool_base(c->sm_data_mpool);
data->mcb_mpool_offset = bscs[i].smbcs_data_mpool_offset;
data->mcb_mpool_area = data->mcb_mpool_base + data->mcb_mpool_offset;
data->mcb_operation_count = 0;

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -185,7 +185,7 @@ static int reduce_inorder(void *sbuf, void* rbuf, int count,
long true_lb, true_extent, lb, extent;
char *inplace_temp;
int peer;
int count_left = count;
size_t count_left = (size_t)count;
int frag_num = 0;
bool first_operation = true;
@ -211,8 +211,8 @@ static int reduce_inorder(void *sbuf, void* rbuf, int count,
"segment_ddt_count" instances (i.e., the number of
instances that can be held in a single fragment) */
free_buffer = malloc(true_extent +
(segment_ddt_count - 1) * extent);
free_buffer = (char*)malloc(true_extent +
(segment_ddt_count - 1) * extent);
if (NULL == free_buffer) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -241,7 +241,7 @@ static int reduce_inorder(void *sbuf, void* rbuf, int count,
sbuf */
if (MPI_IN_PLACE == sbuf && 0 != rank) {
inplace_temp = malloc(true_extent + (count - 1) * extent);
inplace_temp = (char*)malloc(true_extent + (count - 1) * extent);
if (NULL == inplace_temp) {
if (NULL != free_buffer) {
free(free_buffer);
@ -288,7 +288,7 @@ static int reduce_inorder(void *sbuf, void* rbuf, int count,
if (MPI_IN_PLACE != sbuf) {
ompi_ddt_copy_content_same_ddt(dtype,
count,
reduce_target, sbuf);
reduce_target, (char*)sbuf);
D(("root copied entire buffer to rbuf (contig ddt, count %d) FIRST OPERATION\n", count));
}
}
@ -333,7 +333,7 @@ static int reduce_inorder(void *sbuf, void* rbuf, int count,
/* Otherwise, I'm not the first process, so
instead of copying, combine in the next
fragment */
D(("root combiningn fragment from shmem (contig ddt): count %d (left %d, seg %d)\n", min(count_left, segment_ddt_count), count_left, segment_ddt_count));
D(("root combining fragment from shmem (contig ddt): count %d (left %d, seg %d)\n", min(count_left, segment_ddt_count), count_left, segment_ddt_count));
ompi_op_reduce(op,
((char *) sbuf) +
frag_num * segment_ddt_bytes,

Просмотреть файл

@ -63,12 +63,6 @@ EXSCAN, GATHER, GATHERV, REDUCE, REDUCESCATTER, SCAN, SCATTER, SCATTERV, COLLCOU
extern "C" {
#endif
/*
* Globally exported variable
*/
/* OMPI_DECLSPEC extern const mca_coll_base_component_1_0_0_t mca_coll_tuned_component; */
/* these are the same across all modules and are loaded at component query time */
OMPI_DECLSPEC extern int ompi_coll_tuned_stream;
OMPI_DECLSPEC extern int ompi_coll_tuned_priority;
@ -84,13 +78,10 @@ OMPI_DECLSPEC extern coll_tuned_force_algorithm_mca_param_indices_t ompi_coll_tu
/* the actual max algorithm values (readonly), loaded at component open */
OMPI_DECLSPEC extern int ompi_coll_tuned_forced_max_algorithms[COLLCOUNT];
/*
* coll API functions
*/
/* API functions */
int ompi_coll_tuned_init_query(bool enable_progress_threads,
@ -281,12 +272,6 @@ struct mca_coll_tuned_component_t {
*/
extern mca_coll_tuned_component_t mca_coll_tuned_component;
/*
* Data structure for hanging data off the communicator
* i.e. per module instance

Просмотреть файл

@ -335,8 +335,8 @@ ompi_coll_tuned_module_init(struct ompi_communicator_t *comm)
if (size<=ompi_coll_tuned_preallocate_memory_comm_size_limit) {
data = malloc(sizeof(struct mca_coll_base_comm_t) +
(sizeof(ompi_request_t *) * size * 2));
data = (mca_coll_base_comm_t*)malloc(sizeof(struct mca_coll_base_comm_t) +
(sizeof(ompi_request_t *) * size * 2));
if (NULL == data) {
return NULL;
@ -345,7 +345,7 @@ ompi_coll_tuned_module_init(struct ompi_communicator_t *comm)
data->mcct_num_reqs = size * 2;
}
else {
data = malloc(sizeof(struct mca_coll_base_comm_t));
data = (mca_coll_base_comm_t*)malloc(sizeof(struct mca_coll_base_comm_t));
if (NULL == data) {
return NULL;

Просмотреть файл

@ -113,7 +113,7 @@ int ompi_coll_tuned_reduce_intra_chain( void *sendbuf, void *recvbuf, int count,
/* handle special case when size == 1 */
if (1 == size ) {
if (sendbuf != MPI_IN_PLACE) {
ompi_ddt_copy_content_same_ddt( datatype, count, recvbuf, sendbuf );
ompi_ddt_copy_content_same_ddt( datatype, count, (char*)recvbuf, (char*)sendbuf );
}
return MPI_SUCCESS;
}
@ -368,7 +368,7 @@ ompi_coll_tuned_reduce_intra_basic_linear(void *sbuf, void *rbuf, int count,
if (MPI_IN_PLACE == sbuf) {
sbuf = rbuf;
inplace_temp = malloc(true_extent + (count - 1) * extent);
inplace_temp = (char*)malloc(true_extent + (count - 1) * extent);
if (NULL == inplace_temp) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -376,7 +376,7 @@ ompi_coll_tuned_reduce_intra_basic_linear(void *sbuf, void *rbuf, int count,
}
if (size > 1) {
free_buffer = malloc(true_extent + (count - 1) * extent);
free_buffer = (char*)malloc(true_extent + (count - 1) * extent);
if (NULL == free_buffer) {
return OMPI_ERR_OUT_OF_RESOURCE;
}
@ -386,7 +386,7 @@ ompi_coll_tuned_reduce_intra_basic_linear(void *sbuf, void *rbuf, int count,
/* Initialize the receive buffer. */
if (rank == (size - 1)) {
err = ompi_ddt_copy_content_same_ddt(dtype, count, rbuf, sbuf);
err = ompi_ddt_copy_content_same_ddt(dtype, count, (char*)rbuf, (char*)sbuf);
} else {
err = MCA_PML_CALL(recv(rbuf, count, dtype, size - 1,
MCA_COLL_BASE_TAG_REDUCE, comm,
@ -403,7 +403,7 @@ ompi_coll_tuned_reduce_intra_basic_linear(void *sbuf, void *rbuf, int count,
for (i = size - 2; i >= 0; --i) {
if (rank == i) {
inbuf = sbuf;
inbuf = (char*)sbuf;
} else {
err = MCA_PML_CALL(recv(pml_buffer, count, dtype, i,
MCA_COLL_BASE_TAG_REDUCE, comm,
@ -424,7 +424,7 @@ ompi_coll_tuned_reduce_intra_basic_linear(void *sbuf, void *rbuf, int count,
}
if (NULL != inplace_temp) {
err = ompi_ddt_copy_content_same_ddt(dtype, count, sbuf, inplace_temp);
err = ompi_ddt_copy_content_same_ddt(dtype, count, (char*)sbuf, inplace_temp);
free(inplace_temp);
}
if (NULL != free_buffer) {

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -18,8 +18,6 @@
#include "ompi_config.h"
#include "opal/class/opal_list.h"
#include "opal/threads/mutex.h"
#include "opal/mca/base/base.h"
#include "ompi/mca/io/io.h"
#include "ompi/mca/io/base/base.h"
@ -60,7 +58,7 @@ int mca_io_base_component_init(void)
/*
* Add a comoponent to the io framework's currently-in-use list, or
* Add a component to the io framework's currently-in-use list, or
* increase its refcount if it's already in the list.
*/
int mca_io_base_component_add(mca_io_base_components_t *comp)

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше