- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello everyone,
Me and a friend try to make and android app. Unfortunately the performance in a 3 staged for-loop constelation is very low. However, the forloops are mathematically not linked i.e. the i-th step in the outer for loop does not need to know what the i+1-th step's results are. However, in this loop the same global class variable will be used which is a long 50k long vector of 3D points.
1. Question: Is it at all possible to parallelize when the loop needs the same variables in each step?
2. If it is possible, how much will the performance be degraded ( I guess sometimes the access to the points will not continously be granted since sometimes another thread might access the storage of these points?).
I do not find any information to this so you can also give me a link where I can find this.
Thanks for your help guys!
Best,
BootTooth
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You only need to worry if the shared data is being modified by any of the threads?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks!
The thing is that I can not set these data vector of 50k points to static/const/final because these are points to be displayed by OpenGL and sometimes I change/update them. But in the parallel loop I dont. Anway, thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You don't have to declare the data as const, only actions matter.
Since you have enough potential parallelism in the outer loop, only use parallel_for at that level, and normal sequential loops in the inner loops. To diagnose the problem, perhaps try simple_partitioner with various grainsize values.
(Added) Just in case: you also don't need a mutex.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thx, yeah I saw not also that there are nice graphics in the Tutorial of Intel® Threading Building Blocks. Best
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
(Btw I have another question and posted it recently as a new post but it is not shown and its status is "DRAFT" whereas this post's status is "PUBLISHED". Whys that? Sry to write it here)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Maybe it disapproves of your spelling...
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page