Tao's blog

Learn something everyday.

Powerful AWK

AWK is a useful tools to process the text files, and it use a AWK language program to compose complex and useful actions on the text. These actions may be able to be complished by other gnu tools...

Linking static library and --whole-archive option

Conflict between linker’s default behavior and programmer’s intention By default the linker will omit one object file inside an static lib archive if every symbols inside that object are not used...

How I optimized my python profile program

Background In this article, I am trying to describe a short journey on how I optimize my python program. Which is using opencv, numpy and tensorflow for a cv tasks around a deep Learning model. T...

Type packing and unpacking. Or upcast and downcast.

Is this post. upcast means convert a type to a more general type. downcast means convering a type from a general type to more concrete type. The motivation for upcast is shareing interfaces/proced...

TVM-VectorAdd

TVM VectorAdd - Hello World of TVM This doc is trying to decode what is happening when the tvm python api demoed by the following tutorial tutorials/tensor_expr_get_started.py import tvm import n...

NNVM-A-Frontend-For-TVM

Note: NNVM is depracated as of 2020.01, the new frontend is called relay in TVM stack.See Relay from mxnet NNVM is a front end compiler for tvm, it could take the models from different DL fra...

Registry tech

Key Points of the registry A template class with singleton pattern Registry<T> to perform registry for a type T. In our example T==Op. A macro REGISTER_OP to instance a gl...

OpenWRT-ss-v2ray-transprency-proxy

Install OpenWRT to RasPi 3b+ As of 2019.06, 3B+ only supported snapshot install of OpenWRT Download snapshot image and gunzip it $ wget https://downloads.openwrt.org/releases/18.06.2/targets/brc...

Use intel for display nvidia for computing

Problems: For a iGPU and Nvidia GPU system with Ubuntu 17.04 Desktop, cuda 8.0. If use prime-select nvidia, then nvidia GPU are both used as display and computing. If use prime-select intel, th...

Why-we-need-D_GLIBCXX_USE_CXX11_ABI=0

Background When you try to build tensorflow, there is an prompt tell that you need to add “-D_GLIBCXX_USE_CXX11_ABI=0” flag, if you are using GCC 5 or higher, to keep the compatibility of your bui...