-- Done with a preliminary bw test.
This commit was SVN r2588.
Этот коммит содержится в:
родитель
dd585a9ea1
Коммит
63854f1dbd
@ -113,6 +113,8 @@ mca_ptl_elan_alloc_desc (struct mca_ptl_base_module_t *ptl_ptr,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
LOG_PRINT(PTL_ELAN_DEBUG_SEND, "flist %p length %d type %d\n",
|
||||
flist, flist->super.ompi_list_length, desc_type);
|
||||
if (ompi_using_threads ()) {
|
||||
ompi_mutex_lock(&flist->fl_lock);
|
||||
item = ompi_list_remove_first (&((flist)->super));
|
||||
@ -137,6 +139,8 @@ mca_ptl_elan_alloc_desc (struct mca_ptl_base_module_t *ptl_ptr,
|
||||
desc = (mca_ptl_elan_send_frag_t *) item;
|
||||
desc->desc->req = req;
|
||||
desc->desc->desc_type = desc_type;
|
||||
LOG_PRINT(PTL_ELAN_DEBUG_SEND, "Got frag %p desc %d type %d\n",
|
||||
desc, desc->desc, desc_type);
|
||||
END_FUNC(PTL_ELAN_DEBUG_SEND);
|
||||
return desc;
|
||||
}
|
||||
@ -178,8 +182,8 @@ mca_ptl_elan_send_desc_done (
|
||||
}
|
||||
|
||||
LOG_PRINT(PTL_ELAN_DEBUG_SEND,
|
||||
"req %p done frag %p desc_status %d desc_type %d length %d\n",
|
||||
req, frag, frag->desc->desc_status,
|
||||
"req %p done frag %p desc %p desc_type %d length %d\n",
|
||||
req, frag, frag->desc,
|
||||
frag->desc->desc_type,
|
||||
header->hdr_frag.hdr_frag_length);
|
||||
|
||||
@ -197,6 +201,9 @@ mca_ptl_elan_send_desc_done (
|
||||
header->hdr_frag.hdr_frag_length);
|
||||
}
|
||||
|
||||
LOG_PRINT(PTL_ELAN_DEBUG_SEND, "return frag %p desc %p type %d\n",
|
||||
frag, frag->desc, frag->desc->desc_type);
|
||||
|
||||
/* Return a frag or if not cached, or it is a follow up */
|
||||
if ( /*(header->hdr_frag.hdr_frag_offset != 0) || */
|
||||
(frag->desc->desc_status != MCA_PTL_ELAN_DESC_CACHED)){
|
||||
|
@ -1191,7 +1191,6 @@ ptl_elan_send_comp:
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
/* FIXME: Support Completion Queue with Get */
|
||||
if (header->hdr_common.hdr_type == MCA_PTL_HDR_TYPE_ACK
|
||||
|| header->hdr_common.hdr_type == MCA_PTL_HDR_TYPE_FIN_ACK) {
|
||||
frag = ((mca_ptl_elan_ack_header_t*)header)->frag;
|
||||
@ -1201,6 +1200,8 @@ ptl_elan_send_comp:
|
||||
}
|
||||
basic = (ompi_ptl_elan_base_desc_t*)frag->desc;
|
||||
|
||||
LOG_PRINT(PTL_ELAN_DEBUG_SEND, "frag %p desc %p \n", frag, basic);
|
||||
|
||||
/* XXX: please reset additional chained event for put/get desc */
|
||||
mca_ptl_elan_send_desc_done (frag,
|
||||
(mca_pml_base_send_request_t *) basic->req);
|
||||
@ -1257,6 +1258,8 @@ ptl_elan_send_comp:
|
||||
ompi_list_remove_first (&ptl->send_frags);
|
||||
basic = (ompi_ptl_elan_base_desc_t*)frag->desc;
|
||||
|
||||
LOG_PRINT(PTL_ELAN_DEBUG_SEND, "frag %p desc %p \n", frag, basic);
|
||||
|
||||
mca_ptl_elan_send_desc_done (frag,
|
||||
(mca_pml_base_send_request_t *) basic->req);
|
||||
INITEVENT_WORD (ctx, basic->elan_event, &basic->main_doneWord);
|
||||
|
@ -53,6 +53,7 @@
|
||||
#define PTL_ELAN_DEBUG_CHAIN (0x800)
|
||||
|
||||
#define PTL_ELAN_DEBUG_FLAG (PTL_ELAN_DEBUG_NONE)
|
||||
//(PTL_ELAN_DEBUG_GET|PTL_ELAN_DEBUG_PUT|PTL_ELAN_DEBUG_RECV)
|
||||
|
||||
#define START_FUNC(flag) \
|
||||
do { \
|
||||
@ -99,7 +100,7 @@ do { \
|
||||
|
||||
/* XXX: Potentially configurable parameters */
|
||||
#define OMPI_PTL_ELAN_NUM_QDESCS (4)
|
||||
#define OMPI_PTL_ELAN_NUM_PUTGET (2)
|
||||
#define OMPI_PTL_ELAN_NUM_PUTGET (8)
|
||||
#define OMPI_PTL_ELAN_ZERO_FFRAG (0)
|
||||
|
||||
#define OMPI_PTL_ELAN_ENABLE_GET (0)
|
||||
|
@ -12,7 +12,7 @@ AM_CPPFLAGS = -I$(top_ompi_builddir)/src/include \
|
||||
|
||||
LDFLAGS += -L$(prefix)/lib -L../src/.libs
|
||||
|
||||
EXECS = qsnet_init qsnet_qdma qsnet_rdma mpitest lat check init_elan bw
|
||||
EXECS = qsnet_init qsnet_qdma qsnet_rdma mpitest lat check init_elan bw check_bw
|
||||
|
||||
units: $(EXECS)
|
||||
|
||||
|
@ -30,15 +30,15 @@ main (int argc,
|
||||
/* Get some environmental variables set for Open MPI, OOB */
|
||||
env_init_for_elan();
|
||||
|
||||
MPI_Init (&argc, &argv);
|
||||
MPI_Comm_size (MPI_COMM_WORLD, &numprocs);
|
||||
MPI_Comm_rank (MPI_COMM_WORLD, &myid);
|
||||
|
||||
if (argc < 5) {
|
||||
if (argc < 3) {
|
||||
fprintf (stderr, "Usage: %s loop size \n", argv[0]);
|
||||
MPI_Finalize ();
|
||||
return 0;
|
||||
}
|
||||
MPI_Init (&argc, &argv);
|
||||
MPI_Comm_size (MPI_COMM_WORLD, &numprocs);
|
||||
MPI_Comm_rank (MPI_COMM_WORLD, &myid);
|
||||
|
||||
size = atoi (argv[2]);
|
||||
loop= atoi (argv[1]);
|
||||
page_size = getpagesize ();
|
||||
@ -58,14 +58,13 @@ main (int argc,
|
||||
request + j);
|
||||
}
|
||||
MPI_Waitall (loop, request, tmp_stat);
|
||||
MPI_Recv (r_buf, 4, MPI_CHAR, 1, 101, MPI_COMM_WORLD, &tmp_stat[0]);
|
||||
} else {
|
||||
for (j = 0; j < loop; j++) {
|
||||
MPI_Irecv (r_buf, size, MPI_CHAR, 0, 100, MPI_COMM_WORLD,
|
||||
request + j);
|
||||
/*MPI_Wait(request, tmp_stat);*/
|
||||
}
|
||||
MPI_Waitall (loop, request, tmp_stat);
|
||||
MPI_Send (s_buf, 4, MPI_CHAR, 0, 101, MPI_COMM_WORLD);
|
||||
}
|
||||
|
||||
if (myid == 0) {
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user