1
1
* Need to subtract 1 off the size so that we stay in the bit length requirements

This commit was SVN r28997.
Этот коммит содержится в:
Brian Barrett 2013-08-05 18:49:48 +00:00
родитель 354f407fae
Коммит 2cc947513b
6 изменённых файлов: 10 добавлений и 10 удалений

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

@ -426,7 +426,7 @@ mca_btl_portals4_finalize(struct mca_btl_base_module_t *btl)
#if OMPI_PORTALS4_MAX_MD_SIZE < OMPI_PORTALS4_MAX_VA_SIZE
if (NULL != mca_btl_portals4_module.send_md_hs) {
int i;
int num_mds = mca_btl_portals4_module_get_num_mds();
int num_mds = mca_btl_portals4_get_num_mds();
for (i = 0 ; i < num_mds ; ++i) {
if (!PtlHandleIsEqual(mca_btl_portals4_module.send_md_hs[i], PTL_INVALID_HANDLE)) {

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

@ -173,7 +173,7 @@ ompi_btl_portals4_get_md(const void *ptr, ptl_handle_md_t *md_h, void **base_ptr
#if OMPI_PORTALS4_MAX_MD_SIZE < OMPI_PORTALS4_MAX_VA_SIZE
int mask = (1ULL << (OMPI_PORTALS4_MAX_VA_SIZE - OMPI_PORTALS4_MAX_MD_SIZE + 1)) - 1;
int which = (((uintptr_t) ptr) >> (OMPI_PORTALS4_MAX_MD_SIZE - 1)) & mask;
*md_h = ompi_btl_portals4.send_md_hs[which];
*md_h = mca_btl_portals4_module.send_md_hs[which];
*base_ptr = (void*) (which * (1ULL << (OMPI_PORTALS4_MAX_MD_SIZE - 1)));
#else
*md_h = mca_btl_portals4_module.send_md_h;
@ -183,7 +183,7 @@ ompi_btl_portals4_get_md(const void *ptr, ptl_handle_md_t *md_h, void **base_ptr
static inline int
ompi_btl_portals4_get_num_mds(void)
mca_btl_portals4_get_num_mds(void)
{
#if OMPI_PORTALS4_MAX_MD_SIZE < OMPI_PORTALS4_MAX_VA_SIZE
return (1 << (OMPI_PORTALS4_MAX_VA_SIZE - OMPI_PORTALS4_MAX_MD_SIZE + 1));

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

@ -418,8 +418,8 @@ static mca_btl_base_module_t** mca_btl_portals4_component_init(int *num_btls,
#if OMPI_PORTALS4_MAX_MD_SIZE < OMPI_PORTALS4_MAX_VA_SIZE
{
int i;
int num_mds = ompi_btl_portals4_get_num_mds();
ptl_size_t size = 1ULL << OMPI_PORTALS4_MAX_MD_SIZE;
int num_mds = mca_btl_portals4_get_num_mds();
ptl_size_t size = (1ULL << OMPI_PORTALS4_MAX_MD_SIZE) - 1;
ptl_size_t offset_unit = (1ULL << OMPI_PORTALS4_MAX_MD_SIZE) / 2;
mca_btl_portals4_module.send_md_hs = malloc(sizeof(ptl_handle_md_t) * num_mds);
@ -439,7 +439,7 @@ static mca_btl_base_module_t** mca_btl_portals4_component_init(int *num_btls,
md.start = (char*) (offset_unit * i);
md.length = (i - 1 == num_mds) ? size / 2 : size;
md.options = 0;
md.eq_handle = mca_btl_portals4_module.send_eq_h;
md.eq_handle = mca_btl_portals4_module.recv_eq_h;
md.ct_handle = PTL_CT_NONE;
opal_output_verbose(50, ompi_btl_base_framework.framework_output,

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

@ -50,7 +50,7 @@ static void
mca_btl_portals4_frag_eager_destructor(mca_btl_portals4_frag_t* frag)
{
if (PTL_INVALID_HANDLE == frag->me_h) {
/* PtlMDUnlink(frag->me_h); */
PtlMDRelease(frag->me_h);
frag->me_h = PTL_INVALID_HANDLE;
}
}

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

@ -307,8 +307,8 @@ portals4_init_query(bool enable_progress_threads,
{
int i;
int num_mds = ompi_coll_portals4_get_num_mds();
ptl_size_t size = OMPI_PORTALS4_MAX_MD_SIZE;
ptl_size_t offset_unit = OMPI_PORTALS4_MAX_MD_SIZE / 2;
ptl_size_t size = (1ULL << OMPI_PORTALS4_MAX_MD_SIZE) - 1;
ptl_size_t offset_unit = (1ULL << OMPI_PORTALS4_MAX_MD_SIZE) / 2;
mca_coll_portals4_component.md_hs = malloc(sizeof(ptl_handle_md_t) * num_mds);
if (NULL == mca_coll_portals4_component.md_hs) {

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

@ -351,7 +351,7 @@ ompi_mtl_portals4_component_init(bool enable_progress_threads,
{
int i;
int num_mds = ompi_mtl_portals4_get_num_mds();
ptl_size_t size = 1ULL << OMPI_PORTALS4_MAX_MD_SIZE;
ptl_size_t size = (1ULL << OMPI_PORTALS4_MAX_MD_SIZE) - 1;
ptl_size_t offset_unit = (1ULL << OMPI_PORTALS4_MAX_MD_SIZE) / 2;
ompi_mtl_portals4.send_md_hs = malloc(sizeof(ptl_handle_md_t) * num_mds);