Replies: 1 comment
-
|
Tried to implement this, but it is not really a good idea, as OpenMP does not work all too well with dynamically created arrays. Take the
There are workarounds to deal with this problem in practice (e.g. manually have each thread dynamically allocate an array of the desired size) but I cannot think of an approach to measure the associated overhead in a meaningful way. DiscoPoP does not create parallelization suggestions that involve datasharing clauses on arrays. (With the exception of array reductions, we will have to deal with this separately, but that is another issue.) Due to these reasons we currently do not intend to implement a dynamic array size. I can imagine, that future OpenMP versions will support data sharing clauses on dynamic arrays - surely that is a feature that is often demanded, right? - in that case we should definitely rethink on this topic. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Currently the array size - used for e.g. shared, private, firstprivate, .. clauses - is fixed and defined via a preprocessor macro. The CMakeLists.txt specifies a bunch of sizes to generate executables (doall_bench_X) for.
It would be better to be able to specify the array size in a similar fashion to iterations, threads, workload, etc. .
Beta Was this translation helpful? Give feedback.
All reactions