Fixes trac:2472. Use large integers to hold displacements for one-sided
operations, not ints. Sorry for the mid-day configure.ac change, folks... This commit was SVN r23449. The following Trac tickets were found above: Ticket 2472 --> https://svn.open-mpi.org/trac/ompi/ticket/2472
Этот коммит содержится в:
родитель
64cb8f5d7f
Коммит
35690ecad5
@ -552,7 +552,7 @@ ompi_show_title "Header file tests"
|
|||||||
AC_CHECK_HEADERS([alloca.h aio.h arpa/inet.h dirent.h \
|
AC_CHECK_HEADERS([alloca.h aio.h arpa/inet.h dirent.h \
|
||||||
dlfcn.h execinfo.h err.h fcntl.h grp.h inttypes.h libgen.h \
|
dlfcn.h execinfo.h err.h fcntl.h grp.h inttypes.h libgen.h \
|
||||||
libutil.h memory.h netdb.h netinet/in.h netinet/tcp.h \
|
libutil.h memory.h netdb.h netinet/in.h netinet/tcp.h \
|
||||||
poll.h pthread.h pty.h pwd.h sched.h stdint.h \
|
poll.h pthread.h pty.h pwd.h sched.h stdint.h stddef.h \
|
||||||
stdlib.h string.h strings.h stropts.h sys/fcntl.h sys/ipc.h \
|
stdlib.h string.h strings.h stropts.h sys/fcntl.h sys/ipc.h \
|
||||||
sys/ioctl.h sys/mman.h sys/mount.h sys/param.h sys/queue.h \
|
sys/ioctl.h sys/mman.h sys/mount.h sys/param.h sys/queue.h \
|
||||||
sys/resource.h sys/select.h sys/socket.h sys/sockio.h \
|
sys/resource.h sys/select.h sys/socket.h sys/sockio.h \
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
||||||
* reserved.
|
* reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -28,6 +29,12 @@
|
|||||||
#ifndef OMPI_MCA_OSC_OSC_H
|
#ifndef OMPI_MCA_OSC_OSC_H
|
||||||
#define OMPI_MCA_OSC_OSC_H
|
#define OMPI_MCA_OSC_OSC_H
|
||||||
|
|
||||||
|
#include "opal_config.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_STDDEF_H
|
||||||
|
#include <stddef.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "opal/mca/mca.h"
|
#include "opal/mca/mca.h"
|
||||||
|
|
||||||
BEGIN_C_DECLS
|
BEGIN_C_DECLS
|
||||||
@ -187,7 +194,7 @@ typedef int (*ompi_osc_base_module_put_fn_t)(void *origin_addr,
|
|||||||
int origin_count,
|
int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target,
|
int target,
|
||||||
int target_disp,
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
struct ompi_win_t *win);
|
struct ompi_win_t *win);
|
||||||
@ -197,7 +204,7 @@ typedef int (*ompi_osc_base_module_get_fn_t)(void *origin_addr,
|
|||||||
int origin_count,
|
int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target,
|
int target,
|
||||||
int target_disp,
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
struct ompi_win_t *win);
|
struct ompi_win_t *win);
|
||||||
@ -207,7 +214,7 @@ typedef int (*ompi_osc_base_module_accumulate_fn_t)(void *origin_addr,
|
|||||||
int origin_count,
|
int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target,
|
int target,
|
||||||
int target_disp,
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
struct ompi_op_t *op,
|
struct ompi_op_t *op,
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
||||||
* reserved.
|
* reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -189,7 +190,7 @@ int ompi_osc_pt2pt_module_put(void *origin_addr,
|
|||||||
int origin_count,
|
int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target,
|
int target,
|
||||||
int target_disp,
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
struct ompi_win_t *win);
|
struct ompi_win_t *win);
|
||||||
@ -198,7 +199,7 @@ int ompi_osc_pt2pt_module_accumulate(void *origin_addr,
|
|||||||
int origin_count,
|
int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target,
|
int target,
|
||||||
int target_disp,
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
struct ompi_op_t *op,
|
struct ompi_op_t *op,
|
||||||
@ -208,7 +209,7 @@ int ompi_osc_pt2pt_module_get(void *origin_addr,
|
|||||||
int origin_count,
|
int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target,
|
int target,
|
||||||
int target_disp,
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
struct ompi_win_t *win);
|
struct ompi_win_t *win);
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -48,7 +49,8 @@ enqueue_sendreq(ompi_osc_pt2pt_module_t *module,
|
|||||||
int
|
int
|
||||||
ompi_osc_pt2pt_module_accumulate(void *origin_addr, int origin_count,
|
ompi_osc_pt2pt_module_accumulate(void *origin_addr, int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target, int target_disp, int target_count,
|
int target, OPAL_PTRDIFF_TYPE target_disp,
|
||||||
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
struct ompi_op_t *op, ompi_win_t *win)
|
struct ompi_op_t *op, ompi_win_t *win)
|
||||||
{
|
{
|
||||||
@ -102,7 +104,7 @@ ompi_osc_pt2pt_module_get(void *origin_addr,
|
|||||||
int origin_count,
|
int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target,
|
int target,
|
||||||
int target_disp,
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
ompi_win_t *win)
|
ompi_win_t *win)
|
||||||
@ -153,7 +155,8 @@ ompi_osc_pt2pt_module_get(void *origin_addr,
|
|||||||
int
|
int
|
||||||
ompi_osc_pt2pt_module_put(void *origin_addr, int origin_count,
|
ompi_osc_pt2pt_module_put(void *origin_addr, int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target, int target_disp, int target_count,
|
int target, OPAL_PTRDIFF_TYPE target_disp,
|
||||||
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt, ompi_win_t *win)
|
struct ompi_datatype_t *target_dt, ompi_win_t *win)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2006-2007 Los Alamos National Security, LLC. All rights
|
* Copyright (c) 2006-2007 Los Alamos National Security, LLC. All rights
|
||||||
* reserved.
|
* reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -56,7 +57,7 @@ struct ompi_osc_pt2pt_send_header_t {
|
|||||||
ompi_ptr_t hdr_origin_sendreq;
|
ompi_ptr_t hdr_origin_sendreq;
|
||||||
int32_t hdr_origin_tag;
|
int32_t hdr_origin_tag;
|
||||||
|
|
||||||
int32_t hdr_target_disp;
|
uint64_t hdr_target_disp;
|
||||||
int32_t hdr_target_count;
|
int32_t hdr_target_count;
|
||||||
int32_t hdr_target_op;
|
int32_t hdr_target_op;
|
||||||
|
|
||||||
@ -69,7 +70,7 @@ typedef struct ompi_osc_pt2pt_send_header_t ompi_osc_pt2pt_send_header_t;
|
|||||||
OMPI_OSC_PT2PT_BASE_HDR_HTON((hdr).hdr_base) \
|
OMPI_OSC_PT2PT_BASE_HDR_HTON((hdr).hdr_base) \
|
||||||
(hdr).hdr_origin = htonl((hdr).hdr_origin); \
|
(hdr).hdr_origin = htonl((hdr).hdr_origin); \
|
||||||
(hdr).hdr_origin_tag = htonl((hdr).hdr_origin_tag); \
|
(hdr).hdr_origin_tag = htonl((hdr).hdr_origin_tag); \
|
||||||
(hdr).hdr_target_disp = htonl((hdr).hdr_target_disp); \
|
(hdr).hdr_target_disp = htonll((hdr).hdr_target_disp); \
|
||||||
(hdr).hdr_target_count = htonl((hdr).hdr_target_count); \
|
(hdr).hdr_target_count = htonl((hdr).hdr_target_count); \
|
||||||
(hdr).hdr_target_op = htonl((hdr).hdr_target_op); \
|
(hdr).hdr_target_op = htonl((hdr).hdr_target_op); \
|
||||||
(hdr).hdr_msg_length = htonl((hdr).hdr_msg_length); \
|
(hdr).hdr_msg_length = htonl((hdr).hdr_msg_length); \
|
||||||
@ -80,7 +81,7 @@ typedef struct ompi_osc_pt2pt_send_header_t ompi_osc_pt2pt_send_header_t;
|
|||||||
OMPI_OSC_PT2PT_BASE_HDR_NTOH((hdr).hdr_base) \
|
OMPI_OSC_PT2PT_BASE_HDR_NTOH((hdr).hdr_base) \
|
||||||
(hdr).hdr_origin = ntohl((hdr).hdr_origin); \
|
(hdr).hdr_origin = ntohl((hdr).hdr_origin); \
|
||||||
(hdr).hdr_origin_tag = ntohl((hdr).hdr_origin_tag); \
|
(hdr).hdr_origin_tag = ntohl((hdr).hdr_origin_tag); \
|
||||||
(hdr).hdr_target_disp = ntohl((hdr).hdr_target_disp); \
|
(hdr).hdr_target_disp = ntohllo((hdr).hdr_target_disp); \
|
||||||
(hdr).hdr_target_count = ntohl((hdr).hdr_target_count); \
|
(hdr).hdr_target_count = ntohl((hdr).hdr_target_count); \
|
||||||
(hdr).hdr_target_op = ntohl((hdr).hdr_target_op); \
|
(hdr).hdr_target_op = ntohl((hdr).hdr_target_op); \
|
||||||
(hdr).hdr_msg_length = ntohl((hdr).hdr_msg_length); \
|
(hdr).hdr_msg_length = ntohl((hdr).hdr_msg_length); \
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -25,7 +26,7 @@ int
|
|||||||
ompi_osc_pt2pt_replyreq_alloc_init(ompi_osc_pt2pt_module_t *module,
|
ompi_osc_pt2pt_replyreq_alloc_init(ompi_osc_pt2pt_module_t *module,
|
||||||
int origin,
|
int origin,
|
||||||
ompi_ptr_t origin_request,
|
ompi_ptr_t origin_request,
|
||||||
int target_displacement,
|
OPAL_PTRDIFF_TYPE target_displacement,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *datatype,
|
struct ompi_datatype_t *datatype,
|
||||||
ompi_osc_pt2pt_replyreq_t **replyreq)
|
ompi_osc_pt2pt_replyreq_t **replyreq)
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -59,7 +60,7 @@ int
|
|||||||
ompi_osc_pt2pt_replyreq_alloc_init(ompi_osc_pt2pt_module_t *module,
|
ompi_osc_pt2pt_replyreq_alloc_init(ompi_osc_pt2pt_module_t *module,
|
||||||
int origin,
|
int origin,
|
||||||
ompi_ptr_t origin_request,
|
ompi_ptr_t origin_request,
|
||||||
int target_displacement,
|
OPAL_PTRDIFF_TYPE target_displacement,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *datatype,
|
struct ompi_datatype_t *datatype,
|
||||||
ompi_osc_pt2pt_replyreq_t **replyreq);
|
ompi_osc_pt2pt_replyreq_t **replyreq);
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2004-2005 The Trustees of Indiana University.
|
* Copyright (c) 2004-2005 The Trustees of Indiana University.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
@ -8,6 +7,7 @@
|
|||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -26,7 +26,9 @@ int
|
|||||||
ompi_osc_pt2pt_sendreq_alloc_init(ompi_osc_pt2pt_req_type_t req_type,
|
ompi_osc_pt2pt_sendreq_alloc_init(ompi_osc_pt2pt_req_type_t req_type,
|
||||||
void *origin_addr, int origin_count,
|
void *origin_addr, int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target, int target_disp, int target_count,
|
int target,
|
||||||
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
ompi_osc_pt2pt_module_t *module,
|
ompi_osc_pt2pt_module_t *module,
|
||||||
ompi_osc_pt2pt_sendreq_t **sendreq)
|
ompi_osc_pt2pt_sendreq_t **sendreq)
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -56,7 +57,7 @@ struct ompi_osc_pt2pt_sendreq_t {
|
|||||||
ompi_proc_t *req_target_proc;
|
ompi_proc_t *req_target_proc;
|
||||||
|
|
||||||
/** displacement on target */
|
/** displacement on target */
|
||||||
int req_target_disp;
|
OPAL_PTRDIFF_TYPE req_target_disp;
|
||||||
/** datatype count on target */
|
/** datatype count on target */
|
||||||
int req_target_count;
|
int req_target_count;
|
||||||
/** datatype on target */
|
/** datatype on target */
|
||||||
@ -75,7 +76,9 @@ int
|
|||||||
ompi_osc_pt2pt_sendreq_alloc_init(ompi_osc_pt2pt_req_type_t req_type,
|
ompi_osc_pt2pt_sendreq_alloc_init(ompi_osc_pt2pt_req_type_t req_type,
|
||||||
void *origin_addr, int origin_count,
|
void *origin_addr, int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target, int target_disp, int target_count,
|
int target,
|
||||||
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
|
int target_count,
|
||||||
struct ompi_datatype_t *target_datatype,
|
struct ompi_datatype_t *target_datatype,
|
||||||
ompi_osc_pt2pt_module_t *module,
|
ompi_osc_pt2pt_module_t *module,
|
||||||
ompi_osc_pt2pt_sendreq_t **sendreq);
|
ompi_osc_pt2pt_sendreq_t **sendreq);
|
||||||
@ -142,7 +145,7 @@ ompi_osc_pt2pt_sendreq_init_origin(ompi_osc_pt2pt_sendreq_t *sendreq,
|
|||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
ompi_osc_pt2pt_sendreq_init_target(ompi_osc_pt2pt_sendreq_t *sendreq,
|
ompi_osc_pt2pt_sendreq_init_target(ompi_osc_pt2pt_sendreq_t *sendreq,
|
||||||
int target_disp,
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *target_datatype)
|
struct ompi_datatype_t *target_datatype)
|
||||||
{
|
{
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
||||||
* reserved.
|
* reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -249,7 +250,7 @@ int ompi_osc_rdma_module_put(void *origin_addr,
|
|||||||
int origin_count,
|
int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target,
|
int target,
|
||||||
int target_disp,
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
struct ompi_win_t *win);
|
struct ompi_win_t *win);
|
||||||
@ -258,7 +259,7 @@ int ompi_osc_rdma_module_accumulate(void *origin_addr,
|
|||||||
int origin_count,
|
int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target,
|
int target,
|
||||||
int target_disp,
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
struct ompi_op_t *op,
|
struct ompi_op_t *op,
|
||||||
@ -268,7 +269,7 @@ int ompi_osc_rdma_module_get(void *origin_addr,
|
|||||||
int origin_count,
|
int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target,
|
int target,
|
||||||
int target_disp,
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
struct ompi_win_t *win);
|
struct ompi_win_t *win);
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
||||||
* reserved.
|
* reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -27,6 +28,7 @@
|
|||||||
#include "osc_rdma_data_move.h"
|
#include "osc_rdma_data_move.h"
|
||||||
#include "ompi/memchecker.h"
|
#include "ompi/memchecker.h"
|
||||||
#include "ompi/mca/osc/base/osc_base_obj_convert.h"
|
#include "ompi/mca/osc/base/osc_base_obj_convert.h"
|
||||||
|
#include "opal_stdint.h"
|
||||||
|
|
||||||
static int
|
static int
|
||||||
enqueue_sendreq(ompi_osc_rdma_module_t *module,
|
enqueue_sendreq(ompi_osc_rdma_module_t *module,
|
||||||
@ -45,7 +47,8 @@ enqueue_sendreq(ompi_osc_rdma_module_t *module,
|
|||||||
int
|
int
|
||||||
ompi_osc_rdma_module_accumulate(void *origin_addr, int origin_count,
|
ompi_osc_rdma_module_accumulate(void *origin_addr, int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target, int target_disp, int target_count,
|
int target, OPAL_PTRDIFF_TYPE target_disp,
|
||||||
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
struct ompi_op_t *op, ompi_win_t *win)
|
struct ompi_op_t *op, ompi_win_t *win)
|
||||||
{
|
{
|
||||||
@ -156,7 +159,7 @@ ompi_osc_rdma_module_get(void *origin_addr,
|
|||||||
int origin_count,
|
int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target,
|
int target,
|
||||||
int target_disp,
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
ompi_win_t *win)
|
ompi_win_t *win)
|
||||||
@ -226,7 +229,8 @@ ompi_osc_rdma_module_get(void *origin_addr,
|
|||||||
int
|
int
|
||||||
ompi_osc_rdma_module_put(void *origin_addr, int origin_count,
|
ompi_osc_rdma_module_put(void *origin_addr, int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target, int target_disp, int target_count,
|
int target, OPAL_PTRDIFF_TYPE target_disp,
|
||||||
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt, ompi_win_t *win)
|
struct ompi_datatype_t *target_dt, ompi_win_t *win)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
||||||
* reserved.
|
* reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -60,7 +61,7 @@ struct ompi_osc_rdma_send_header_t {
|
|||||||
ompi_ptr_t hdr_origin_sendreq;
|
ompi_ptr_t hdr_origin_sendreq;
|
||||||
int32_t hdr_origin_tag;
|
int32_t hdr_origin_tag;
|
||||||
|
|
||||||
int32_t hdr_target_disp;
|
uint64_t hdr_target_disp;
|
||||||
int32_t hdr_target_count;
|
int32_t hdr_target_count;
|
||||||
int32_t hdr_target_op;
|
int32_t hdr_target_op;
|
||||||
|
|
||||||
@ -74,7 +75,7 @@ typedef struct ompi_osc_rdma_send_header_t ompi_osc_rdma_send_header_t;
|
|||||||
(hdr).hdr_windx = htons((hdr).hdr_windx); \
|
(hdr).hdr_windx = htons((hdr).hdr_windx); \
|
||||||
(hdr).hdr_origin = htonl((hdr).hdr_origin); \
|
(hdr).hdr_origin = htonl((hdr).hdr_origin); \
|
||||||
(hdr).hdr_origin_tag = htonl((hdr).hdr_origin_tag); \
|
(hdr).hdr_origin_tag = htonl((hdr).hdr_origin_tag); \
|
||||||
(hdr).hdr_target_disp = htonl((hdr).hdr_target_disp); \
|
(hdr).hdr_target_disp = htonll((hdr).hdr_target_disp); \
|
||||||
(hdr).hdr_target_count = htonl((hdr).hdr_target_count); \
|
(hdr).hdr_target_count = htonl((hdr).hdr_target_count); \
|
||||||
(hdr).hdr_target_op = htonl((hdr).hdr_target_op); \
|
(hdr).hdr_target_op = htonl((hdr).hdr_target_op); \
|
||||||
(hdr).hdr_msg_length = htonl((hdr).hdr_msg_length); \
|
(hdr).hdr_msg_length = htonl((hdr).hdr_msg_length); \
|
||||||
@ -86,7 +87,7 @@ typedef struct ompi_osc_rdma_send_header_t ompi_osc_rdma_send_header_t;
|
|||||||
(hdr).hdr_windx = ntohs((hdr).hdr_windx); \
|
(hdr).hdr_windx = ntohs((hdr).hdr_windx); \
|
||||||
(hdr).hdr_origin = ntohl((hdr).hdr_origin); \
|
(hdr).hdr_origin = ntohl((hdr).hdr_origin); \
|
||||||
(hdr).hdr_origin_tag = ntohl((hdr).hdr_origin_tag); \
|
(hdr).hdr_origin_tag = ntohl((hdr).hdr_origin_tag); \
|
||||||
(hdr).hdr_target_disp = ntohl((hdr).hdr_target_disp); \
|
(hdr).hdr_target_disp = ntohll((hdr).hdr_target_disp); \
|
||||||
(hdr).hdr_target_count = ntohl((hdr).hdr_target_count); \
|
(hdr).hdr_target_count = ntohl((hdr).hdr_target_count); \
|
||||||
(hdr).hdr_target_op = ntohl((hdr).hdr_target_op); \
|
(hdr).hdr_target_op = ntohl((hdr).hdr_target_op); \
|
||||||
(hdr).hdr_msg_length = ntohl((hdr).hdr_msg_length); \
|
(hdr).hdr_msg_length = ntohl((hdr).hdr_msg_length); \
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -25,7 +26,7 @@ int
|
|||||||
ompi_osc_rdma_replyreq_alloc_init(ompi_osc_rdma_module_t *module,
|
ompi_osc_rdma_replyreq_alloc_init(ompi_osc_rdma_module_t *module,
|
||||||
int origin,
|
int origin,
|
||||||
ompi_ptr_t origin_request,
|
ompi_ptr_t origin_request,
|
||||||
int target_displacement,
|
OPAL_PTRDIFF_TYPE target_displacement,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *datatype,
|
struct ompi_datatype_t *datatype,
|
||||||
ompi_osc_rdma_replyreq_t **replyreq)
|
ompi_osc_rdma_replyreq_t **replyreq)
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
||||||
* reserved.
|
* reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -60,7 +61,7 @@ int
|
|||||||
ompi_osc_rdma_replyreq_alloc_init(ompi_osc_rdma_module_t *module,
|
ompi_osc_rdma_replyreq_alloc_init(ompi_osc_rdma_module_t *module,
|
||||||
int origin,
|
int origin,
|
||||||
ompi_ptr_t origin_request,
|
ompi_ptr_t origin_request,
|
||||||
int target_displacement,
|
OPAL_PTRDIFF_TYPE target_displacement,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *datatype,
|
struct ompi_datatype_t *datatype,
|
||||||
ompi_osc_rdma_replyreq_t **replyreq);
|
ompi_osc_rdma_replyreq_t **replyreq);
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2004-2005 The Trustees of Indiana University.
|
* Copyright (c) 2004-2005 The Trustees of Indiana University.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
@ -8,6 +7,7 @@
|
|||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -26,7 +26,8 @@ int
|
|||||||
ompi_osc_rdma_sendreq_alloc_init(ompi_osc_rdma_req_type_t req_type,
|
ompi_osc_rdma_sendreq_alloc_init(ompi_osc_rdma_req_type_t req_type,
|
||||||
void *origin_addr, int origin_count,
|
void *origin_addr, int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target, int target_disp, int target_count,
|
int target, OPAL_PTRDIFF_TYPE target_disp,
|
||||||
|
int target_count,
|
||||||
struct ompi_datatype_t *target_dt,
|
struct ompi_datatype_t *target_dt,
|
||||||
ompi_osc_rdma_module_t *module,
|
ompi_osc_rdma_module_t *module,
|
||||||
ompi_osc_rdma_sendreq_t **sendreq)
|
ompi_osc_rdma_sendreq_t **sendreq)
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
||||||
* reserved.
|
* reserved.
|
||||||
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -60,7 +61,7 @@ struct ompi_osc_rdma_sendreq_t {
|
|||||||
ompi_proc_t *req_target_proc;
|
ompi_proc_t *req_target_proc;
|
||||||
|
|
||||||
/** displacement on target */
|
/** displacement on target */
|
||||||
int req_target_disp;
|
OPAL_PTRDIFF_TYPE req_target_disp;
|
||||||
/** datatype count on target */
|
/** datatype count on target */
|
||||||
int req_target_count;
|
int req_target_count;
|
||||||
/** datatype on target */
|
/** datatype on target */
|
||||||
@ -81,7 +82,8 @@ int
|
|||||||
ompi_osc_rdma_sendreq_alloc_init(ompi_osc_rdma_req_type_t req_type,
|
ompi_osc_rdma_sendreq_alloc_init(ompi_osc_rdma_req_type_t req_type,
|
||||||
void *origin_addr, int origin_count,
|
void *origin_addr, int origin_count,
|
||||||
struct ompi_datatype_t *origin_dt,
|
struct ompi_datatype_t *origin_dt,
|
||||||
int target, int target_disp, int target_count,
|
int target, OPAL_PTRDIFF_TYPE target_disp,
|
||||||
|
int target_count,
|
||||||
struct ompi_datatype_t *target_datatype,
|
struct ompi_datatype_t *target_datatype,
|
||||||
ompi_osc_rdma_module_t *module,
|
ompi_osc_rdma_module_t *module,
|
||||||
ompi_osc_rdma_sendreq_t **sendreq);
|
ompi_osc_rdma_sendreq_t **sendreq);
|
||||||
@ -149,7 +151,7 @@ ompi_osc_rdma_sendreq_init_origin(ompi_osc_rdma_sendreq_t *sendreq,
|
|||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
ompi_osc_rdma_sendreq_init_target(ompi_osc_rdma_sendreq_t *sendreq,
|
ompi_osc_rdma_sendreq_init_target(ompi_osc_rdma_sendreq_t *sendreq,
|
||||||
int target_disp,
|
OPAL_PTRDIFF_TYPE target_disp,
|
||||||
int target_count,
|
int target_count,
|
||||||
struct ompi_datatype_t *target_datatype)
|
struct ompi_datatype_t *target_datatype)
|
||||||
{
|
{
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user