Additional， I design a test case to validate the phenomenon shown as below:
Performed b is slower than a!
so, I’d like to confirm that the the phenomenon be caused by float precision(fixed point or float point ) or not in Pytorch ?
import torch
import time
import random
import numpy
random_num = [0.53, 0,3432, 0.3222e-1, 0.3562e-3, -9,4324e-7, 7,6534e-6,
              0.6734e-10, -3.3432e-15, -7.3422e-40, 4.6237e-35, -0.0632e-12
              -0.0032e-2, -6.8921e-9, 8.3423e-11,0.0342e-2, 6.9432e-12, 0.0999e-21]


if __name__ in "__main__":
    # loop count
    loop_num = 1000
    w = 200
    h = 200

    # random a tensor b
    a = torch.randn((w,h))

    print(a)
    print(a.dtype)
    st = time.time()
    for i in range(0,loop_num):
        a = a * a + a
    print("a consuming time = %.6f\n"%(time.time() - st))

    # zero a tensor d as same dim with b
    b = torch.randn((w, h))

    # used high precision value show as random_num to d
    for i in range(0, w):
        for j in range(0, h):
            bb = random.randrange(0, len(random_num))
            aa = float(random_num[random.randrange(0, len(random_num))])
            b[i, j] = aa
    print(b)
    print(b.dtype)
    st1 = time.time()
    for i in range(0,loop_num):
        b = b * b + b
    print("b consuming time = %.6f"%(time.time() - st1))
    print('over !!! ')