Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
长尾 RNN 系网络广泛使用 TensorFlow 的 tf.raw_ops.BlockLSTM(V1,gate_order=icfo)与 tf.raw_ops.BlockLSTMV2(V2,gate_order=ifco)作为 LSTM 层的 block 形式前向算子。该算子把整个时间步循环收进一次 kernel launch(block 语义:不逐步暴露中间状态给框架),迁移到 Ascend 950 平台时缺失对应算子,网络无法下沉 NPU 执行。
tf.raw_ops.BlockLSTM
gate_order=icfo
tf.raw_ops.BlockLSTMV2
gate_order=ifco
当前缺口:
torch.nn.LSTM
NA
hangSafeCores = aicNum-1
rnn/block_lstm/
/assign
Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
Backgroud(背景信息)
长尾 RNN 系网络广泛使用 TensorFlow 的
tf.raw_ops.BlockLSTM(V1,gate_order=icfo)与tf.raw_ops.BlockLSTMV2(V2,gate_order=ifco)作为 LSTM 层的 block 形式前向算子。该算子把整个时间步循环收进一次 kernel launch(block 语义:不逐步暴露中间状态给框架),迁移到 Ascend 950 平台时缺失对应算子,网络无法下沉 NPU 执行。当前缺口:
torch.nn.LSTM不暴露逐门输出,无 peephole),无现成对标实现Origin(信息来源)
NA
Benefit / Necessity (价值/作用)
Design(设计方案)
实现方案(已完成)
hangSafeCores = aicNum-1避开满格 grid SyncAll 死锁),实测 B=129 3→26 簇、431_base 时延 15058→9014us(1.67x)验证结论
性能参考(纯 kernel 口径,GEIR)
交付物
rnn/block_lstm/(op_host / op_kernel/arch35 / op_graph / framework / examples / tests)