The h2d means: copy the data from cpu to gpu. Like this operation: data = data.cuda()
The h2d time for the minibatch means: the time for copy the data of a minibatch from cpu to gpu.
And the training time means: the time for training the model by the data of a minibatch. The training operation always like this: training_result = model(input_data)
Firstly, we should load our training data of a minibatch to the gpu device by data.cuda() , which cost some time, we just name it h2d_time . And then, we will train our model by model(data) , which cost some time, we juest name it training_time . So, the whole time will be h2d_time + training_time for training one minibatch.
However, I wonder if there is any way to overlap the training_time and the h2d_time . For example, we can load the next minibatch data when the last minibatch data is still training.