-
产品名称:MDC 610软件版本:MDC 610 1.1.027-T000问题现象(问题描述):1)产品文档:“修改“/opt/platform/mdc_platform/runtime_service/smc/etc/MANIFEST.json”文件中“shall_run_ons”的值为空。”,但并没有对应文件,如下图所示。2)当我执行 “执行“/opt/platform/mdc_platform/script/start.sh”脚本,启动平台服务。”,未能获得和产品文档相同的结果。
-
软件版本:MDC 610 1.1.027-T000产品文档中,摄像头的数据面时间同步方式描述为“Camera Hub接收到数据时为其打上数据面时间戳”,请问camera hub是MDC的哪个部分?目前需要为支持列表外的摄像头进行时间同步,在完成传感器抽象开发,可以获取到图像数据后,camera hub能否自动为获取到的图像数据打上时间戳?还是需要做额外的配置?
-
软件版本:MDC 610 1.1.027-T000组合定位作为时间源,与MDC间通过PPS+GPRMC进行时间同步。在接入PPS和数据线缆,完成GNSS时间同步开发,并验证读取PPS信号正常后,请问如何验证时间同步是否成功?是通过产品文档中的“查看管理面时间同步状态”吗?
-
MDC_Sample-2.1.003-T0000000 有没有用户指南?!!! 类似上图(https://bbs.huaweicloud.com/forum/thread-159187-1-1.html 提问展示的图片)。
-
平台版本:MDC 610 1.1.027问题:在mdc平台通过自主开发的激光雷达抽象解析雷达UDP包中的时间戳信息,打印结果紊乱,出现时间戳跳变、回跳等现象。已采取措施:已确认雷达的同步方式设置为:PTP-GPTP;在mdc端物理网卡上抓包雷达数据,已确认存在时间同步报文;手动解析过mdc端上采集的pcap包中的时间戳信息,时间戳紊乱;设置雷达非GPTP同步,采用雷达自身时间,时间戳打印正常;Linux上位机采取gptp方式和雷达进行时间同步,同步成功且时间戳正常;初步问题定位:我怀疑是mdc和雷达虽然进行了时间同步报文交互,但是实际上同步失败了,因为雷达数据包中有“同步状态”的字段显示未同步成功;但是linux上位机同步时,该字段显示同步成功。请问这个问题该怎么解决?
-
平台版本:MDC 610 1.1.027我们遇到了一个问题就是:把雷达接入到MTB 310的网口6(eth0.15)上(端口速率已配对),然后在mdc上用wireshark录的pcap包和用wireshark直连雷达抓包的数据状态差别很大。这是wireshark抓包直连雷达:就是能看到数据是周期稳定在225个包和215个包之间的(这是数据正常的状态)。但是下边是在mdc上通过命令:tcpdump -i eth0.15 -nv -w lidar.pcap 进行抓取的情况可以看到,雷达的UDP数据进来之后,十分不稳定,甚至丢包,且上述录包的时候,也已经通过 sudo sysctl -w net.core.rmem_max=33554432 将设备的最大接收缓存区提升到了32768KB(32MB),按理来说这对接收雷达数据完全足够。问题:请问造成MDC雷达UDP数据收数不稳的原因是什么?另外,还有一个问题就是,当我解析这个雷达数据的时间戳信息的时候,终端打印出来会有“时间戳回跳”的现象,就像接收进来的包顺序乱了一样:处理代码应该没问题,因为同样的解析时间戳代码在其他款雷达上也解析过,打印是正常的。然后,我还是分别测试了如下测试:在mdc上抓包,然后解析包中时间戳信息:在PC直连雷达,抓包解析包中时间戳信息:可以看到mdc上抓到的数据包从数据上就是有问题的,时间戳回跳频繁,虽然直连雷达也会有丢包(属于正常现象),但时间戳信息是没有乱的。请问:上面两个问题,都是刚进入mdc的雷达数据就发生了问题,包括这个时间戳紊乱,请问这是什么问题?是什么地方的设置没有设置正确吗?
-
6个1080p30帧的摄像头,要进行环视拼接,因为平台不支持opencl,想问下用什么方案合适?cpu+npu?具体开发流程是怎样的?需不需要pc端的拼接软件等(只需关注拼接方面,采集等已正常)ps:mdc版本是1.1.027,系统Linux AOS 5.10.0-1.h1.AOS3.2.aarch64
-
我们在评估双 SoC 协作性能。目前测试发现, A/B 面间传输数据耗时过高,存在性能瓶颈。请问:是否存在共享内存机制,将 B 面的物理内存映射到 A 面的地址空间?MDC 平台是否提供了针对大块连续内存数据的专用跨片通信接口?MDC 510 内部两颗 SoC 之间的物理链路带宽理论峰值是多少?
-
产品名称:MDC610软件版本:MDC_Development_Studio-2.2.001-0000000-Ubuntu20| MDC_Manifest_Configurator-2.2.001-0000000-Ubuntu20问题: 对MDC610进行升级,从026版本升级到027版本,报如下错误,请问是啥原因呢
-
软件版本:MDC 610 1.1.027-T000目前需要为MDC610和非支持列表内的激光雷达配置时间同步,同步方式为gPTP,请问如何启动MDC侧的gptp master功能,需要做什么配置?是通过liunxptp工具吗?官方文档连接速腾M1时使用 python3 ./net_config_tool.py -M master_slave_set -m master -p 4 配置主从关系,相同的方法可以用于配置非支持的激光雷达吗?
-
华为MDC510pro上编写ACL代码加载om模型,设置动态维度时报错设置输入与动态维度的代码Result ModelProcess::CreateInput(std::map<std::string, void*> inputDataBuffer, std::map<std::string, size_t> bufferSize, aclmdlIODims& inputDims) { input_ = aclmdlCreateDataset(); if (input_ == nullptr) { ERROR_LOG("can't create dataset, create input failed"); return FAILED; } aclError ret = ACL_SUCCESS; size_t inputSize = aclmdlGetNumInputs(modelDesc_); for (size_t i = 0; i < inputSize; ++i) { // aclmdlGetInputIndexByName;aclmdlGetInputSizeByIndex const char* pName = aclmdlGetInputNameByIndex(modelDesc_, i); std::string inName(pName); std::cout << "[DEBUG] " << "input_ " << i << " : " << inName << " : " << bufferSize[inName] << std::endl; void* inputDeviceData = nullptr; size_t inputBufferSize = aclmdlGetInputSizeByIndex(modelDesc_, i); ret = aclrtMalloc(&inputDeviceData, inputBufferSize, ACL_MEM_MALLOC_NORMAL_ONLY); if (ret != ACL_SUCCESS) { ERROR_LOG("can't malloc buffer, size is %zu, create input failed", bufferSize[inName]); return FAILED; } if (i != inputSize - 1) { ret = aclrtMemcpy(inputDeviceData, inputBufferSize, inputDataBuffer[inName], bufferSize[inName], ACL_MEMCPY_HOST_TO_DEVICE); if (ret != ACL_SUCCESS) { ERROR_LOG("can't memcpy buffer, size is %zu, create input failed", bufferSize[inName]); return FAILED; } } aclDataBuffer* inputData = aclCreateDataBuffer(inputDeviceData, bufferSize[inName]); if (inputData == nullptr) { ERROR_LOG("can't create data buffer, create input failed"); return FAILED; } ret = aclmdlAddDatasetBuffer(input_, inputData); if (ret != SUCCESS) { ERROR_LOG( "add dataset buffer failed, i: %ld, error code: %d, input name: %s", i, ret, pName); } if (inputData == nullptr) { ERROR_LOG("can't add data buffer, create input failed"); aclDestroyDataBuffer(inputData); inputData = nullptr; return FAILED; } } // 设置动态维度 // inputDims.dims[26] += 1; std::stringstream ss; for (int i = 0; i < inputDims.dimCount; ++i) { ss << inputDims.dims[i] << " "; } INFO_LOG("set dynamic shape for input %s, count : %ld :\n%s", inputDims.name, inputDims.dimCount, ss.str().c_str()); size_t idx = -1; ret = aclmdlGetInputIndexByName(modelDesc_, ACL_DYNAMIC_TENSOR_NAME, &idx); if (ret != ACL_SUCCESS) { ERROR_LOG("get dynamic input failed: %d", ret); } ret = aclmdlSetInputDynamicDims(modelId_, input_, idx, &inputDims); if (ret != ACL_SUCCESS) { ERROR_LOG("set dynamic shape for inputs %ld failed, error code: %d", idx, ret); } // 查询动态档位信息 size_t gearCount; ret = aclmdlGetInputDynamicGearCount(modelDesc_, -1, &gearCount); if (ret != ACL_SUCCESS) { ERROR_LOG("get dynamic dim failed: %d", ret); return FAILED; } printf("模型支持的动态档位数量:%ld\n", gearCount); vector<aclmdlIODims> dimsList(gearCount); ret = aclmdlGetInputDynamicDims(modelDesc_, -1, dimsList.data(), gearCount); if (ret != ACL_SUCCESS) { ERROR_LOG("get dynamic dims failed: %d", ret); } for (size_t i = 0; i < gearCount; ++i) { aclmdlIODims dims = dimsList[i]; for (size_t j = 0; j < dims.dimCount; ++j) { printf("%ld ", dims.dims[j]); } printf("\n"); } return SUCCESS;}从下方程序运行日志可见,设置的动态维度为”742 35 3 35 35 3 742 1 742 742 35 35 35 35 30 30 10 4 300 300 4 350 300 3 300 300 3“,且模型支持此动态维度。可是为什么 aclmdlSetInputDynamicDims 时会出错?[IAM][WARN][ClientSystemFops.cpp:136] Cannot find libc.so.[INFO] src/sample_process.cpp:356 acl init success[INFO] src/sample_process.cpp:364 open device 0 success[INFO] src/sample_process.cpp:372 create context success[INFO] src/sample_process.cpp:380 create stream success[INFO] src/main.cpp:42 data_path: data.pb, encoder_model_path: encoder_tmp.om, decoder_model_path: ./decoder.om# 模型输入数据格式如下:[INFO] src/deserialize.cpp:104 r_pt2pl: 742 35 3[INFO] src/deserialize.cpp:106 r_pl2pl: 35 35 3[INFO] src/deserialize.cpp:107 x_pt: 742 1[INFO] src/deserialize.cpp:108 type_pt: 742[INFO] src/deserialize.cpp:109 side_pt: 742[INFO] src/deserialize.cpp:110 type_pl: 35[INFO] src/deserialize.cpp:111 is_intersect_pl: 35[INFO] src/deserialize.cpp:113 type_pl2pl: 35 35[INFO] src/deserialize.cpp:114 agent_type: 30[INFO] src/deserialize.cpp:116 x_a: 30 10 4[INFO] src/deserialize.cpp:118 r_t: 300 300 4[INFO] src/deserialize.cpp:120 r_pl2a: 350 300 3[INFO] src/deserialize.cpp:122 r_a2a: 300 300 3[INFO] src/deserialize.cpp:127 r_t2m: 30 6 10 4[INFO] src/deserialize.cpp:129 mask_t2m: 30 6 10[INFO] src/deserialize.cpp:131 r_pl2m: 180 35 3[INFO] src/deserialize.cpp:132 mask_pl2m: 180 35[INFO] src/deserialize.cpp:134 r_a2m: 180 30 3[INFO] src/deserialize.cpp:135 mask_a2m: 180 30[INFO] src/deserialize.cpp:137 x_t: 30 10 128[INFO] src/deserialize.cpp:138 x_pl: 35[INFO] src/deserialize.cpp:139 x_a: 30 128[INFO] src/model_process.cpp:53 load model encoder_tmp.om success[INFO] src/model_process.cpp:70 create model description success[INFO] src/model_process.cpp:243 create model output success# 输入的字节数如下[DEBUG] input_ 0 : r_pt2pl : 311640[DEBUG] input_ 1 : r_pl2pl : 14700[DEBUG] input_ 2 : x_pt : 2968[DEBUG] input_ 3 : type_pt : 5936[DEBUG] input_ 4 : side_pt : 5936[DEBUG] input_ 5 : type_pl : 280[DEBUG] input_ 6 : is_intersect_pl : 280[DEBUG] input_ 7 : type_pl2pl : 1225[DEBUG] input_ 8 : agent_type : 30[DEBUG] input_ 9 : x_a : 4800[DEBUG] input_ 10 : r_t : 1440000[DEBUG] input_ 11 : r_pl2a : 1260000[DEBUG] input_ 12 : r_a2a : 1080000[DEBUG] input_ 13 : ascend_mbatch_shape_data : 0# 设置动态维度[INFO] src/model_process.cpp:151 set dynamic shape for input ascend_mbatch_shape_data, count : 27 :742 35 3 35 35 3 742 1 742 742 35 35 35 35 30 30 10 4 300 300 4 350 300 3 300 300 3[ERROR] src/model_process.cpp:160 set dynamic shape for inputs 13 failed, error code: 145012 # 无效的动态分档输入长度。模型支持的动态档位数量:2742 35 3 35 35 3 742 1 742 742 35 35 35 35 30 30 10 4 300 300 4 350 300 3 300 300 3742 20 3 20 20 3 742 1 742 742 20 20 20 20 30 30 10 4 300 300 4 200 300 3 300 300 3[INFO] src/model_process.cpp:271 model execute success[INFO] src/sample_process.cpp:497 model output 0 size is 17920 = 4 × 128 × 35[INFO] src/sample_process.cpp:501 model output 0 data type is float[INFO] src/sample_process.cpp:497 model output 1 size is 153600 = 4 × 128 × 300[INFO] src/sample_process.cpp:501 model output 1 data type is float[INFO] src/model_process.cpp:292 unload model success, modelId is 1[INFO] src/main.cpp:61 execute sample success[INFO] src/sample_process.cpp:395 end to destroy stream[INFO] src/sample_process.cpp:404 end to destroy context[INFO] src/sample_process.cpp:410 end to reset device is 0[INFO] src/sample_process.cpp:416 end to finalize acl更多附件:链接: https://pan.baidu.com/s/1q78Dk6rKbe_W2KMiRL8OZA?pwd=kvnm 提取码: kvnm 复制这段内容后打开百度网盘手机App,操作更方便哦
-
平台:MDC610板端的模型只进行atc转换的float模型,conv是fp16进行运算的当前现象:pointpillars模型中PFN层 conv后精度掉点,reducemax后精度掉点1.现在要做那些操作可以提升conv和reducemax的精度2.对这两算子进行PTQ,发现没有明显提升,只能和掉点精度保持(通过增加模型输出节点,在conv输出增加模型节点,和onnx模型进行cos值比对)
-
问题描述上电5分钟左右,系统复位执行mdc-dbg em query processStatus,显示ExtRegProcess与MsProcess进程状态是ABORTED执行mdc-dbg em restart ExtRegProcess重启进程会失败。原因分析查看/opt/log/aos_linux/platform_log/debug/目录下EM与ECTM开头的日志,在ECTM日志中有如下打印:读取配置文件/opt/platform/mdc_platform/conf/net/usr_network_port.json失败,无权限。可能是EM环境受损。解决方案1、登录平台,进入配置文件目录,修改配置文件权限,报错显示“无法以读写方式重新挂载”。2、执行/var/dm-flag-tool 0、reboot,重启。3、执行mount -o remount,rw / 使其可读写。4、执行chmod 0644 usr_network_port.json修改文件可读权限。5、执行mdc-dbg em restart ExtRegProcess进程,重启成功。 6、再次查询ExtRegProcess进程状态,显示正常运行。(MsProcess进程也是相同的方法处理)
-
软件版本:MDC610 1.1.027-T000MDC610提供了预设的向激光雷达输出GPS信息的接口,如图所示。 请问能否在只有一台组合定位且第一台MDC已授时的情况下,通过该接口为另一台MDC提供授时所需的PPS+GPRMC信号?
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签