From a14ac6f1d2aeb787436ced57948e2730eb2501d2 Mon Sep 17 00:00:00 2001 From: Jean-Matthieu Etancelin <jean-matthieu.etancelin@univ-reims.fr> Date: Mon, 20 Oct 2014 14:34:47 +0200 Subject: [PATCH] Multi-GPU profiling output --- .../hysop/gpu/multi_gpu_particle_advection.py | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/HySoP/hysop/gpu/multi_gpu_particle_advection.py b/HySoP/hysop/gpu/multi_gpu_particle_advection.py index b05f17395..c9e5d20d4 100644 --- a/HySoP/hysop/gpu/multi_gpu_particle_advection.py +++ b/HySoP/hysop/gpu/multi_gpu_particle_advection.py @@ -248,7 +248,11 @@ class MultiGPUParticleAdvection(GPUParticleAdvection): self._v_n_blocks = self._v_l_buff.nbytes / self._v_block_size self._s_elem_block = np.prod(self._s_l_buff.shape) / self._s_n_blocks self._v_elem_block = np.prod(self._v_l_buff.shape) / self._v_n_blocks - print self._v_l_buff.nbytes, self._v_n_blocks, self._v_elem_block + print "MULTI-GPU Communications of size {0}MB, by {1} blocs of {2}MB ({3} width)".format( + self._s_l_buff.nbytes / (1024. * 1024.), + self._s_n_blocks, + self._s_block_size / (1024. * 1024.), + str((self._s_buff_width, self.resol_dir[1], self.resol_dir[2]))) self._evt_get_l = [None, ] * self._s_n_blocks self._evt_get_r = [None, ] * self._s_n_blocks self._l_send = [None, ] * self._s_n_blocks @@ -842,15 +846,15 @@ class MultiGPUParticleAdvection(GPUParticleAdvection): self._v_l_buff.base.release(self.cl_env.queue) def get_profiling_info(self): - for k in [self.copy, self.transpose_xy, self.transpose_xy_r, - self.transpose_xz, self.transpose_xz_r, - self.num_advec, - self.num_remesh, - self.num_advec_and_remesh, - self.num_remesh_comm_l, - self.num_remesh_comm_r, - self.num_advec_and_remesh_comm_l, - self.num_advec_and_remesh_comm_r]: - if k is not None: + super(MultiGPUParticleAdvection, self).get_profiling_info() + if self._is2kernel: + for k in (self.num_remesh_comm_l, + self.num_remesh_comm_r): + for p in k.profile: + self.profiler += p + else: + for k in (self.num_advec_and_remesh_comm_l, + self.num_advec_and_remesh_comm_r): for p in k.profile: self.profiler += p + -- GitLab