Match-id-3b48835d3ad59ba297c4c0d969f45cce07955e56

This commit is contained in:
BianTanggui
2022-03-29 20:02:59 +08:00
parent bf76614a71
commit fa38897610
2 changed files with 31 additions and 988 deletions

View File

@@ -35,41 +35,11 @@ package dcmi
CALL_FUNC(dcmi_get_device_num_in_card,card_id,device_num) CALL_FUNC(dcmi_get_device_num_in_card,card_id,device_num)
} }
int (*dcmi_get_device_id_in_card_func)(int card_id, int *device_id_max, int *mcu_id, int *cpu_id);
int dcmi_get_device_id_in_card(int card_id, int *device_id_max, int *mcu_id, int *cpu_id){
CALL_FUNC(dcmi_get_device_id_in_card,card_id,device_id_max,mcu_id,cpu_id)
}
int (*dcmi_get_device_logic_id_func)(int *device_logic_id, int card_id, int device_id); int (*dcmi_get_device_logic_id_func)(int *device_logic_id, int card_id, int device_id);
int dcmi_get_device_logic_id(int *device_logic_id, int card_id, int device_id){ int dcmi_get_device_logic_id(int *device_logic_id, int card_id, int device_id){
CALL_FUNC(dcmi_get_device_logic_id,device_logic_id,card_id,device_id) CALL_FUNC(dcmi_get_device_logic_id,device_logic_id,card_id,device_id)
} }
int (*dcmi_set_create_vdevice_func)(int card_id, int device_id, struct dcmi_vdev_create_info *info);
int dcmi_set_create_vdevice(int card_id, int device_id, struct dcmi_vdev_create_info *info){
CALL_FUNC(dcmi_set_create_vdevice,card_id,device_id,info)
}
int (*dcmi_set_destroy_vdevice_func)(int card_id, int device_id, unsigned int VDevid);
int dcmi_set_destroy_vdevice(int card_id, int device_id, unsigned int VDevid){
CALL_FUNC(dcmi_set_destroy_vdevice,card_id,device_id,VDevid)
}
int (*dcmi_get_vdevice_info_func)(int card_id, int device_id, struct dcmi_vdev_info *info);
int dcmi_get_vdevice_info(int card_id, int device_id, struct dcmi_vdev_info *info){
CALL_FUNC(dcmi_get_vdevice_info,card_id,device_id,info)
}
int (*dcmi_get_device_health_func)(int card_id, int device_id, unsigned int *health);
int dcmi_get_device_health(int card_id, int device_id, unsigned int *health){
CALL_FUNC(dcmi_get_device_health,card_id,device_id,health)
}
int (*dcmi_get_device_chip_info_func)(int card_id, int device_id, struct dcmi_chip_info *chip_info);
int dcmi_get_device_chip_info(int card_id, int device_id, struct dcmi_chip_info *chip_info){
CALL_FUNC(dcmi_get_device_chip_info,card_id,device_id,chip_info)
}
int (*dcmi_create_vdevice_func)(int card_id, int device_id, int vdev_id, const char *template_name, int (*dcmi_create_vdevice_func)(int card_id, int device_id, int vdev_id, const char *template_name,
struct dcmi_create_vdev_out *out); struct dcmi_create_vdev_out *out);
int dcmi_create_vdevice(int card_id, int device_id, int vdev_id, const char *template_name, int dcmi_create_vdevice(int card_id, int device_id, int vdev_id, const char *template_name,
@@ -77,6 +47,11 @@ package dcmi
CALL_FUNC(dcmi_create_vdevice,card_id,device_id,vdev_id,template_name,out) CALL_FUNC(dcmi_create_vdevice,card_id,device_id,vdev_id,template_name,out)
} }
int (*dcmi_set_destroy_vdevice_func)(int card_id, int device_id, unsigned int VDevid);
int dcmi_set_destroy_vdevice(int card_id, int device_id, unsigned int VDevid){
CALL_FUNC(dcmi_set_destroy_vdevice,card_id,device_id,VDevid)
}
// load .so files and functions // load .so files and functions
int dcmiInit_dl(void){ int dcmiInit_dl(void){
dcmiHandle = dlopen("libdcmi.so",RTLD_LAZY | RTLD_GLOBAL); dcmiHandle = dlopen("libdcmi.so",RTLD_LAZY | RTLD_GLOBAL);
@@ -91,22 +66,12 @@ package dcmi
dcmi_get_device_num_in_card_func = dlsym(dcmiHandle,"dcmi_get_device_num_in_card"); dcmi_get_device_num_in_card_func = dlsym(dcmiHandle,"dcmi_get_device_num_in_card");
dcmi_get_device_id_in_card_func = dlsym(dcmiHandle,"dcmi_get_device_id_in_card");
dcmi_get_device_logic_id_func = dlsym(dcmiHandle,"dcmi_get_device_logic_id"); dcmi_get_device_logic_id_func = dlsym(dcmiHandle,"dcmi_get_device_logic_id");
dcmi_set_create_vdevice_func = dlsym(dcmiHandle,"dcmi_set_create_vdevice"); dcmi_create_vdevice_func = dlsym(dcmiHandle,"dcmi_create_vdevice");
dcmi_set_destroy_vdevice_func = dlsym(dcmiHandle,"dcmi_set_destroy_vdevice"); dcmi_set_destroy_vdevice_func = dlsym(dcmiHandle,"dcmi_set_destroy_vdevice");
dcmi_get_vdevice_info_func = dlsym(dcmiHandle,"dcmi_get_vdevice_info");
dcmi_get_device_health_func = dlsym(dcmiHandle,"dcmi_get_device_health");
dcmi_get_device_chip_info_func = dlsym(dcmiHandle,"dcmi_get_device_chip_info");
dcmi_create_vdevice_func = dlsym(dcmiHandle,"dcmi_create_vdevice");
return SUCCESS; return SUCCESS;
} }
@@ -212,9 +177,8 @@ func getCardList() (int32, []int32, error) {
return retError, nil, errInfo return retError, nil, errInfo
} }
var cardNum = int32(cNum) var cardNum = int32(cNum)
var i int32
var cardIDList []int32 var cardIDList []int32
for i = 0; i < cardNum && i < hiAIMaxCardNum; i++ { for i := int32(0); i < cardNum && i < hiAIMaxCardNum; i++ {
cardID := int32(ids[i]) cardID := int32(ids[i])
if cardID < 0 { if cardID < 0 {
continue continue
@@ -265,7 +229,6 @@ func SetCreateVDevice(cardID, deviceID int32, coreNum string) (uint32, error) {
errInfo := fmt.Errorf("create virtual device failed, error code: %d", int32(err)) errInfo := fmt.Errorf("create virtual device failed, error code: %d", int32(err))
return uint32(math.MaxUint32), errInfo return uint32(math.MaxUint32), errInfo
} }
println("vdevId", createInfo.vdev_id)
return uint32(createInfo.vdev_id), nil return uint32(createInfo.vdev_id), nil
} }
@@ -302,7 +265,6 @@ func CreateVDevice(spec *specs.Spec) (VDeviceInfo, error) {
} }
for deviceID := int32(0); deviceID < deviceCount; deviceID++ { for deviceID := int32(0); deviceID < deviceCount; deviceID++ {
logicID, err := GetDeviceLogicID(cardID, deviceID) logicID, err := GetDeviceLogicID(cardID, deviceID)
println(cardID, deviceID, logicID, dsmiLogicID)
if err != nil { if err != nil {
return invalidVDevice, fmt.Errorf("cannot get logic id : %v", err) return invalidVDevice, fmt.Errorf("cannot get logic id : %v", err)
} }
@@ -316,7 +278,6 @@ func CreateVDevice(spec *specs.Spec) (VDeviceInfo, error) {
if err != nil || int(vdeviceID) < 0 { if err != nil || int(vdeviceID) < 0 {
return invalidVDevice, fmt.Errorf("cannot create vd or vdevice is wrong: %v %v", vdeviceID, err) return invalidVDevice, fmt.Errorf("cannot create vd or vdevice is wrong: %v %v", vdeviceID, err)
} }
fmt.Printf("%v", VDeviceInfo{CardID: targetCardID, DeviceID: targetDeviceID, VdeviceID: int32(vdeviceID)})
return VDeviceInfo{CardID: targetCardID, DeviceID: targetDeviceID, VdeviceID: int32(vdeviceID)}, nil return VDeviceInfo{CardID: targetCardID, DeviceID: targetDeviceID, VdeviceID: int32(vdeviceID)}, nil
} }

File diff suppressed because it is too large Load Diff