Loading src/tree/tree.c +31 −14 Original line number Diff line number Diff line Loading @@ -1788,8 +1788,6 @@ void mpi_ngbh_search(global_context_t* ctx, datapoint_info_t* dp_info, top_kdtre } } HERE /* sendout results */ /* Loading Loading @@ -2665,8 +2663,10 @@ datapoint_info_t find_possibly_halo_datapoint_rma(global_context_t* ctx, idx_t i } else { idx_t i = idx - ctx -> rank_idx_start[owner]; datapoint_info_t tmp_dp; #pragma omp critical { idx_t i = idx - ctx -> rank_idx_start[owner]; MPI_Request request; MPI_Status status; Loading @@ -2674,6 +2674,8 @@ datapoint_info_t find_possibly_halo_datapoint_rma(global_context_t* ctx, idx_t i i * sizeof(datapoint_info_t), sizeof(datapoint_info_t), MPI_BYTE, win_datapoints, &request); MPI_Wait(&request, MPI_STATUS_IGNORE); } return tmp_dp; } } Loading Loading @@ -3453,6 +3455,8 @@ clusters_t Heuristic1_rma(global_context_t *ctx, int verbose) * * args: */ HERE datapoint_info_t* dp_info = ctx -> local_datapoints; idx_t n = ctx -> local_n_points; Loading Loading @@ -3494,6 +3498,7 @@ clusters_t Heuristic1_rma(global_context_t *ctx, int verbose) 1, MPI_INFO_NULL, ctx -> mpi_communicator, &win_datapoints); MPI_Win_fence(0, win_datapoints); MPI_Win_lock_all(0, win_datapoints); HERE #if defined(THREAD_FUNNELED) #else Loading Loading @@ -3527,9 +3532,14 @@ clusters_t Heuristic1_rma(global_context_t *ctx, int verbose) if(dp_info[i].is_center) { //lu_dynamic_array_pushBack(&all_centers, dp_info[i].array_idx); #pragma omp critical { lu_dynamic_array_pushBack(&all_centers, i); } } } HERE if(verbose) { Loading Loading @@ -3596,7 +3606,7 @@ clusters_t Heuristic1_rma(global_context_t *ctx, int verbose) if(j_point.is_center && i_point.g > j_point.g) { //#pragma omp critical #pragma omp critical { int owner = foreign_owner(ctx, jidx); idx_t jpos = jidx - ctx -> rank_idx_start[owner]; Loading Loading @@ -3626,6 +3636,8 @@ clusters_t Heuristic1_rma(global_context_t *ctx, int verbose) } MPI_Win_fence(0, win_to_remove_mask); MPI_Barrier(ctx -> mpi_communicator); HERE /* populate the usual arrays */ for(idx_t p = 0; p < all_centers.count; ++p) Loading Loading @@ -3668,6 +3680,9 @@ clusters_t Heuristic1_rma(global_context_t *ctx, int verbose) break; } } HERE MPI_Win_free(&win_to_remove_mask); free(to_remove_mask); if(verbose) Loading Loading @@ -3834,6 +3849,8 @@ clusters_t Heuristic1_rma(global_context_t *ctx, int verbose) MPI_Win_fence(0, win_datapoints); MPI_Win_free(&win_datapoints); MPI_Barrier(ctx -> mpi_communicator); if(verbose) { clock_gettime(CLOCK_MONOTONIC, &finish); Loading Loading @@ -4743,7 +4760,7 @@ void simulate_master_read_and_scatter(int dims, size_t n, global_context_t *ctx) // data = read_data_file(ctx,"../norm_data/std_g2980844_091_0000",MY_TRUE); /* 1M points ca.*/ data = read_data_file(ctx,"../norm_data/std_LR_091_0001",MY_TRUE); // data = read_data_file(ctx,"../norm_data/std_LR_091_0001",MY_TRUE); /* BOX */ // data = read_data_file(ctx,"../norm_data/std_Box_256_30_092_0000",MY_TRUE); Loading @@ -4753,15 +4770,15 @@ void simulate_master_read_and_scatter(int dims, size_t n, global_context_t *ctx) // data = read_data_file(ctx,"../norm_data/std_g0144846_Me14_091_0001",MY_TRUE); //88M // data = read_data_file(ctx,"../norm_data/std_g5503149_091_0000",MY_TRUE); data = read_data_file(ctx,"../norm_data/std_g5503149_091_0000",MY_TRUE); // //34 M // data = read_data_file(ctx,"../norm_data/std_g1212639_091_0001",MY_TRUE); ctx->dims = 5; ctx -> n_points = 5 * 100000; //ctx->n_points = ctx->n_points / ctx->dims; //ctx -> n_points = 5 * 100000; ctx->n_points = ctx->n_points / ctx->dims; //ctx->n_points = (ctx->n_points * 5) / 10; // ctx -> n_points = ctx -> world_size * 1000; Loading Loading
src/tree/tree.c +31 −14 Original line number Diff line number Diff line Loading @@ -1788,8 +1788,6 @@ void mpi_ngbh_search(global_context_t* ctx, datapoint_info_t* dp_info, top_kdtre } } HERE /* sendout results */ /* Loading Loading @@ -2665,8 +2663,10 @@ datapoint_info_t find_possibly_halo_datapoint_rma(global_context_t* ctx, idx_t i } else { idx_t i = idx - ctx -> rank_idx_start[owner]; datapoint_info_t tmp_dp; #pragma omp critical { idx_t i = idx - ctx -> rank_idx_start[owner]; MPI_Request request; MPI_Status status; Loading @@ -2674,6 +2674,8 @@ datapoint_info_t find_possibly_halo_datapoint_rma(global_context_t* ctx, idx_t i i * sizeof(datapoint_info_t), sizeof(datapoint_info_t), MPI_BYTE, win_datapoints, &request); MPI_Wait(&request, MPI_STATUS_IGNORE); } return tmp_dp; } } Loading Loading @@ -3453,6 +3455,8 @@ clusters_t Heuristic1_rma(global_context_t *ctx, int verbose) * * args: */ HERE datapoint_info_t* dp_info = ctx -> local_datapoints; idx_t n = ctx -> local_n_points; Loading Loading @@ -3494,6 +3498,7 @@ clusters_t Heuristic1_rma(global_context_t *ctx, int verbose) 1, MPI_INFO_NULL, ctx -> mpi_communicator, &win_datapoints); MPI_Win_fence(0, win_datapoints); MPI_Win_lock_all(0, win_datapoints); HERE #if defined(THREAD_FUNNELED) #else Loading Loading @@ -3527,9 +3532,14 @@ clusters_t Heuristic1_rma(global_context_t *ctx, int verbose) if(dp_info[i].is_center) { //lu_dynamic_array_pushBack(&all_centers, dp_info[i].array_idx); #pragma omp critical { lu_dynamic_array_pushBack(&all_centers, i); } } } HERE if(verbose) { Loading Loading @@ -3596,7 +3606,7 @@ clusters_t Heuristic1_rma(global_context_t *ctx, int verbose) if(j_point.is_center && i_point.g > j_point.g) { //#pragma omp critical #pragma omp critical { int owner = foreign_owner(ctx, jidx); idx_t jpos = jidx - ctx -> rank_idx_start[owner]; Loading Loading @@ -3626,6 +3636,8 @@ clusters_t Heuristic1_rma(global_context_t *ctx, int verbose) } MPI_Win_fence(0, win_to_remove_mask); MPI_Barrier(ctx -> mpi_communicator); HERE /* populate the usual arrays */ for(idx_t p = 0; p < all_centers.count; ++p) Loading Loading @@ -3668,6 +3680,9 @@ clusters_t Heuristic1_rma(global_context_t *ctx, int verbose) break; } } HERE MPI_Win_free(&win_to_remove_mask); free(to_remove_mask); if(verbose) Loading Loading @@ -3834,6 +3849,8 @@ clusters_t Heuristic1_rma(global_context_t *ctx, int verbose) MPI_Win_fence(0, win_datapoints); MPI_Win_free(&win_datapoints); MPI_Barrier(ctx -> mpi_communicator); if(verbose) { clock_gettime(CLOCK_MONOTONIC, &finish); Loading Loading @@ -4743,7 +4760,7 @@ void simulate_master_read_and_scatter(int dims, size_t n, global_context_t *ctx) // data = read_data_file(ctx,"../norm_data/std_g2980844_091_0000",MY_TRUE); /* 1M points ca.*/ data = read_data_file(ctx,"../norm_data/std_LR_091_0001",MY_TRUE); // data = read_data_file(ctx,"../norm_data/std_LR_091_0001",MY_TRUE); /* BOX */ // data = read_data_file(ctx,"../norm_data/std_Box_256_30_092_0000",MY_TRUE); Loading @@ -4753,15 +4770,15 @@ void simulate_master_read_and_scatter(int dims, size_t n, global_context_t *ctx) // data = read_data_file(ctx,"../norm_data/std_g0144846_Me14_091_0001",MY_TRUE); //88M // data = read_data_file(ctx,"../norm_data/std_g5503149_091_0000",MY_TRUE); data = read_data_file(ctx,"../norm_data/std_g5503149_091_0000",MY_TRUE); // //34 M // data = read_data_file(ctx,"../norm_data/std_g1212639_091_0001",MY_TRUE); ctx->dims = 5; ctx -> n_points = 5 * 100000; //ctx->n_points = ctx->n_points / ctx->dims; //ctx -> n_points = 5 * 100000; ctx->n_points = ctx->n_points / ctx->dims; //ctx->n_points = (ctx->n_points * 5) / 10; // ctx -> n_points = ctx -> world_size * 1000; Loading