专栏算法工具链关于征程6的几个问题

关于征程6的几个问题

已解决
快乐的打工人2024-06-04
82
5

在使用征程6进行深度学习模型推理时,有哪些优化技巧可以提升推理速度?

如何有效地在征程6上部署自定义的深度学习模型?

征程6在处理多线程任务时,如何确保线程安全和同步?

对于征程6的调试和测试,地平线提供了哪些工具和支持?

征程6在功耗管理方面有哪些特性,如何进行有效的功耗控制?


算法工具链
征程6
评论5
0/1000
  • gaoh
    Lv.1

    1.模型设计方面参考J6高效结构,会在后续释放敬请期待;部署方面可以采用小模型多batch,或者连续小模型打包推理减少中断的方式等;

    2.可以多了解地平线算法工具链的功能;

    4.工具链提供模型性能和精度的调试debug工具,且在征程6工具链上会提供应用软件pipeline的调试工具


    2024-06-04
    0
    0
  • 费小财
    Lv.5

    功耗管理上还是沿用Linux的那套规则的

    2024-06-04
    0
    0
  • Damon
    Lv.2

    多线程安全和同步直接用通用的方法:

    通过互斥锁、读写锁、条件变量、原子操作和信号量等技术,可以有效地管理多线程环境中的共享资源,避免竞争条件和数据不一致等问题。但是还是建议您根据具体的应用场景选择合适的同步机制,可以显著提高程序的稳定性和可靠性。

    互斥锁(Mutex)

    互斥锁用于保护临界区,确保同一时间只有一个线程能访问共享资源。

    读写锁(Read-Write Lock)

    读写锁允许多个线程同时读取共享资源,但在写操作时只有一个线程能访问。

    条件变量(Condition Variables)

    条件变量用于线程间的通知机制,让一个线程等待另一个线程满足某个条件

    原子操作(Atomic Operations)

    原子操作确保对共享变量的操作不可中断,从而避免竞争条件。

    信号量(Semaphores)

    信号量用于控制对资源的访问,允许多个线程同时访问有限的资源。
    2024-06-04
    0
    0
  • Damon
    Lv.2

    功耗控制方面:J6 电源管理支持以下几种功耗场景。定义如下:

    OFF

    系统处于未启动状态;

    系统全域处于下电状态;

    PMIC处于待机状态;

    ON

    MCU Domain和Main Domain的所有Subsys都处于上电状态;

    系统软件初始化都正常完成,处于智驾应用运行的状态;

    动态功耗管理;

    MCU Only Mode

    只有MCU域在工作,Main域部分Subsys处于下电或者全部Subsys处于下电状态;

    MCU下电选择进入Deep Sleep模式或系统完全下电;

    当MCU处于idle状态时,HSM可以控制PMU使J6E进入deep sleep模式;

    MCU可以控制外部PMIC给J6完全下电;

    MCU可以控制main域部分subsys完成一些低功耗功能比如哨兵模式:MCU工作,Camsys工作;Codec工作;

    Deep Sleep Mode

    Domain和Main Domain的所有Subsys都处于下电状态。AON处于带电状态,待AON唤醒(RTC/Wakeup 10/Can/ETH)唤醒,AON SRAM保留DDR retention参数和bootflag/shutflag;

    Deep sleep模式唤醒后进入MCU only mode,然后走唤醒流程使Acore进入ON状态

    Guard mode

    哨兵模式需要使用Acore跑检测算法,通过热插拔Acore和降低Acore和DDR的频率降低系统功耗。


    2024-06-04
    0
    0
  • Damon
    Lv.2

    >对于征程6的调试和测试,地平线提供了哪些工具和支持?

    J6 SOC: SDK编译调试环境,包括交叉编译工具链。

    MCU: Greenhills 编译器,需要购买License授权

    劳德巴赫调试器,自行购买

    支持方面可以发帖求助或者话题群中提问。

    2024-06-04
    0
    0