主页

CUDA-Pointpillar 配置

Unknown CMake command “cuda_add_library”.报错 Unknown CMake command “cuda_add_library”. 发现find_package(CUDA)没有被调用, 导致cuda_add_library()命令没有被识别。开启调用即可。 如果需要找到,正确链接 /usr/local/cuda 即可 报错,找不到libnvinfer_plugin.so.8 [11/18/2023-17:14:14] [E] Uncaught exception detected: Unable to open library: libnvinfer_plugin.so.8 due to libcublas.so.12: cannot ...

阅读更多

手头ARM与x86设备UnixBench性能测试对比与分析

跑分方式 git clone https://github.com/kdlucas/byte-unixbench.git cd byte-unixbench/UnixBench make # 等待编译完成 # 编译完成后,需要给 执行程序赋予执行权限 sudo chmod u+x ./Run # Ps:除了 Run 程序测试多核的时候,需要执行其他脚本 # 为了避免报错,最好把 UnixBench 目录下脚本都赋予执行权限 sudo chmod u+x -R ./* sudo ./Run # 等待测试结果即可 跑分结果 pather x2 rk3566 新到的板子 pather x2 该设备型号为瑞芯微 rk3566 内存是ddr4 4g 32g emmc 5.1 支...

阅读更多

Modern C++类型推导机制:auto与decltype的区别与实现

区别 在现代C++中,auto和decltype是用于类型推导的关键字,它们有不同的用途和行为。 auto关键字: auto用于自动推导变量的类型。编译器会根据变量的初始化表达式推导出变量的类型,并将其替换为推导得到的类型。 auto适用于大多数情况,特别是在使用迭代器、范围循环和模板编程时非常有用。 auto不能用于函数参数、类成员变量和非静态成员函数的返回类型(C++14之前)。 示例: auto x = 42; // 推导为int类型 auto name = "John"; // 推导为const char*类型 std::vector<int> vec = {1, 2, 3}; for ...

阅读更多

实车调试常用shell 命令

基础命令 时间同步信息 chronyc sources -v acs@iZf8zeytjbajfs6v6d0oxuZ:~$ chronyc sources -v 210 Number of sources = 15 .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current synced, '+' = combined , '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || ...

阅读更多

实车调试

0 基本的硬件 实车信息 工控机, ntpserver 域控芯片板子, nas 通过工控机,连接到板子上,车辆上电需要10min,启动完成,交换机启动可能会很慢, 能从工控机ping 通板子说明交换机已经启动完成 1 时间同步 时间同步是最首要要检查的,时间不同步,感知软件无法启动 时间不同步的话,从板端向上逐级排查 主要顺序是: 板端 -> 工控机 -> ntp server 检查板端的时间同步 data 命令 chronyc sources -v命令 看到每个工控机和板端的时间差, delta 控制在3ms内 clockdiff 192.168.1.11 检查 ntpserver信号 ntp-server 依赖gps信号,需要在地面上启动(...

阅读更多

C++最佳实践-格式format相关

行长度相关 代码行宽度推荐80不允许超过120 其中80主要考虑的是人眼视线范围而非屏宽 非法ASCII 字符相关 代码中不要添加非ASCII的字符,允许中文注释 空格和制表位相关 缺省缩进为 2 个空格.使用空格而不是tab 函数声明和定义格式相关 对显式重写的虚函数要使用override修饰。重写虚函数时不要添加virtual关键字 class Base { public: virtual void do_something() {} }; class Derived :public Base { public: void do_something() override {} // good virtual void do_something...

阅读更多

8021. 使子序列的和等于目标的最少操作次数

题目 https://leetcode.cn/contest/weekly-contest-360/problems/minimum-operations-to-form-subsequence-with-target-sum/ 给你一个下标从 0 开始的数组 nums ,它包含 非负 整数,且全部为 2 的幂,同时给你一个整数 target 。 一次操作中,你必须对数组做以下修改: 选择数组中一个元素 nums[i] ,满足 nums[i] > 1 。W 将 nums[i] 从数组中删除。 在 nums 的 末尾 添加 两个 数,值都为 nums[i] / 2 。 你的目标是让 nums 的一个 子序列 的元素和等于 target ,请你返回达成这一目标的 最少操作次数 ...

阅读更多

C++最佳实践-注释相关

注释风格 对于作为接口暴露的头文件,需要尽可能使用doxygen工具的注释语法 使用 // ,注释总是统一在代码上面 不要块注释,不方便cr 文件注释 头文件加入版权公告 class注释 类的定义都要附带一份注释, 描述类的功能和用法 多个线程访问的话要注意记录多线程使用的规则和不变量 function注释 函数声明处的注释描述函数功能 功能注释应以该功能的隐含主语书写,并应以动词短语开头;例如,“Opens the file”,而不是“Open the file” 在编写函数重写(override)相关注释时,请关注重写本身的细节 构造函数析构函数记录对参数所做的操作 详细记录: 输入输出 类成员函数方法调用后是否还有其参...

阅读更多