阻止Numba将@autojit函数打印到标准输出?

时间:2014-01-23 20:16:46

标签: python numba

我有一个五个嵌套的for循环函数(通过3d滤镜对图像进行卷积),我非常需要加速并使用numba的@autojit装饰器非常愉快。我唯一的抱怨是当第一次调用该函数时,numba执行其autojit但打印出我认为jitted函数的内部表示到标准输出可能需要几秒钟才能滚动,即这样的东西:< / p>

empty1:                                           ; preds = %empty
  %16 = call i32 inttoptr (i64 139980888423164 to i32 ({ i64, i8* }*)*)({ i64, i8* }* %10)
  br label %empty3

empty2:                                           ; preds = %empty
  br label %error_label

empty3:                                           ; preds = %empty1
  %17 = call i8* @PyErr_Occurred()
  %18 = ptrtoint i8* %17 to i64
  %19 = icmp ne i64 %18, 0
  br i1 %19, label %empty5, label %empty4

empty4:                                           ; preds = %empty3
  %20 = call { i64, i8* }* @__numba_specialized_2___main___2E_max_pool({ i64, i8*, i8*, i32, i64*, i64*, i8*, i8*, i32, i8* }* %11, i32 %12, i32 %16)
  store { i64, i8* }* %20, { i64, i8* }** %objtemp, !tbaa !6
  %21 = ptrtoint { i64, i8* }* %20 to i64
  %22 = icmp eq i64 %21, 0
  br i1 %22, label %error_label, label %no_error

empty5:                                           ; preds = %empty3
  br label %error_label

no_error:                                         ; preds = %empty4
  %23 = load { i64, i8* }** %objtemp, !tbaa !6
  store { i64, i8* }* %23, { i64, i8* }** %return_value
  %24 = load { i64, i8* }** %return_value, !tbaa !6
  call void @Py_XINCREF({ i64, i8* }* %24)
  br label %cleanup_label
}

!tbaa = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !0, !1, !6, !0, !1, !2, !3, !4, !5, !6, !24, !12, !7, !13, !14, !15, !16, !17, !25, !0, !1, !6}

有谁知道如何禁用此功能?它运行正常,速度快,并且不会抛出错误,但它有点烦人。

0 个答案:

没有答案