00001
00007 #ifndef CK_BI_CONFIG
00008 #define CK_BI_CONFIG
00009 #ifdef CMK_BALANCED_INJECTION_API
00010 #include <stdint.h>
00011 #include <gni_pub.h>
00012
00013 static inline uint16_t ck_get_GNI_BIConfig()
00014 {
00015 gni_bi_desc_t gni_bi_desc;
00016 uint32_t gni_device_id = 0;
00017 gni_return_t gni_rc = GNI_GetBIConfig(gni_device_id, &gni_bi_desc);
00018 if (gni_rc != GNI_RC_SUCCESS && CkMyPe() == 0) {
00019 CmiPrintf("Error, unable to retrieve BI config, rc=%d\n",gni_rc);
00020 }
00021 return(gni_bi_desc.current_bw);
00022 }
00023
00024 static inline void ck_set_GNI_BIConfig(uint16_t biValue)
00025 {
00026 uint16_t modes = GNI_BI_FLAG_APPLY_NOW;
00027 uint32_t gni_device_id = 0;
00028 uint16_t gni_rc = GNI_SetBIConfig(gni_device_id, biValue, 0, modes);
00029 if (gni_rc != GNI_RC_SUCCESS && CkMyPe() == 0) {
00030 CmiPrintf("Error, unable to set BI config, rc=%d\n",gni_rc);
00031 }
00032 }
00033
00034 #endif
00035 #endif