1. 版本申明¶
版本 | 修改内容 | 修改时间 |
---|---|---|
v1.0 | 初始版本,新增使用方法 | 8/12/2022 |
v1.1 | 更新go版本 | 1/23/2024 |
v1.2 | 更新一些格式与内容 | 4/8/2024 |
v1.3 | 更新一些格式 | 4/9/2024 |
2. 简介¶
go-eflib 是基于Enflame Management Library (EFML) 的golang开发库,经过对efml的二次封装提供GCU设备管理golang API,从而给开发者用户提供了enflame GCU 的设备管理golang接口。
3. 使用配置¶
3.1. go.mod配置¶
将 go-eflib
添加到 golang项目的 go.mod
文件里, 例如:
module modulename
go 1.18
require (
go-eflib v1.0.0
)
3.2. vendor配置¶
先将go-eflib
整个目录复制到golang项目的vendor目录下,例如:
# ls vendor/
github.com go-eflib golang.org google.golang.org gopkg.in k8s.io modules.txt
同时将 go-eflib
添加到 vendor/modules.txt
里, 例如:
# go-eflib v1.0.0
## explicit
go-eflib
go-eflib/efml
3.3. import导入¶
编写代码时需要将go-eflib导入文件内,例如:
package metrics
import (
"strconv"
"go-eflib"
"go-eflib/efml"
)
如果添加了 go-eflib/efml
但是 文件里没用上,会出现类似以下的error信息:
imported and not used: "go-eflib/efml"
那么就在import里删除 go-eflib/efml
这一行。
3.4. 代码示例¶
参考 目录下的 samples/metrics.go
。
4. 常见问题¶
1)libefml.so版本兼容问题
默认采用主机上的libefml.so,因此需要保证主机上已安装libefml.so。如果是ARM平台 存在 libefml-arm.so。
建议执行 ln -sf /usr/lib/libefml-arm.so /usr/lib/libefml.so
保证 /usr/lib/libefml.so 库名称可兼容。
2)是否提供API介绍说明
推荐直接看代码以及编程samples示例。