diff --git a/src/Vector/performance/vector_dist_gg_map_performance.hpp b/src/Vector/performance/vector_dist_gg_map_performance.hpp index 9b88cf443499dc0903bd9e08338651357e8dbd7a..7f0a85af89f3fa15132abfa7a2af30a5244c611c 100644 --- a/src/Vector/performance/vector_dist_gg_map_performance.hpp +++ b/src/Vector/performance/vector_dist_gg_map_performance.hpp @@ -45,10 +45,13 @@ double benchmark_map(size_t k_int, Vcluster<HeapMemory> & v_cl) for (size_t i = 0; i < dim; i++) {bc[i] = PERIODIC;} - vector_dist<dim,float, aggregate<float[dim]> > vd(k_int,box,bc,Ghost<dim,float>(0.1)); + vector_dist<dim,float, aggregate<float[dim]> > vd(v_cl.size()*v_cl.size()*k_int,box,bc,Ghost<dim,float>(0.1)); auto & dec = vd.getDecomposition(); + int start = 0; + int stop = k_int; + for (size_t i = 0 ; i < v_cl.size() ; i++) { if (i == v_cl.rank()) @@ -60,7 +63,10 @@ double benchmark_map(size_t k_int, Vcluster<HeapMemory> & v_cl) { // generate all particles in the near processor - vd_initialize_box_nomap<dim>(vd,nn_box.get(0),v_cl,k_int); + vd_initialize_box_nomap<dim>(vd,nn_box.get(0),v_cl,start,stop); + + start += k_int; + stop += k_int; } } diff --git a/src/Vector/performance/vector_dist_performance_common.hpp b/src/Vector/performance/vector_dist_performance_common.hpp index c4d484dc5855352f41fc90f5459e5f9d374086e4..8c933940134ed04e29e58f5e6411405b095c3db2 100644 --- a/src/Vector/performance/vector_dist_performance_common.hpp +++ b/src/Vector/performance/vector_dist_performance_common.hpp @@ -166,16 +166,13 @@ void vd_initialize(v_dist & vd, Vcluster<HeapMemory> & v_cl) * */ template<unsigned int dim, typename v_dist> -void vd_initialize_box_nomap(v_dist & vd, const Box<dim,typename v_dist::stype> & box, Vcluster<HeapMemory> & v_cl, int npart) +void vd_initialize_box_nomap(v_dist & vd, const Box<dim,typename v_dist::stype> & box, Vcluster<HeapMemory> & v_cl,int start, int stop) { // The random generator engine std::default_random_engine eg(v_cl.getProcessUnitID()*4313); std::uniform_real_distribution<float> ud(0.0f, 1.0f); - size_t n = vd.size_local(); - size_t n_stop = n + npart; - - auto it = vd.getIterator(n,n_stop); + auto it = vd.getIterator(start,stop); while (it.isNext()) {