extern void gasnete_vis_init(void) { gasneti_assert(!gasnete_vis_isinit); gasnete_vis_isinit = 1; GASNETI_TRACE_PRINTF(C,("gasnete_vis_init()")); #define GASNETE_VIS_ENV_YN(varname, envname, enabler) do { \ if (enabler) { \ varname = gasneti_getenv_yesno_withdefault(#envname, enabler##_DEFAULT); \ } else if (!gasneti_mynode && gasneti_getenv(#envname) && gasneti_getenv_yesno_withdefault(#envname, 0)) { \ fprintf(stderr, "WARNING: %s is set in environment, but %s support is compiled out - setting ignored\n", \ #envname, #enabler); \ } \ } while (0) #if !GASNETE_USE_AMPIPELINE int gasnete_vis_use_ampipe = 0; // dummy #endif GASNETE_VIS_ENV_YN(gasnete_vis_use_ampipe,GASNET_VIS_AMPIPE, GASNETE_USE_AMPIPELINE); #if GASNETE_USE_AMPIPELINE if (gasnete_vis_use_ampipe) { #ifndef GASNETE_VIS_MAXCHUNK_DEFAULT #define GASNETE_VIS_MAXCHUNK_DEFAULT MIN(gex_AM_LUBRequestMedium(),gex_AM_LUBReplyMedium())-2*sizeof(void*) #endif #ifndef GASNETE_VIS_PUT_MAXCHUNK_DEFAULT #define GASNETE_VIS_PUT_MAXCHUNK_DEFAULT GASNETE_VIS_MAXCHUNK_DEFAULT #endif #ifndef GASNETE_VIS_GET_MAXCHUNK_DEFAULT #define GASNETE_VIS_GET_MAXCHUNK_DEFAULT GASNETE_VIS_MAXCHUNK_DEFAULT #endif int gasnete_vis_maxchunk_set = !!gasneti_getenv("GASNET_VIS_MAXCHUNK"); size_t gasnete_vis_maxchunk = GASNETE_VIS_MAXCHUNK_DEFAULT; gasnete_vis_maxchunk = gasneti_getenv_int_withdefault("GASNET_VIS_MAXCHUNK", gasnete_vis_maxchunk, 1); gasnete_vis_put_maxchunk = GASNETE_VIS_PUT_MAXCHUNK_DEFAULT; gasnete_vis_put_maxchunk = gasneti_getenv_int_withdefault("GASNET_VIS_PUT_MAXCHUNK", (gasnete_vis_maxchunk_set ? gasnete_vis_maxchunk : gasnete_vis_put_maxchunk), 1); gasnete_vis_get_maxchunk = GASNETE_VIS_GET_MAXCHUNK_DEFAULT; gasnete_vis_get_maxchunk = gasneti_getenv_int_withdefault("GASNET_VIS_GET_MAXCHUNK", (gasnete_vis_maxchunk_set ? gasnete_vis_maxchunk : gasnete_vis_get_maxchunk), 1); } else { // !gasnete_vis_use_ampipe gasnete_vis_put_maxchunk = 0; gasnete_vis_get_maxchunk = 0; } #endif #if !GASNETE_USE_REMOTECONTIG_GATHER_SCATTER int gasnete_vis_use_remotecontig = 0; // dummy #endif GASNETE_VIS_ENV_YN(gasnete_vis_use_remotecontig,GASNET_VIS_REMOTECONTIG, GASNETE_USE_REMOTECONTIG_GATHER_SCATTER); }
extern void gasnete_vis_init(void) { gasneti_assert(!gasnete_vis_isinit); gasnete_vis_isinit = 1; GASNETI_TRACE_PRINTF(C,("gasnete_vis_init()")); #define GASNETE_VIS_ENV_YN(varname, envname, enabler) do { \ if (enabler) { \ varname = gasneti_getenv_yesno_withdefault(#envname, enabler##_DEFAULT); \ } else if (!gasnet_mynode() && gasneti_getenv(#envname) && gasneti_getenv_yesno_withdefault(#envname, 0)) { \ fprintf(stderr, "WARNING: %s is set in environment, but %s support is compiled out - setting ignored", \ #envname, #enabler); \ } \ } while (0) #if GASNETE_USE_AMPIPELINE GASNETE_VIS_ENV_YN(gasnete_vis_use_ampipe,GASNET_VIS_AMPIPE, GASNETE_USE_AMPIPELINE); gasnete_vis_maxchunk = gasneti_getenv_int_withdefault("GASNET_VIS_MAXCHUNK", gasnet_AMMaxMedium()-2*sizeof(void*),1); #endif #if GASNETE_USE_REMOTECONTIG_GATHER_SCATTER GASNETE_VIS_ENV_YN(gasnete_vis_use_remotecontig,GASNET_VIS_REMOTECONTIG, GASNETE_USE_REMOTECONTIG_GATHER_SCATTER); #endif }