本申请提供了一种神经网络的执行方法及相关装置,应用于人工智能芯片,所述人工智能芯片配置有逻辑信号量,每个逻辑信号量关联多个物理信号量,支持多个对应的条件等待任务对应一个条件信号任务可以支持多个对应的条件等待任务对应一个条件信号任务,首先,在申请神经网络的资源的过程中,分配所述逻辑信号量,所述逻辑信号量包括预设条件信号任务和预设条件等待任务;接着,在对所述神经网络进行构建、实例化以及执行的过程中,以第一执行流和第二执行流执行所述神经网络。可以在保证神经网络执行正确的情况下,无需再手动对大量的物理信号量进行管理,大大降低用户编程的难度和提升用户的编程体验。
背景技术
人工智能(Artificial Intelligence,AI)芯片一般使用并行架构的设计来实现高性能,神经网络在AI芯片上执行时,会根据其节点任务之间的相互依赖关系展开多个执行流,有依赖关系的节点顺序执行,互相独立的节点尽量让它们能够并行执行,以获得更好的性能。
目前展开执行流时,为了保证其执行顺序需要申请多个信号量,在实际应用中,由于神经网络可能存在成千上万的节点任务,用户需要手动管理信号量不相互影响,编程效率较低且用户编程体验不佳。
实现思路