Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
14 Views

Doubt with parallel_for.

Jump to solution
Hi,
I'm using parallel_for to speed up the filling of two vectors I'm using. The INIT_V1_SIZE and INIT_V2_SIZE variables are read from user input in another place.
[cpp]class World { private: std::vector v1; std::vector v2; // more things public: World() { v1.reserve( INIT_V1_SIZE ); v2.reserve( INIT_V2_SIZE ); // more things void StartUp() {
/// more things
tbb::parallel_for(tbb::blocked_range(0,v1.size()),FillObjectVector(&v1,....),tbb::auto_partitioner()); tbb::parallel_for(tbb::blocked_range(0,v2.size()),FillContainerVector(&v2,....),tbb::auto_partitioner()); } };[/cpp] FillObjectVector and FillContainerVector iterate through the vector and in each position create a new object. Each object is independent from the rest.
What I want to know if it it possible to launch all of the parallel_for's at the same time. Would it be a good idea?.

Thanks.
0 Kudos

Accepted Solutions
Highlighted
Black Belt
14 Views
0 Kudos
3 Replies
Highlighted
Black Belt
15 Views
0 Kudos
Highlighted
Beginner
14 Views
Thanks a lot!!
0 Kudos
Highlighted
14 Views
Depending on the number of memory channels available, if you have two then consider parallel_invoke with each vector listed in the task list using standard for(... to fill/copy the data. On such a system using more than two threads to perform the copy may be counter productive.

Jim Dempsey
0 Kudos