I am sorry about navie question.
def train(epoch):
    net.train();
    elapsed_time=0;
    for batch_idx,(data1, label) in enumerate(trainloader,0):
        data  = Variable(data1).cuda();
        label = Variable(label).cuda();
        optimizer.zero_grad();
        torch.cuda.synchronize()
        start = time.time()
        output_2 = net(data);
        output_1 = net(data);
        output_3 = net(data);
        torch.cuda.synchronize()
        end = time.time()
        elapsed_time += end - start
print(elapsed_time);

def train(epoch):
    net.train();
    elapsed_time=0;
    for batch_idx,(data1, label) in enumerate(trainloader,0):
        data  = Variable(data1).cuda();
        label = Variable(label).cuda();
        optimizer.zero_grad();
        torch.cuda.synchronize()
        start = time.time()
        output_2 = net(data);
        torch.cuda.synchronize()
        end = time.time()
        elapsed_time += end - start
print(elapsed_time);

The result of  elapsed_time is not the same in 2 cases!!
Can you explain the reason for me ?