-- Introduce configure options for customized path to kernel header files
-- Adjust routine synmatics according to the different qsnet version. -- Remove an unnecessary reference to tcookie field in ELAN4_PRIVATESTATE This commit was SVN r2298.
Этот коммит содержится в:
родитель
05b3b8d8f0
Коммит
1aa1ebd721
@ -9,6 +9,23 @@
|
||||
#
|
||||
AC_DEFUN([MCA_CONFIGURE_STUB],[
|
||||
|
||||
AC_ARG_WITH(ptl-elan-qsnet-headers,
|
||||
AC_HELP_STRING([--with-ptl-elan-qsnet-headers=DIR],
|
||||
[The path to qsnet header files, default /usr ]))
|
||||
|
||||
EXTRA_CPPFLAGS=
|
||||
if test -n "$with_ptl_elan_qsnet_headers"; then
|
||||
EXTRA_CPPFLAGS="-I$with_ptl_elan_qsnet_headers/include/"
|
||||
else
|
||||
EXTRA_CPPFLAGS="-I/usr/include/"
|
||||
AC_MSG_WARN([*** Warning: using default qsnet header path /usr/include])
|
||||
fi
|
||||
|
||||
# See if we can find a sample kernel header
|
||||
CPPFLAGS="$EXTRA_CPPFLAGS $CPPFLAGS "
|
||||
AC_CHECK_HEADERS([qsnet/autoconf.h],,
|
||||
[AC_MSG_ERROR([*** Cannot find qsnet header files, e.g., autoconf.h])])
|
||||
|
||||
# Look for a bunch of libraries; abort if we don't have them
|
||||
PTL_ELAN_LIBS="$LIBS"
|
||||
pairs="rmscall:rms_getcap elan:elan_init elan4:elan4_init"
|
||||
@ -53,7 +70,7 @@ AC_DEFUN([MCA_CONFIGURE_STUB],[
|
||||
AC_MSG_WARN([*** Need path to qsnet2 library source; please use --with-ptl-elan-qs2netlibsrc=/path/to/qsnet2/source])
|
||||
AC_MSG_ERROR([Cannot continue])
|
||||
else
|
||||
CPPFLAGS="-I${QSNET2SRC}/include -I${QSNET2SRC}/elan4lib/include -I${QSNET2SRC}/elan4lib/elan4 -I${QSNET2SRC}/elan4lib/common"
|
||||
CPPFLAGS="$CPPFLAGS -I${QSNET2SRC}/include -I${QSNET2SRC}/elan4lib/include -I${QSNET2SRC}/elan4lib/elan4 -I${QSNET2SRC}/elan4lib/common"
|
||||
fi
|
||||
|
||||
AC_SUBST(LIBS)
|
||||
|
@ -388,7 +388,10 @@ ompi_init_elan_qdma (mca_ptl_elan_component_t * emp,
|
||||
RESETEVENT_WORD (&rxq->qr_doneWord);
|
||||
PRIMEEVENT_WORD (ctx, (EVENT *) rxq->qr_elanDone, 1);
|
||||
|
||||
rxq->qr_cmdq = elan4_alloc_cmdq (ctx, rail->r_alloc,
|
||||
rxq->qr_cmdq = elan4_alloc_cmdq (ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size1K,
|
||||
CQ_WriteEnableBit |
|
||||
CQ_WaitEventEnableBit, NULL);
|
||||
@ -424,7 +427,9 @@ ompi_init_elan_qdma (mca_ptl_elan_component_t * emp,
|
||||
OMPI_PTL_ELAN_CHECK_UNEX (queue->input, NULL, OMPI_ERROR, 0);
|
||||
|
||||
queue->tx_cmdq = elan4_alloc_cmdq (ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size8K,
|
||||
CQ_WriteEnableBit |
|
||||
CQ_DmaStartEnableBit |
|
||||
@ -495,7 +500,10 @@ ompi_init_elan_qdma (mca_ptl_elan_component_t * emp,
|
||||
RESETEVENT_WORD (&rxq->qr_doneWord);
|
||||
PRIMEEVENT_WORD (ctx, (EVENT *) rxq->qr_elanDone, 1);
|
||||
|
||||
rxq->qr_cmdq = elan4_alloc_cmdq (ctx, rail->r_alloc,
|
||||
rxq->qr_cmdq = elan4_alloc_cmdq (ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size1K,
|
||||
CQ_WriteEnableBit |
|
||||
CQ_WaitEventEnableBit, NULL);
|
||||
@ -549,10 +557,16 @@ ompi_init_elan_putget (mca_ptl_elan_component_t * emp,
|
||||
/* construct the lock variable */
|
||||
OBJ_CONSTRUCT (&putget->pg_lock, ompi_mutex_t);
|
||||
|
||||
cqp = elan4_probe_cmdq(ctx, rail->r_alloc, 0x10, CQ_AutoCtrlFlowOn);
|
||||
cqp = elan4_probe_cmdq(ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
0x10, CQ_AutoCtrlFlowOn);
|
||||
|
||||
putget->put_cmdq = elan4_alloc_cmdq(ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size8K,
|
||||
CQ_WriteEnableBit |
|
||||
CQ_DmaStartEnableBit |
|
||||
@ -561,7 +575,9 @@ ompi_init_elan_putget (mca_ptl_elan_component_t * emp,
|
||||
OMPI_PTL_ELAN_CHECK_UNEX (putget->put_cmdq, NULL, OMPI_ERROR, 0);
|
||||
|
||||
putget->get_cmdq = elan4_alloc_cmdq(ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size8K,
|
||||
CQ_WriteEnableBit |
|
||||
CQ_STENEnableBit |
|
||||
|
@ -157,8 +157,6 @@ ompi_elan_attach_network (mca_ptl_elan_state_t * ems)
|
||||
/* Allocate a cookie pool for the thread processor
|
||||
* and copy to sdram */
|
||||
rail->r_cpool = elan4_allocCookiePool (rail->r_ctx, ems->elan_vp);
|
||||
((ELAN_EPRIVSTATE *) rail->r_estate)->tcookie =
|
||||
rail->r_cpool->cp_cookie;
|
||||
}
|
||||
|
||||
loc = elan_vp2location (ems->elan_vp, ems->elan_cap);
|
||||
@ -287,7 +285,10 @@ ompi_init_elan_sleepdesc (mca_ptl_elan_state_t * ems,
|
||||
OMPI_PTL_ELAN_CHECK_UNEX (es->es_cmdBlk, 0, NULL, 0);
|
||||
|
||||
/*Allocate a pair of command queues for blocking waits with */
|
||||
es->es_cmdq = elan4_alloc_cmdq (rail->r_ctx, rail->r_alloc,
|
||||
es->es_cmdq = elan4_alloc_cmdq (rail->r_ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size1K,
|
||||
CQ_WriteEnableBit |
|
||||
CQ_WaitEventEnableBit, NULL);
|
||||
@ -296,8 +297,13 @@ ompi_init_elan_sleepdesc (mca_ptl_elan_state_t * ems,
|
||||
/* This command queue used to fire the IRQ via
|
||||
a cmd port copy event */
|
||||
es->es_ecmdq = elan4_alloc_cmdq (rail->r_ctx,
|
||||
rail->r_alloc, CQ_Size1K, /* CQ_EnableAllBits, */
|
||||
CQ_WriteEnableBit | CQ_InterruptEnableBit, NULL);
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size1K, /* CQ_EnableAllBits, */
|
||||
CQ_WriteEnableBit
|
||||
| CQ_InterruptEnableBit,
|
||||
NULL);
|
||||
OMPI_PTL_ELAN_CHECK_UNEX (es->es_ecmdq, NULL, NULL, 0);
|
||||
es->es_next = NULL;
|
||||
|
||||
@ -454,7 +460,9 @@ ompi_mca_ptl_elan_init (mca_ptl_elan_component_t * emp)
|
||||
|
||||
/* Allocate a command port for non sten functions etc */
|
||||
rail->r_cmdq = elan4_alloc_cmdq (rail->r_ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size8K,
|
||||
CQ_ModifyEnableBit |
|
||||
CQ_WriteEnableBit |
|
||||
@ -464,8 +472,12 @@ ompi_mca_ptl_elan_init (mca_ptl_elan_component_t * emp)
|
||||
OMPI_PTL_ELAN_CHECK_UNEX (rail->r_cmdq, NULL, OMPI_ERROR, 0);
|
||||
|
||||
/* Allocate a command port for thread rescheduling etc */
|
||||
rail->r_ecmdq = elan4_alloc_cmdq (rail->r_ctx, rail->r_alloc,
|
||||
CQ_Size8K, CQ_EnableAllBits,
|
||||
rail->r_ecmdq = elan4_alloc_cmdq (rail->r_ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size8K,
|
||||
CQ_EnableAllBits,
|
||||
NULL);
|
||||
OMPI_PTL_ELAN_CHECK_UNEX (rail->r_ecmdq, NULL, OMPI_ERROR, 0);
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user