繁体   English   中英

如何从 Apple Performance Shaders 调试打印 MPSGraph

[英]How do I debug print an MPSGraph from Apple Performance Shaders

我有一个MPSGraph* graph ,我想打印它以查看 MPS 中内置的图表。 有没有办法做到这一点?

有一个未记录的dump方法可以工作:

[graph dump];

它将生成 output,如下所示:

module  {
  func @main() {
    %0 = "mps.placeholder"() : () -> tensor<3x1xf32>
    %1 = "mps.placeholder"() : () -> tensor<1xi32>
    %2 = "mps.placeholder"() : () -> tensor<1xi32>
    %3 = "mps.placeholder"() : () -> tensor<1xi32>
    %4 = "mps.constant"() {value = dense<[3, 1]> : tensor<2xi32>} : () -> tensor<2xi32>
    %5 = "mps.constant"() {value = dense<-1> : tensor<i32>} : () -> tensor<i32>
    %6 = "mps.get_coordinates"(%4, %5) : (tensor<2xi32>, tensor<i32>) -> tensor<3x1xi32>
    %7 = "mps.multiply"(%6, %3) : (tensor<3x1xi32>, tensor<1xi32>) -> tensor<3x1xi32>
    %8 = "mps.constant"() {value = dense<-2> : tensor<i32>} : () -> tensor<i32>
    %9 = "mps.get_coordinates"(%4, %8) : (tensor<2xi32>, tensor<i32>) -> tensor<3x1xi32>
    %10 = "mps.multiply"(%9, %2) : (tensor<3x1xi32>, tensor<1xi32>) -> tensor<3x1xi32>
    %11 = "mps.add"(%10, %7) : (tensor<3x1xi32>, tensor<3x1xi32>) -> tensor<3x1xi32>
    %12 = "mps.add"(%11, %1) : (tensor<3x1xi32>, tensor<1xi32>) -> tensor<3x1xi32>
    %13 = "mps.constant"() {value = dense<-1> : tensor<1xi32>} : () -> tensor<1xi32>
    %14 = "mps.reshape"(%0, %13) : (tensor<3x1xf32>, tensor<1xi32>) -> tensor<3xf32>
    %15 = "mps.constant"() {value = dense<-1> : tensor<1xi32>} : () -> tensor<1xi32>
    %16 = "mps.reshape"(%12, %15) : (tensor<3x1xi32>, tensor<1xi32>) -> tensor<3xi32>
    %17 = "mps.constant"() {value = dense<0> : tensor<i32>} : () -> tensor<i32>
    %18 = "mps.gather"(%14, %16, %17) {batch_dims = 0 : ui32} : (tensor<3xf32>, tensor<3xi32>, tensor<i32>) -> tensor<3xf32>
    %19 = "mps.reshape"(%18, %4) : (tensor<3xf32>, tensor<2xi32>) -> tensor<3x1xf32>
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM