Skip to content
Snippets Groups Projects
Commit 35ec993c authored by Christophe Picard's avatar Christophe Picard
Browse files

Fix division by integer in time calculation

parent 1f5930a9
No related branches found
No related tags found
No related merge requests found
......@@ -45,6 +45,7 @@ class AdvectionDOp(DiscreteOperator):
## Scalar value on new positions
self.resultScalar = resscal
self.compute_time = 0.
self.submit_time = 0.
self.queued_time = 0.
def applyOperator(self, t, dt, splittingDirection):
......@@ -75,8 +76,10 @@ class AdvectionDOp(DiscreteOperator):
np.concatenate((self.velocity.domain.min, [1.])).astype(np.float32),
np.concatenate((self.velocity.domain.max, [1.])).astype(np.float32))
self.gpu_queue.finish()
self.compute_time += (evt.profile.end - evt.profile.start) / (10 ** 9)
self.queued_time += (evt.profile.start - evt.profile.queued)
self.queued_time += (evt.profile.submit - evt.profile.queued)
self.submit_time += (evt.profile.start - evt.profile.submit)
self.compute_time += (evt.profile.end - evt.profile.start)
print self.compute_time*10e-10
def __str__(self):
"""ToString method"""
......
......@@ -46,6 +46,7 @@ class RemeshingDOp(DiscreteOperator):
self.gpu_kernel = None
self.compute_time = 0.
self.queued_time = 0.
self.submit_time = 0.
def setResultVariable(self, resscal):
"""
......@@ -99,17 +100,18 @@ class RemeshingDOp(DiscreteOperator):
np.concatenate((self.resultScalar.domain.min, [1.])).astype(np.float32),
np.concatenate((self.resultScalar.domain.max, [1.])).astype(np.float32))
self.gpu_queue.finish()
self.compute_time += (evt.profile.end - evt.profile.start) / (10 ** 9)
self.queued_time += (evt.profile.start - evt.profile.queued)
self.queued_time += (evt.profile.submit - evt.profile.queued)
self.submit_time += (evt.profile.start - evt.profile.submit)
self.compute_time += (evt.profile.end - evt.profile.start)
evt = self.gpu_kernel[1](self.gpu_queue, self.gpu_shape, None,
self.resultScalar.gpu_mem_object, self.gpu_buffer,
np.float32(t), np.float32(dt), np.int32(splittingDirection),
np.concatenate((self.resultScalar.domain.min, [1.])).astype(np.float32),
np.concatenate((self.resultScalar.domain.max, [1.])).astype(np.float32))
self.gpu_queue.finish()
self.compute_time += (evt.profile.end - evt.profile.start) / (10 ** 9)
self.queued_time += (evt.profile.start - evt.profile.queued)
self.compute_time += (time.time() - c_time)
self.queued_time += (evt.profile.submit - evt.profile.queued)
self.submit_time += (evt.profile.start - evt.profile.submit)
self.compute_time += (evt.profile.end - evt.profile.start)
def __str__(self):
"""ToString method"""
......
......@@ -53,18 +53,23 @@ class DiscreteTransportProblem(DiscreteProblem):
self.t += dt
ite += 1
self.printer.printStep()
print "iteration ", ite, " t=", self.t
print "iteration ", ite, "\t t =", self.t, "\t(Output mode)"
else:
while self.t < T:
[[op.applyOperator(self.t, dt * i[1], i[0]) for op in self.operators] for i in self.splittingStep]
self.t += dt
ite += 1
print "Iteration ", ite, "\t t =", self.t, "\t(No output mode)"
c_time = 0.
q_time = 0.
s_time = 0.
for op in self.operators:
c_time += op.compute_time
q_time += op.queued_time
print "Solving time : ", c_time, "s"
print "Queued time : ", q_time, "ns"
s_time += op.submit_time
print "OpenCL queued time : ", q_time * 10e-9, "s"
print "OpenCL submit time : ", s_time * 10e-9, "s"
print "OpenCL computing time : ", c_time * 10e-9, "s"
def __str__(self):
"""ToString method"""
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment