云服务器内容精选

  • 简介 执行IDE-daemon-client命令后,将指定的命令发送Host侧,如果命令需要在Host侧执行,则直接执行;如果命令需要在Device侧执行,则再由Host侧连接Device,然后在Device侧执行命令,具体请参见《IDE-daemon-client命令参考》。 图1 IDE-daemon总体结构 目前IDE-daemon-client命令支持在Host侧服务器(PCIe形态)上执行,也可以在DDK所在的服务器上执行: 如果在Host侧服务器上,您可以HwHiAiUser用户登录Host侧服务器,直接执行IDE-daemon-client命令。下文以此为例。 如果安装了DDK,可以在DDK服务器上执行IDE-daemon-client命令。 DDK部署在单独的服务器上,不与Host侧服务器共用,您可以DDK安装用户登录服务器,先执行如下命令设置环境变量,再执行IDE-daemon-client命令。其中,“DDK安装目录”需根据实际情况替换。 export LD_LIBRARY_PATH=DDK安装目录/ddk/uihost/libexport PATH=$PATH:DDK安装目录/ddk/uihost/bin DDK部署在Host侧服务器上且DDK安装用户为HwHiAiUser,您可以HwHiAiUser用户登录服务器,直接执行IDE-daemon-client命令,不用设置环境变量。 如果您直接复制下文中的命令,由于PDF文档格式的限制,超过单行的命令,会自动换行,因此您需要手动将多行命令合并成一行,参数之间以空格分割。
  • 参数说明 表1 参数说明 参数名称 参数描述 是否必选 默认值 --host host_ip:指定Host侧的IP地址。 port:指定端口号。 是 port默认值为22118。 --sync source_dir:指定存放源文件的路径,包含文件名。执行IDE-daemon-client命令的用户必须对该文件路径有读写权限。 dest_dir:指定Host侧用于存放目的文件的路径(如“~/ide_daemon”或“~/ide_daemon/”,都表示将文件存放到“ide_daemon”目录下),不包含文件名。必须指定存放文件的路径,否则命令会执行失败。此处文件存放的路径只能是以下路径: ~/ide_daemon ~/HIAI_PROJE CTS ~/HIAI_DATANDMODELSET /opt/mini /var/log/hisi_logs /var/dlog 是 -
  • 参数说明 表1 参数说明 参数名称 参数描述 是否必选 默认值 --host host_ip:指定Host侧的IP地址。 port:指定端口号。 是 port默认值为22118。 --bbox params包括以下项: --all:获取所有设备上发生异常的文件列表与路径 --status:获取所有设备上发生的异常的数量。若只有一个设备,则返回示例如“{(0,3)}”,表示在设备0上有3个异常;若有多个设备,则返回示例如“{(1,3);(0,3)}”,表示在设备0上有3个异常,在设备1上有3个异常,多个设备间的信息以“;”隔开。 --latest:获取最新产生的有异常的文件列表与路径。若返回“FAILED”,则表示没有异常。 '--filter --device deviceID --except-num n':获取所有指定设备的前n个有异常的文件列表和路径,如果需要指定多个设备,则多个设备编号之前以“,”分隔。--filter --device deviceID --except-num n参数必须放在单引号或双引号中。 是 -
  • 参数说明 表1 参数说明 参数名称 参数描述 是否必选 默认值 --host host_ip:指定Host侧的IP地址。 port:指定端口号。 是 port默认值为22118。 --hostcmd 指定需要Host侧执行的命令,命令列表请参见command列表。 除date命令外,其它command命令必须放在单引号或双引号中。如果command命令中已有双引号,则将command命令放在单引号中;如果command命令中已有单引号,则将command命令放在双引号中。 是 -
  • 参数说明 表1 参数说明 参数名称 参数描述 是否必选 默认值 --host host_ip:指定Host侧的IP地址。 port:指定端口号。 是 port默认值为22118。 --api params包括以下项: device_info: 与Host连接的Device的列表 device_status: 仅支持查询开发者板的摄像头状态(0表示摄像头不存在,1摄像头存在),如返回100,则其中1表示3559芯片,后两个0表示两个摄像头不存在。 board_id: 仅支持查询开发者板的ID。 sys_version: 仅支持查询开发者板的产品版本。 是 -
  • 参数说明 表1 参数说明 参数名称 参数描述 是否必选 默认值 --host host_ip:指定Host侧的IP地址。 port:指定端口号。 是 port默认值为22118。 --get source_dir:指定Host侧源文件的路径,包含文件名。此处文件存放的路径只能是以下路径: ~/ide_daemon ~/HIAI_PROJECTS ~/HIAI_DATANDMODELSET /opt/mini /var/log/hisi_logs /var/dlog dest_dir:指定存放目的文件的路径,包含文件名。执行IDE-daemon-client命令的用户必须对该文件路径有读写权限。 是 -
  • 参数说明 表1 参数说明 参数名称 参数描述 是否必选 默认值 --host host_ip:指定Host侧的IP地址。 port:指定端口号。 是 port默认值为22118。 --device 如果Host连接了多个Device,则可以通过--device deviceID指定具体的Device。如果不指定Device,则默认指定deviceID为0的Device。 否 deviceID默认值为0。 --file source_dir:指定存放源文件的路径,包含文件名。执行IDE-daemon-client命令的用户必须对该文件路径有读写权限。 dest_dir:指定Device侧用于存放目的文件的路径,包含文件名。必须指定存放文件的路径,否则命令会执行失败。此处文件存放的路径只能是“/home/HwHiAiUser/hdcd”下的目录,在命令中只需指定相对路径,例如目的文件的路径为“/home/HwHiAiUser/hdcd/ide_daemon/B.java”,在命令中只需将file参数指定为“ide_daemon/B.java”。 是 -
  • 前提条件 已安装Mind Studio,且已提前将Mind Studio侧编译后的工程的相关文件复制到Host侧的对应目录下。 例如,Mind Studio侧的工程名是testProject,工程编译后的文件在“Mind Studio安装用户家目录/tools/projects/testProject/out”目录下,则需要将“Mind Studio安装用户家目录/tools/projects/testProject/out”目录下的文件上传到Host侧的“/home/HwHiAiUser/HIAI_PROJECTS/workspace_mind_studio/testProject/out”目录下,将可执行文件名称修改为workspace_mind_studio_工程名称(例如:workspace_mind_studio_testProject),同时,还需要执行chmod +x workspace_mind_studio_testProject命令给可执行文件加执行权限。
  • 使用示例 以Mind Studio安装用户登录Mind Studio服务器。 执行如下命令设置环境变量。 export LD_LIBRARY_PATH=~/tools/che/ddk/ddk/uihost/libexport PATH=$PATH:~/tools/che/ddk/ddk/uihost/bin 执行IDE-daemon-client命令。 此处是示例命令,需要根据实际情况修改。 --host参数后的“xx.xx.xx.xx”需要替换为实际的Host服务器的IP地址。 /home/ascend表示Mind Studio安装用户家目录,需要根据实际情况替换。 app_dir后的“/xxx/xxx”需替换为Host侧app所在路径,例如:“/home/HwHiAiUser/HIAI_PROJECTS/workspace_mind_studio/testProject/out”。 app需要替换为app_dir指定目录下的应用程序名,例如:workspace_mind_studio_testProject。 result_dir后的路径需替换为Host服务器上已存在的路径。执行命令后,您可以在result_dir指定的目录下查看采集结果。 IDE-daemon-client --host xx.xx.xx.xx:22118 --profile "{\"ddk_dir\": \"/home/ascend/tools/che/ddk/ddk\",\"app\": \"workspace_mind_studio_testProject\",\"app_dir\": \"/home/HwHiAiUser/HIAI_PROJECTS/workspace_mind_studio/testProject/out\", \"umode\": \"MIND\",\"result_dir\": \"/home/ascend/tools/projects/test_ycm\",\"peripheral_profiling\": \"\",\"ts_cpu_profiling\": \"off\",\"ai_cpu_profiling\": \"off\",\"rts_profiling\": \"on\",\"ai_core_profiling_mode\": \"\",\"ai_core_profiling\": \"off\",\"hiai_engine_profiling\": \"off\",\"framework_profiling\": \"off\",\"ctrl_cpu_profiling\": \"off\",\"profiling_mode\": \"online\",\"llc_profiling\": \"off\",\"ddr_profiling\": \"on\",\"deviceid\": \"0\", \"ddr_profiling_events\": \"read,write\", \"hiai_engine_profiling\": \"on\", \"analysis_target\": \"Launch Application\"}" 关于各采集项的含义请参见《Ascend 310 Mind Studio开发辅助工具》中的“Profiling”章节。
  • 参数说明 表1 参数说明 参数名称 参数描述 是否必选 默认值 --host host_ip:指定Host侧的IP地址。 port:指定端口号。 是 port默认值为22118。 --device 如果Host连接了多个Device,则可以通过--device deviceID指定具体的Device。如果不指定Device,则默认指定deviceID为0的Device。 否 deviceID默认值为0。 --cmd 指定需要Device侧执行的命令,命令列表请参见command列表。 除date命令外,其它command命令必须放在单引号或双引号中。如果command命令中已有双引号,则将command命令放在单引号中;如果command命令中已有单引号,则将command命令放在双引号中。 是 -
  • 使用示例 以HwHiAiUser用户登录Host侧服务器。 执行命令,设置Host侧和Device侧的日志级别。 IDE-daemon-client --host xx.xx.xx.xx:22118 --log 'SetLogLevel(0)[error]'IDE-daemon-client --host xx.xx.xx.xx:22118 --log 'SetLogLevel(1)[S LOG :error]'IDE-daemon-client --host xx.xx.xx.xx:22118 --log 'SetLogLevel(2)[enable]' xx.xx.xx.xx需要替换为实际的Host的IP地址。 moduleName通过枚举形式定义,包括如下值: enum { DLOG = 0, // Dlog SLOG, // Slog IDEDD, // IDE daemon device IDEDH, // IDE daemon host LOGAGTH, // log agent host HCCL, // HCCL FMK, // Framework HIAIENGINE, // Matrix DVPP, // DVPP RUNTIME, // Runtime CCE, // CCE #if (OS_TYPE == LINUX) HDC, // HDC #else HDCL, // HDCL windows has a def with the same name HDC, so change HDC to HDCL #endif DRV, // Driver MDCCONTROL, // Mdc control MDCFUSION, // Mdc fusion MDCLOCATION, // Mdc location MDCPERCEPTION, // Mdc perception MDCMOP, MDCFSM, MDCCOMMON, MDCMONITOR, MDCBSWP, // MDC basesoftware platform MDCDEFAULT, // MDC UNDEFINE MD CS C, // MDC spatial cognition MDCBP, MDCTF, MLL, DEVMM, // Dlog memory managent KERNEL, // Kernel MDCSMCMD, // sm_control_cmd MDCSCREEN, // parking_spot_screen LIBMEDIA, // Libmedia CCECPU, // ai cpu ASCENDDK, // AscendDK ROS, // ROS HCCP, RoCE, TEFUSION, PROFILING, // Profiling DP, // Data Preprocess APP, // User Application call HIAI_ENGINE_LOG INVLID_MOUDLE_ID };
  • 函数声明 算子编译函数的声明如下所示: Status BuildTeBinxx(const ge::Operator& op, TEBinInfo& te_bin_info) 其中: BuildTeBinxx:函数名称,用户自定义,需要保持唯一。 op:目标算子模型,适配昇腾AI处理器的离线模型的算子数据结构,保存算子信息,Operator类的详细描述请参见《GE API参考》中的“Operator类接口”。 te_bin_info:存储自定义算子二进制文件路径、算子描述文件路径以及DDK的版本信息。TEBinInfo结构体的详细描述请参见《Framework API参考》中的“TEBinBuildFn函数”。
  • 参数说明 表1 参数说明 参数名称 参数描述 是否必选 默认值 --host host_ip:指定Host侧的IP地址。 port:指定端口号。 是 port默认值为22118。 --device 如果Host连接了多个Device,则可以通过--device deviceID指定具体的Device。如果不指定Device,则默认指定deviceID为0的Device。 否 deviceID默认值为0。 --log params包括以下项: SetLogLevel 设置全局日志级别,0表示全局级日志级别,1表示模块级日志级别,2表示event日志级别(在设置event日志级别时,“enable”表示开启event日志级别,“disable”表示不开启event日志级别)。 SetLogLevel[moduleName:level] 设置指定模块日志级别 level:error, info, warning, debug, null(表示不打印日志) moduleName: 模块名称 是 -
  • 配置环境变量 以DDK安装用户ascend登录DDK所在服务器。 设置环境变量。 若为Atlas 200 DK开发者板环境,在终端窗口执行如下命令设置环境变量。 export DDK_HOME=$HOME/tools/che/ddk/ddkexport LD_LIBRARY_PATH=$DDK_HOME/uihost/lib/export PYTHONPATH=$DDK_HOME/site-packages/te-0.4.0.egg:$DDK_HOME/site-packages/topi-0.4.0.eggexport PATH=$PATH:$DDK_HOME/toolchains/ccec-linux/binexport TVM_AICPU_LIBRARY_PATH=$DDK_HOME/uihost/lib/:$DDK_HOME/uihost/toolchains/ccec-linux/aicpu_libexport TVM_AICPU_INCLUDE_PATH=$DDK_HOME/include/inc/tensor_engineexport TVM_AICPU_OS_SYSROOT=/usr/lib/aarch64-linux-gnu 若为ASIC环境,在终端窗口执行如下命令设置环境变量。 export DDK_HOME=$HOME/tools/che/ddk/ddkexport LD_LIBRARY_PATH=$DDK_HOME/uihost/lib/export PYTHONPATH=$DDK_HOME/site-packages/te-0.4.0.egg:$DDK_HOME/site-packages/topi-0.4.0.eggexport PATH=$PATH:$DDK_HOME/toolchains/ccec-linux/binexport TVM_AICPU_LIBRARY_PATH=$DDK_HOME/uihost/lib/:$DDK_HOME/uihost/toolchains/ccec-linux/aicpu_libexport TVM_AICPU_INCLUDE_PATH=$DDK_HOME/include/inc/tensor_engineexport TVM_AICPU_OS_SYSROOT=$DDK_HOME/uihost/toolchains/aarch64-linux-gcc6.3/sysroot DDK_HOME的路径需要修改为实际的DDK安装路径。 用户可自行将设置环境变量的命令写入自定义脚本,方便后续执行。
  • 输出张量与输入张量形状相同的算子 对于输出张量与输入张量形状相同的算子,可以直接将输入张量的描述插入输出张量描述所在的向量空间中。 代码示例如下所示: v_output_desc.push_back(op.GetInputDesc(0)); 其中GetInputDesc是Operator类中根据算子Input名称或者Input索引获取输入张量描述的接口,详细的接口介绍请参见《GE API参考》中的“Operator类接口”。