Description:
Taking ‘True’ as input, bitwise_not
gives ‘True’ rather than ‘False’ in GPU.
Environment:
- OS: Ubuntu 16.04
- GPU: GeForce GTX 1080
- GPU: Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz
The reproducible script:
import tvm
from tvm import relay
from tvm.ir.transform import Sequential
from tvm.contrib import graph_runtime
import numpy as np
var_0 = relay.var("var_0", dtype = "bool", shape = ()) # shape=()
var_1 = relay.bitwise_not(var_0) # shape=()
tuple = relay.Tuple([var_1,])
F = relay.Function([var_0,], tuple)
mod = tvm.IRModule()
mod['main'] = F
#mod = relay.transform.InferType()(mod)
intrp1 = relay.build_module.create_executor('graph', mod, tvm.device('cuda',0),'cuda')
input_= np.array(True, dtype='bool')
res1 = intrp1.evaluate()(input_, )
res1_0 = res1[0].asnumpy()
print(res1_0) # wrong answer:True