Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Poc/convertor sendrecv #1789

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
815 changes: 567 additions & 248 deletions ompi/mca/coll/base/coll_base_bcast.c

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions ompi/mca/coll/base/coll_base_functions.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* Copyright (c) 2008 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2013-2016 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2015 Research Organization for Information Science
* Copyright (c) 2015-2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
* Copyright (c) 2017 FUJITSU LIMITED. All rights reserved.
Expand Down Expand Up @@ -213,7 +213,7 @@ int ompi_coll_base_barrier_intra_tree(BARRIER_ARGS);
int ompi_coll_base_barrier_intra_basic_linear(BARRIER_ARGS);

/* Bcast */
int ompi_coll_base_bcast_intra_generic(BCAST_ARGS, uint32_t count_by_segment, ompi_coll_tree_t* tree);
int ompi_coll_base_bcast_intra_generic(BCAST_ARGS, size_t segment_size, ompi_coll_tree_t* tree);
int ompi_coll_base_bcast_intra_basic_linear(BCAST_ARGS);
int ompi_coll_base_bcast_intra_chain(BCAST_ARGS, uint32_t segsize, int32_t chains);
int ompi_coll_base_bcast_intra_pipeline(BCAST_ARGS, uint32_t segsize);
Expand Down
10 changes: 6 additions & 4 deletions ompi/mca/crcp/bkmrk/crcp_bkmrk_pml.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
* Copyright (c) 2012-2015 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2015 Intel, Inc. All rights reserved.
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand Down Expand Up @@ -1497,7 +1499,7 @@ ompi_crcp_base_pml_state_t* ompi_crcp_bkmrk_pml_del_procs(

/**************** Send *****************/
ompi_crcp_base_pml_state_t* ompi_crcp_bkmrk_pml_isend_init(
void *buf, size_t count,
const void *buf, size_t count,
ompi_datatype_t *datatype,
int dst, int tag,
mca_pml_base_send_mode_t mode,
Expand Down Expand Up @@ -1558,7 +1560,7 @@ ompi_crcp_base_pml_state_t* ompi_crcp_bkmrk_pml_isend_init(
* Update Message
*/
HOKE_CONTENT_REF_ALLOC(new_content);
new_content->buffer = buf;
new_content->buffer = (void *)buf;
new_content->request = *request;
new_content->done = false;
new_content->active = false;
Expand Down Expand Up @@ -1710,7 +1712,7 @@ static int ompi_crcp_bkmrk_request_complete_isend_init(struct ompi_request_t *re


ompi_crcp_base_pml_state_t* ompi_crcp_bkmrk_pml_isend(
void *buf, size_t count,
const void *buf, size_t count,
ompi_datatype_t *datatype,
int dst, int tag,
mca_pml_base_send_mode_t mode,
Expand Down Expand Up @@ -1869,7 +1871,7 @@ static int ompi_crcp_bkmrk_request_complete_isend(struct ompi_request_t *request


ompi_crcp_base_pml_state_t* ompi_crcp_bkmrk_pml_send(
void *buf, size_t count,
const void *buf, size_t count,
ompi_datatype_t *datatype,
int dst, int tag,
mca_pml_base_send_mode_t mode,
Expand Down
8 changes: 5 additions & 3 deletions ompi/mca/crcp/bkmrk/crcp_bkmrk_pml.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand Down Expand Up @@ -69,21 +71,21 @@ BEGIN_C_DECLS
ompi_crcp_base_pml_state_t* pml_state );

ompi_crcp_base_pml_state_t* ompi_crcp_bkmrk_pml_isend_init
( void *buf, size_t count, ompi_datatype_t *datatype,
( const void *buf, size_t count, ompi_datatype_t *datatype,
int dst, int tag, mca_pml_base_send_mode_t mode,
struct ompi_communicator_t* comm,
struct ompi_request_t **request,
ompi_crcp_base_pml_state_t* pml_state );

ompi_crcp_base_pml_state_t* ompi_crcp_bkmrk_pml_isend
( void *buf, size_t count, ompi_datatype_t *datatype,
( const void *buf, size_t count, ompi_datatype_t *datatype,
int dst, int tag, mca_pml_base_send_mode_t mode,
struct ompi_communicator_t* comm,
struct ompi_request_t **request,
ompi_crcp_base_pml_state_t* pml_state );

ompi_crcp_base_pml_state_t* ompi_crcp_bkmrk_pml_send
( void *buf, size_t count, ompi_datatype_t *datatype,
( const void *buf, size_t count, ompi_datatype_t *datatype,
int dst, int tag, mca_pml_base_send_mode_t mode,
struct ompi_communicator_t* comm,
ompi_crcp_base_pml_state_t* pml_state );
Expand Down
8 changes: 5 additions & 3 deletions ompi/mca/crcp/crcp.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
* All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand Down Expand Up @@ -128,17 +130,17 @@ typedef ompi_crcp_base_pml_state_t* (*ompi_crcp_base_pml_probe_fn_t)
ompi_status_public_t* status, ompi_crcp_base_pml_state_t* );

typedef ompi_crcp_base_pml_state_t* (*ompi_crcp_base_pml_isend_init_fn_t)
( void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
( const void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
mca_pml_base_send_mode_t mode, struct ompi_communicator_t* comm,
struct ompi_request_t **request, ompi_crcp_base_pml_state_t* );

typedef ompi_crcp_base_pml_state_t* (*ompi_crcp_base_pml_isend_fn_t)
( void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
( const void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
mca_pml_base_send_mode_t mode, struct ompi_communicator_t* comm,
struct ompi_request_t **request, ompi_crcp_base_pml_state_t* );

typedef ompi_crcp_base_pml_state_t* (*ompi_crcp_base_pml_send_fn_t)
( void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
( const void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
mca_pml_base_send_mode_t mode, struct ompi_communicator_t* comm,
ompi_crcp_base_pml_state_t* );

Expand Down
3 changes: 3 additions & 0 deletions ompi/mca/pml/base/pml_base_recvreq.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
* Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2016 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand Down Expand Up @@ -74,6 +76,7 @@ OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_pml_base_recv_request_t);
(request)->req_bytes_packed = 0; \
(request)->req_base.req_addr = addr; \
(request)->req_base.req_count = count; \
(request)->req_base.req_offset = 0; \
(request)->req_base.req_peer = src; \
(request)->req_base.req_tag = tag; \
(request)->req_base.req_comm = comm; \
Expand Down
3 changes: 2 additions & 1 deletion ompi/mca/pml/base/pml_base_request.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2015 Research Organization for Information Science
* Copyright (c) 2015-2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
Expand Down Expand Up @@ -72,6 +72,7 @@ struct mca_pml_base_request_t {

void *req_addr; /**< pointer to application buffer */
size_t req_count; /**< count of user datatype elements */
size_t req_offset; /**< offset the request starts at */
int32_t req_peer; /**< peer process - rank w/in this communicator */
int32_t req_tag; /**< user defined tag */
struct ompi_proc_t* req_proc; /**< peer process */
Expand Down
3 changes: 2 additions & 1 deletion ompi/mca/pml/base/pml_base_sendreq.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science
* Copyright (c) 2015-2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* Copyright (c) 2016 Los Alamos National Security, LLC. All rights
* reserved.
Expand Down Expand Up @@ -87,6 +87,7 @@ OMPI_DECLSPEC OBJ_CLASS_DECLARATION( mca_pml_base_send_request_t );
(request)->req_send_mode = mode; \
(request)->req_base.req_addr = (void *)addr; \
(request)->req_base.req_count = count; \
(request)->req_base.req_offset= 0; \
(request)->req_base.req_datatype = datatype; \
(request)->req_base.req_peer = (int32_t)peer; \
(request)->req_base.req_tag = (int32_t)tag; \
Expand Down
6 changes: 6 additions & 0 deletions ompi/mca/pml/bfo/pml_bfo.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
* Copyright (c) 2011 Sandia National Laboratories. All rights reserved.
* Copyright (c) 2011-2012 Los Alamos National Security, LLC.
* All rights reserved.
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand Down Expand Up @@ -64,9 +66,13 @@ mca_pml_bfo_t mca_pml_bfo = {
mca_pml_bfo_irecv_init,
mca_pml_bfo_irecv,
mca_pml_bfo_recv,
NULL, /* icrecv */
NULL, /* crecv */
mca_pml_bfo_isend_init,
mca_pml_bfo_isend,
mca_pml_bfo_send,
NULL, /* icsend */
NULL, /* csend */
mca_pml_bfo_iprobe,
mca_pml_bfo_probe,
mca_pml_bfo_start,
Expand Down
6 changes: 6 additions & 0 deletions ompi/mca/pml/cm/pml_cm.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
* Copyright (c) 2011 Sandia National Laboratories. All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand Down Expand Up @@ -40,9 +42,13 @@ ompi_pml_cm_t ompi_pml_cm = {
mca_pml_cm_irecv_init,
mca_pml_cm_irecv,
mca_pml_cm_recv,
NULL, /* icrecv */
NULL, /* crecv */
mca_pml_cm_isend_init,
mca_pml_cm_isend,
mca_pml_cm_send,
NULL, /* icsend */
NULL, /* csend */
mca_pml_cm_iprobe,
mca_pml_cm_probe,
mca_pml_cm_start,
Expand Down
8 changes: 5 additions & 3 deletions ompi/mca/pml/crcpw/pml_crcpw.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
* All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand Down Expand Up @@ -108,13 +110,13 @@ BEGIN_C_DECLS
struct ompi_message_t **message,
ompi_status_public_t* status );

int mca_pml_crcpw_isend_init( void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
int mca_pml_crcpw_isend_init( const void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
mca_pml_base_send_mode_t mode, struct ompi_communicator_t* comm, struct ompi_request_t **request );

int mca_pml_crcpw_isend( void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
int mca_pml_crcpw_isend( const void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
mca_pml_base_send_mode_t mode, struct ompi_communicator_t* comm, struct ompi_request_t **request );

int mca_pml_crcpw_send( void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
int mca_pml_crcpw_send( const void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
mca_pml_base_send_mode_t mode, struct ompi_communicator_t* comm );

int mca_pml_crcpw_irecv_init( void *buf, size_t count, ompi_datatype_t *datatype, int src, int tag,
Expand Down
9 changes: 6 additions & 3 deletions ompi/mca/pml/crcpw/pml_crcpw_module.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
* Copyright (c) 2011 Sandia National Laboratories. All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand Down Expand Up @@ -46,6 +48,7 @@ mca_pml_crcpw_module_t mca_pml_crcpw_module = {
mca_pml_crcpw_isend_init,
mca_pml_crcpw_isend,
mca_pml_crcpw_send,
NULL, /* csend */
mca_pml_crcpw_iprobe,
mca_pml_crcpw_probe,
mca_pml_crcpw_start,
Expand Down Expand Up @@ -368,7 +371,7 @@ int mca_pml_crcpw_probe( int dst, int tag, struct ompi_communicator_t* comm, omp
return OMPI_SUCCESS;
}

int mca_pml_crcpw_isend_init( void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
int mca_pml_crcpw_isend_init( const void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
mca_pml_base_send_mode_t mode, struct ompi_communicator_t* comm, struct ompi_request_t **request )
{
int ret;
Expand Down Expand Up @@ -407,7 +410,7 @@ int mca_pml_crcpw_isend_init( void *buf, size_t count, ompi_datatype_t *datatype
return OMPI_SUCCESS;
}

int mca_pml_crcpw_isend( void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
int mca_pml_crcpw_isend( const void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
mca_pml_base_send_mode_t mode, struct ompi_communicator_t* comm, struct ompi_request_t **request )
{
int ret;
Expand Down Expand Up @@ -449,7 +452,7 @@ int mca_pml_crcpw_isend( void *buf, size_t count, ompi_datatype_t *datatype, int
return OMPI_SUCCESS;
}

int mca_pml_crcpw_send( void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
int mca_pml_crcpw_send( const void *buf, size_t count, ompi_datatype_t *datatype, int dst, int tag,
mca_pml_base_send_mode_t mode, struct ompi_communicator_t* comm )
{
int ret;
Expand Down
6 changes: 6 additions & 0 deletions ompi/mca/pml/example/pml_example.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2011 Sandia National Laboratories. All rights reserved.
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand All @@ -30,9 +32,13 @@ mca_pml_example_t mca_pml_example = {
mca_pml_example_irecv_init,
mca_pml_example_irecv,
mca_pml_example_recv,
NULL, /* icrecv */
NULL, /* crecv */
mca_pml_example_isend_init,
mca_pml_example_isend,
mca_pml_example_send,
NULL, /* icsend */
NULL, /* csend */
mca_pml_example_iprobe,
mca_pml_example_probe,
mca_pml_example_start,
Expand Down
6 changes: 6 additions & 0 deletions ompi/mca/pml/ob1/pml_ob1.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
* reserved.
* Copyright (c) 2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015 FUJITSU LIMITED. All rights reserved.
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand Down Expand Up @@ -64,9 +66,13 @@ mca_pml_ob1_t mca_pml_ob1 = {
mca_pml_ob1_irecv_init,
mca_pml_ob1_irecv,
mca_pml_ob1_recv,
mca_pml_ob1_icrecv,
mca_pml_ob1_crecv,
mca_pml_ob1_isend_init,
mca_pml_ob1_isend,
mca_pml_ob1_send,
mca_pml_ob1_icsend,
mca_pml_ob1_csend,
mca_pml_ob1_iprobe,
mca_pml_ob1_probe,
mca_pml_ob1_start,
Expand Down
31 changes: 30 additions & 1 deletion ompi/mca/pml/ob1/pml_ob1.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* Copyright (c) 2011 Sandia National Laboratories. All rights reserved.
* Copyright (c) 2012-2017 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2015 Research Organization for Information Science
* Copyright (c) 2015-2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
Expand Down Expand Up @@ -165,6 +165,21 @@ extern int mca_pml_ob1_send( const void *buf,
mca_pml_base_send_mode_t mode,
struct ompi_communicator_t* comm );

extern int mca_pml_ob1_icsend( struct opal_convertor_t* convertor,
size_t *size,
int dst,
int tag,
mca_pml_base_send_mode_t mode,
struct ompi_communicator_t* comm,
struct ompi_request_t **request );

extern int mca_pml_ob1_csend( struct opal_convertor_t* convertor,
size_t *size,
int dst,
int tag,
mca_pml_base_send_mode_t mode,
struct ompi_communicator_t* comm );

extern int mca_pml_ob1_irecv_init( void *buf,
size_t count,
ompi_datatype_t *datatype,
Expand Down Expand Up @@ -201,6 +216,20 @@ extern int mca_pml_ob1_mrecv( void *buf,
struct ompi_message_t **message,
ompi_status_public_t* status );

extern int mca_pml_ob1_icrecv( opal_convertor_t* convertor,
size_t *size,
int src,
int tag,
struct ompi_communicator_t* comm,
struct ompi_request_t **request );

extern int mca_pml_ob1_crecv( opal_convertor_t* convertor,
size_t *size,
int src,
int tag,
struct ompi_communicator_t* comm,
ompi_status_public_t* status );

extern int mca_pml_ob1_dump( struct ompi_communicator_t* comm,
int verbose );

Expand Down
Loading