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

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

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

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

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

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

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

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

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

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

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

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

@ -1,7 +1,9 @@
/* /*
* Copyright (c) 2013 Mellanox Technologies, Inc. * Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved. * 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$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -23,7 +25,7 @@
/* /*
* Table for op handle conversion * Table for op handle conversion
*/ */
opal_pointer_array_t oshmem_op_array; opal_pointer_array_t oshmem_op_array = {{0}};
/* /*
* Class information * Class information

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

@ -1,7 +1,7 @@
/* /*
* Copyright (c) 2013 Mellanox Technologies, Inc. * Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved. * 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. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -37,7 +37,7 @@
opal_convertor_t* oshmem_shmem_local_convertor = NULL; 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; static opal_mutex_t oshmem_proc_lock;
oshmem_proc_t* oshmem_proc_local_proc = NULL; oshmem_proc_t* oshmem_proc_local_proc = NULL;
@ -545,7 +545,7 @@ int oshmem_proc_unpack(opal_buffer_t* buf,
return OSHMEM_SUCCESS; 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_all = NULL;
oshmem_group_t* oshmem_group_self = NULL; oshmem_group_t* oshmem_group_self = NULL;

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

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

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

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

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

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

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

@ -1,7 +1,9 @@
/* /*
* Copyright (c) 2013 Mellanox Technologies, Inc. * Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved. * 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$ * $COPYRIGHT$
* *
* Additional copyrights may follow * 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; typedef struct oshmem_lock_prev_pe_container oshmem_lock_prev_pe_container_t;
oshmem_lock_counter_t *lock_counter_head; oshmem_lock_counter_t *lock_counter_head = NULL;
oshmem_lock_prev_pe_container_t *lock_prev_pe_container_head; oshmem_lock_prev_pe_container_t *lock_prev_pe_container_head = NULL;
static int *lock_turn; static int *lock_turn;
static int *lock_inform; static int *lock_inform;
static int *lock_last_ticket; static int *lock_last_ticket;