1
1

initialize common symbols from oshmem

Этот коммит содержится в:
Gilles Gouaillardet 2015-04-15 18:36:37 +09:00
родитель 9d56b85b55
Коммит 11e11e1be9
12 изменённых файлов: 66 добавлений и 37 удалений

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

@ -1,6 +1,8 @@
/*
* Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -29,7 +31,7 @@
* Global variables; most of which are loaded by back-ends of MCA
* variables
*/
mca_atomic_base_module_t mca_atomic;
mca_atomic_base_module_t mca_atomic = {{0}};
/*
* Local types

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

@ -1,6 +1,8 @@
/*
* Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
*
* $COPYRIGHT$
*
@ -32,10 +34,10 @@ int mca_memheap_base_output = -1;
int mca_memheap_base_key_exchange = 1;
char* mca_memheap_base_include = NULL;
char* mca_memheap_base_exclude = NULL;
opal_list_t mca_memheap_base_components_opened;
opal_list_t mca_memheap_base_components_opened = {{0}};
struct mca_memheap_base_module_t* mca_memheap_base_module_initialized = NULL;
int mca_memheap_base_already_opened = 0;
mca_memheap_map_t mca_memheap_base_map;
mca_memheap_map_t mca_memheap_base_map = {{{0}}};
static int mca_memheap_base_register(mca_base_register_flag_t flags)
{

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

@ -1,6 +1,8 @@
/*
* Copyright (c) 2013-2015 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -56,7 +58,7 @@ struct oob_comm {
static mca_memheap_map_t* memheap_map = NULL;
struct oob_comm memheap_oob;
struct oob_comm memheap_oob = {{{0}}};
static int send_buffer(int pe, opal_buffer_t *msg);

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

@ -1,6 +1,8 @@
/*
* Copyright (c) 2013-2015 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -20,7 +22,7 @@
#include "oshmem/mca/memheap/base/base.h"
#include "orte/mca/errmgr/errmgr.h"
mca_memheap_base_module_t mca_memheap;
mca_memheap_base_module_t mca_memheap = {0};
/**
* Function for weeding out memheap components that shouldn't be executed.

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

@ -4,6 +4,8 @@
* All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -43,10 +45,10 @@
/*
* Global variables
*/
mca_spml_base_module_t mca_spml;
mca_spml_base_module_t mca_spml = {0};
mca_spml_base_component_t mca_spml_base_selected_component;
opal_pointer_array_t mca_spml_base_spml;
mca_spml_base_component_t mca_spml_base_selected_component = {{0}};
opal_pointer_array_t mca_spml_base_spml = {{0}};
static int mca_spml_base_register(mca_base_register_flag_t flags)

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

@ -4,6 +4,8 @@
* All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -19,8 +21,8 @@
* If you wonder why these 2 freelists are declared here read the comment
* in the spml_base_request.h file.
*/
opal_free_list_t mca_spml_base_put_requests/* = {{{0}}}*/;
opal_free_list_t mca_spml_base_get_requests /*= {{{0}}}*/;
opal_free_list_t mca_spml_base_put_requests = {{{0}}};
opal_free_list_t mca_spml_base_get_requests = {{{0}}};
opal_free_list_t mca_spml_base_atomic_requests = { { { 0 } } };
static void mca_spml_base_request_construct(mca_spml_base_request_t* req)

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

@ -1,7 +1,9 @@
/*
* Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2013 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2013 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -23,7 +25,7 @@
/*
* Table for op handle conversion
*/
opal_pointer_array_t oshmem_op_array;
opal_pointer_array_t oshmem_op_array = {{0}};
/*
* Class information

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

@ -1,7 +1,7 @@
/*
* Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2014 Research Organization for Information Science
* Copyright (c) 2014-2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
@ -37,7 +37,7 @@
opal_convertor_t* oshmem_shmem_local_convertor = NULL;
opal_list_t oshmem_proc_list;
opal_list_t oshmem_proc_list = {{0}};
static opal_mutex_t oshmem_proc_lock;
oshmem_proc_t* oshmem_proc_local_proc = NULL;
@ -545,7 +545,7 @@ int oshmem_proc_unpack(opal_buffer_t* buf,
return OSHMEM_SUCCESS;
}
opal_pointer_array_t oshmem_group_array;
opal_pointer_array_t oshmem_group_array = {{0}};
oshmem_group_t* oshmem_group_all = NULL;
oshmem_group_t* oshmem_group_self = NULL;

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

@ -1,6 +1,8 @@
/*
* Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -12,8 +14,8 @@
#include "oshmem/runtime/runtime.h"
OBJ_CLASS_INSTANCE(oshmem_group_cache_t, opal_object_t, NULL, NULL);
opal_list_t oshmem_group_cache_list;
unsigned int oshmem_group_cache_size;
opal_list_t oshmem_group_cache_list = {{0}};
unsigned int oshmem_group_cache_size = 0;
oshmem_group_t* find_group_in_cache(int PE_start, int logPE_stride, int PE_size)
{
int cache_look_up_id[3] = { PE_start, logPE_stride, PE_size };

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

@ -4,6 +4,8 @@
* All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -19,14 +21,14 @@
#include "oshmem/constants.h"
#include "oshmem/proc/proc.h"
opal_pointer_array_t oshmem_request_f_to_c_table;
opal_pointer_array_t oshmem_request_f_to_c_table = {{0}};
size_t oshmem_request_waiting = 0;
size_t oshmem_request_completed = 0;
opal_mutex_t oshmem_request_lock;
opal_condition_t oshmem_request_cond;
oshmem_predefined_request_t oshmem_request_null;
oshmem_request_t oshmem_request_empty;
oshmem_status_public_t oshmem_status_empty;
opal_mutex_t oshmem_request_lock = {{0}};
opal_condition_t oshmem_request_cond = {{0}};
oshmem_predefined_request_t oshmem_request_null = {{{{{0}}}}};
oshmem_request_t oshmem_request_empty = {{{{0}}}};
oshmem_status_public_t oshmem_status_empty = {0};
oshmem_request_fns_t oshmem_request_functions = {
NULL, /*oshmem_request_default_test,*/
NULL, /*oshmem_request_default_test_any,*/

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

@ -1,6 +1,8 @@
/*
* Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
*
* $COPYRIGHT$
*
@ -101,7 +103,7 @@ int oshmem_mpi_thread_provided = SHMEM_THREAD_SINGLE;
long *preconnect_value = 0;
int shmem_api_logger_output = -1;
MPI_Comm oshmem_comm_world;
MPI_Comm oshmem_comm_world = {0};
opal_thread_t *oshmem_mpi_main_thread = NULL;
@ -130,43 +132,50 @@ opal_thread_t *oshmem_mpi_main_thread = NULL;
ompi/include/mpif-common.h.
*/
#define INST(type, upper_case, lower_case, single_u, double_u) \
type lower_case; \
type upper_case; \
type single_u; \
type double_u
#define INST(type, value, upper_case, lower_case, single_u, double_u) \
type lower_case = value; \
type upper_case = value; \
type single_u = value; \
type double_u = value
INST(int,
0,
MPI_FORTRAN_BOTTOM,
mpi_fortran_bottom,
mpi_fortran_bottom_,
mpi_fortran_bottom__);
INST(int,
0,
MPI_FORTRAN_IN_PLACE,
mpi_fortran_in_place,
mpi_fortran_in_place_,
mpi_fortran_in_place__);
INST(char *,
NULL,
MPI_FORTRAN_ARGV_NULL,
mpi_fortran_argv_null,
mpi_fortran_argv_null_,
mpi_fortran_argv_null__);
INST(double,
0.0,
MPI_FORTRAN_ARGVS_NULL,
mpi_fortran_argvs_null,
mpi_fortran_argvs_null_,
mpi_fortran_argvs_null__);
INST(int *,
NULL,
MPI_FORTRAN_ERRCODES_IGNORE,
mpi_fortran_errcodes_ignore,
mpi_fortran_errcodes_ignore_,
mpi_fortran_errcodes_ignore__);
INST(int *,
NULL,
MPI_FORTRAN_STATUS_IGNORE,
mpi_fortran_status_ignore,
mpi_fortran_status_ignore_,
mpi_fortran_status_ignore__);
INST(double,
0.0,
MPI_FORTRAN_STATUSES_IGNORE,
mpi_fortran_statuses_ignore,
mpi_fortran_statuses_ignore_,
@ -175,9 +184,9 @@ INST(double,
/*
* Hash tables for MPI_Type_create_f90* functions
*/
opal_hash_table_t ompi_mpi_f90_integer_hashtable;
opal_hash_table_t ompi_mpi_f90_real_hashtable;
opal_hash_table_t ompi_mpi_f90_complex_hashtable;
opal_hash_table_t ompi_mpi_f90_integer_hashtable = {{0}};
opal_hash_table_t ompi_mpi_f90_real_hashtable = {{0}};
opal_hash_table_t ompi_mpi_f90_complex_hashtable = {{0}};
static int _shmem_init(int argc, char **argv, int requested, int *provided);
@ -196,8 +205,8 @@ static void* shmem_opal_thread(void* argc)
}
#endif
int oshmem_shmem_inglobalexit;
int oshmem_shmem_globalexit_status;
int oshmem_shmem_inglobalexit = 0;
int oshmem_shmem_globalexit_status = -1;
static void sighandler__SIGUSR1(int signum)
{

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

@ -1,7 +1,9 @@
/*
* Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -43,8 +45,8 @@ struct oshmem_lock_prev_pe_container {
};
typedef struct oshmem_lock_prev_pe_container oshmem_lock_prev_pe_container_t;
oshmem_lock_counter_t *lock_counter_head;
oshmem_lock_prev_pe_container_t *lock_prev_pe_container_head;
oshmem_lock_counter_t *lock_counter_head = NULL;
oshmem_lock_prev_pe_container_t *lock_prev_pe_container_head = NULL;
static int *lock_turn;
static int *lock_inform;
static int *lock_last_ticket;