0aa1eac182
BOUNDARIES: Use precalculated face indices in boundaries_face_restrict().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-29 13:43:39 -02:00
7384e3a5b5
COORDINATES: Prepare ghost indices for restriction operation.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-29 13:40:50 -02:00
162a8853ca
BOUNDARIES: Use precalculated corner indices in boundaries_corner_copy().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-29 09:51:25 -02:00
56fa3b6f03
BOUNDARIES: Use precalculated edge indices in boundaries_edge_copy().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-29 09:45:07 -02:00
3087f5288b
BOUNDARIES: Use precalculated face indices in boundaries_face_copy().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-29 09:38:49 -02:00
36a8caca7c
Merge branch 'master' into ghost_array_indices
2014-12-28 08:19:18 -02:00
42be67d705
BOUNDARIES: Fix wrong indices in block_edge_copy().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-27 10:50:00 -02:00
43507595a6
COORDINATES: Initialize ghost indices for copy operation.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-27 09:32:01 -02:00
51c9a03290
COORDINATES: Declare indices for all types of boundaries.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-26 13:12:15 -02:00
ab1b9a00d9
COORDINATES: Ghost subarray indices don't have to be allocated.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-26 12:52:38 -02:00
7f7d16f689
COORDINATES: Add arrays to store ghost subarray indices.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-26 12:48:34 -02:00
fe39a8a981
DRIVER: Fix signals handling for GNU and Intel compilers.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-24 15:04:24 -02:00
2430eaae4c
README: Spellchecked.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-23 15:34:56 -02:00
69dd38fc6f
Reformat README file.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-22 13:32:19 -02:00
19109c69ca
README edited online with Bitbucket
2014-12-22 15:25:24 +00:00
4e2125216b
README edited online with Bitbucket
2014-12-22 14:26:09 +00:00
a7a7afa81a
BOUNDARIES: Add timer to update_ghost_cells().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-22 10:56:11 -02:00
80236693d5
IO: Use npmax instead of (nprocs - 1).
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-19 14:11:40 -02:00
1ff1ce50d1
IO: Remove unused variable lcpu.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-19 14:09:32 -02:00
50302b0705
MESH: Use npmax instead of (nprocs - 1).
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-19 14:08:37 -02:00
20891d9531
Merge branch 'optimize_mpi_exchange'
2014-12-19 12:57:58 -02:00
bd913cb04d
BOUNDARIES: Rewrite MPI part in boundaries_face_prolong().
...
We use exchange_real_arrays() now.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 19:42:06 -02:00
a9349d967b
BOUNDARIES: Rewrite MPI part in boundaries_face_restrict().
...
We use exchange_real_arrays() now.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 19:36:00 -02:00
233fe1d520
BOUNDARIES: Rewrite MPI part in boundaries_face_copy().
...
We use exchange_real_arrays() now.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 19:31:09 -02:00
d4f43f2ebe
BOUNDARIES: Rewrite MPI part in boundaries_corner_prolong().
...
We use exchange_real_arrays() now.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 19:21:37 -02:00
d71c749353
BOUNDARIES: Rewrite MPI part in boundaries_corner_restrict().
...
We use exchange_real_arrays() now.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 19:16:15 -02:00
594564899a
BOUNDARIES: Rewrite MPI part in boundaries_corner_copy().
...
We use exchange_real_arrays() now.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 19:06:14 -02:00
7d0969a280
BOUNDARIES: Add pmeta initialization in boundaries_edge_prolong().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 18:48:53 -02:00
bdecf83502
BOUNDARIES: Rewrite MPI part in boundaries_edge_prolong().
...
We use exchange_real_arrays() now.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 18:30:54 -02:00
33375fce41
BOUNDARIES: Rewrite MPI part in boundaries_edge_restrict().
...
We use exchange_real_arrays() now.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 18:25:04 -02:00
dd3ee8c57d
BOUNDARIES: Rewrite MPI part in boundaries_edge_copy().
...
We use exchange_real_arrays() now.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 18:16:36 -02:00
ac3b2ce520
BOUNDARIES: Rewrite MPI part in boundary_fluxes().
...
Now, instead of separate calls to receive or send data, we process pairs
and exchange data between them directly using exchage_read_arrays().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 14:49:07 -02:00
fc80be02d4
MPITOOLS: npairs represents the exact number of processes.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 13:23:16 -02:00
7fa2f4ecae
BLOCKS: Remove unused fields of block_info structure.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 13:08:49 -02:00
852ee2d1a4
BOUNDARIES: Use new exchange arrays in boundary_corner_prolong().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 13:06:07 -02:00
69e206731d
BOUNDARIES: Use new exchange arrays in boundary_corner_restrict().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 13:04:10 -02:00
7eef97ae6b
BOUNDARIES: Use new exchange arrays in boundary_corner_copy().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 13:01:44 -02:00
25daf4165a
BOUNDARIES: Use new exchange arrays in boundary_edge_prolong().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 12:46:20 -02:00
c6bd741707
BOUNDARIES: Use new exchange arrays in boundary_edge_restrict().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 12:42:20 -02:00
738ef159f8
BOUNDARIES: Use new exchange arrays in boundary_edge_copy().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 12:39:22 -02:00
8243edb33d
BOUNDARIES: Use new exchange arrays in boundary_face_prolong().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 12:32:50 -02:00
969accd19f
BOUNDARIES: Use new exchange arrays in boundary_face_restrict().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 12:32:07 -02:00
3f97569869
BOUNDARIES: Use new exchange arrays in boundary_face_copy().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 12:25:50 -02:00
25d6251dba
BOUNDARIES: Use new exchange arrays in boundary_fluxes().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 12:19:21 -02:00
51497fe60d
BOUNDARIES: Add subroutine to handle exchange block arrays.
...
Two new arrays barray and bcount are allocated during the module
initialization and deallocated during the module finalization.
Those two arrays are used to store information about neighbors which
lay on different processes and need some boundary data to exchange.
Subroutines prepare_exchange_array() and release_exchange_array() are
responsinble for initialization of barray and bcount and for
deallocation all array elements, respectively.
Subroutine append_exchange_block() helps to append a new block pairs to
the exchange array.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-11 12:14:08 -02:00
3f537aa93f
MPITOOLS: Add exchange_real_arrays().
...
The new subroutine exchanges two buffers between two processes at the
same time.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-03 21:47:41 -02:00
1248fe62fa
BOUNDARIES: Compare neighbor processes.
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-01 09:06:08 -02:00
53719482ed
BOUNDARIES: Fix memory leaking in boundary_fluxes().
...
When blocks belong to the same process which is not the current one, the
block exchange structure is unnecessary allocated, and is not
deallocated after the block exchange.
Fix this by allocating block exchange structures only when the block and
its neighbor processes are different.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-12-01 09:01:18 -02:00
53abe5d5f3
BOUNDARIES: Fix line alignment in boundary_corner_prolong().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-11-30 18:48:45 -02:00
fde758acb0
BOUNDARIES: Fix line alignment in boundary_corner_restrict().
...
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-11-30 18:46:11 -02:00