Skip to content
Snippets Groups Projects
Commit 6a4da17a authored by Matthieu Schaller's avatar Matthieu Schaller
Browse files

Added comments to highlight a possible superior strategy to the mesh assignment.

parent dc602245
No related branches found
No related tags found
1 merge request!604Parallel mesh assignment and simplification of M2L kernel
...@@ -224,6 +224,11 @@ void cell_gpart_to_mesh_CIC_mapper(void *map_data, int num, void* extra) { ...@@ -224,6 +224,11 @@ void cell_gpart_to_mesh_CIC_mapper(void *map_data, int num, void* extra) {
/* Pointer to the chunk to be processed */ /* Pointer to the chunk to be processed */
int *local_cells = (int *)map_data; int *local_cells = (int *)map_data;
//MATTHIEU: This could in principle be improved by creating a local mesh
// with just the extent required for the cell. Assignment can
// then be done without atomics. That local mesh is then added
// atomically to the global one.
/* Loop over the elements assigned to this thread */ /* Loop over the elements assigned to this thread */
for (int i = 0; i < num; ++i) { for (int i = 0; i < num; ++i) {
...@@ -349,6 +354,7 @@ void mesh_to_gparts_CIC(struct gpart* gp, const double* pot, int N, double fac, ...@@ -349,6 +354,7 @@ void mesh_to_gparts_CIC(struct gpart* gp, const double* pot, int N, double fac,
* *
* @param mesh The #pm_mesh used to store the potential. * @param mesh The #pm_mesh used to store the potential.
* @param s The #space containing the particles. * @param s The #space containing the particles.
* @param tp The #threadpool object used for parallelisation.
* @param verbose Are we talkative? * @param verbose Are we talkative?
*/ */
void pm_mesh_compute_potential(struct pm_mesh* mesh, const struct space* s, void pm_mesh_compute_potential(struct pm_mesh* mesh, const struct space* s,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment