Ich habe ein Stück Code (das Teil einer Anwendung ist), das ich versuche, mit OpenMP zu optimieren, und probiere verschiedene Zeitplanungsstrategien aus. In meinem Fall habe ich festgestellt, dass die schedule(RUNTIME)
Klausel einen Vorteil gegenüber anderen hat (ich gebe keine chunk_size an). Ich habe zwei Fragen:
-
Wenn ich chunk_size nicht angebe, gibt es einen Unterschied zwischen
schedule(DYNAMIC)
yschedule(GUIDED)
? -
Wie bestimmt OpenMP das standardmäßige implementierungsspezifische Scheduling, das in der
OMP_SCHEDULE
variabel?
Ich habe gelernt, dass, wenn kein Zeitplanschema angegeben wird, standardmäßig schedule(STATIC)
verwendet wird. Wenn ich also nicht die OMP_SCHEDULE
Variable und verwenden schedule(RUNTIME)
in meinem Programm, würde das Zeitplanungsschema sein schedule(STATIC)
oder verfügt OpenMP über eine intelligente Möglichkeit, die Zeitplanstrategie dynamisch zu entwickeln und von Zeit zu Zeit zu ändern?