|
|
@ -3,55 +3,55 @@ import os |
|
|
|
from string import Template |
|
|
|
from string import Template |
|
|
|
import sys |
|
|
|
import sys |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def main(): |
|
|
|
def main(): |
|
|
|
|
|
|
|
print("Running sub_sizes") |
|
|
|
print ("Running sub_sizes") |
|
|
|
|
|
|
|
try: |
|
|
|
try: |
|
|
|
result = subprocess.check_output(["./sizes"]) |
|
|
|
result = subprocess.check_output(["./sizes"]) |
|
|
|
except: |
|
|
|
except OSError: |
|
|
|
result = subprocess.check_output(["sizes.exe"]) |
|
|
|
result = subprocess.check_output(["sizes.exe"]) |
|
|
|
|
|
|
|
|
|
|
|
split_result = result.split() |
|
|
|
split_result = result.split() |
|
|
|
|
|
|
|
|
|
|
|
if sys.version_info >= (3, ): |
|
|
|
if sys.version_info >= (3, ): |
|
|
|
if split_result[0].strip().decode() != "SIZES": |
|
|
|
if split_result[0].strip().decode() != "SIZES": |
|
|
|
raise ValueError("First line is not SIZES") |
|
|
|
raise ValueError("First line is not SIZES") |
|
|
|
|
|
|
|
|
|
|
|
subs = {"FOMP_SCHED_KIND" : split_result[1].strip().decode(), |
|
|
|
subs = {"FOMP_SCHED_KIND": split_result[1].strip().decode(), |
|
|
|
"FOMP_LOCK_KIND" : split_result[2].strip().decode(), |
|
|
|
"FOMP_LOCK_KIND": split_result[2].strip().decode(), |
|
|
|
"FOMP_NEST_LOCK_KIND" : split_result[3].strip().decode(), |
|
|
|
"FOMP_NEST_LOCK_KIND": split_result[3].strip().decode(), |
|
|
|
"FOMP_SCHED_STATIC" : split_result[4].strip().decode(), |
|
|
|
"FOMP_SCHED_STATIC": split_result[4].strip().decode(), |
|
|
|
"FOMP_SCHED_DYNAMIC" : split_result[5].strip().decode(), |
|
|
|
"FOMP_SCHED_DYNAMIC": split_result[5].strip().decode(), |
|
|
|
"FOMP_SCHED_GUIDED" : split_result[6].strip().decode(), |
|
|
|
"FOMP_SCHED_GUIDED": split_result[6].strip().decode(), |
|
|
|
"FOMP_SCHED_AUTO" : split_result[7].strip().decode() |
|
|
|
"FOMP_SCHED_AUTO": split_result[7].strip().decode() |
|
|
|
} |
|
|
|
} |
|
|
|
else: |
|
|
|
else: |
|
|
|
if split_result[0].strip() != "SIZES": |
|
|
|
if split_result[0].strip() != "SIZES": |
|
|
|
raise ValueError("First line is not SIZES") |
|
|
|
raise ValueError("First line is not SIZES") |
|
|
|
|
|
|
|
|
|
|
|
subs = {"FOMP_SCHED_KIND" : split_result[1].strip(), |
|
|
|
subs = {"FOMP_SCHED_KIND": split_result[1].strip(), |
|
|
|
"FOMP_LOCK_KIND" : split_result[2].strip(), |
|
|
|
"FOMP_LOCK_KIND": split_result[2].strip(), |
|
|
|
"FOMP_NEST_LOCK_KIND" : split_result[3].strip(), |
|
|
|
"FOMP_NEST_LOCK_KIND": split_result[3].strip(), |
|
|
|
"FOMP_SCHED_STATIC" : split_result[4].strip(), |
|
|
|
"FOMP_SCHED_STATIC": split_result[4].strip(), |
|
|
|
"FOMP_SCHED_DYNAMIC" : split_result[5].strip(), |
|
|
|
"FOMP_SCHED_DYNAMIC": split_result[5].strip(), |
|
|
|
"FOMP_SCHED_GUIDED" : split_result[6].strip(), |
|
|
|
"FOMP_SCHED_GUIDED": split_result[6].strip(), |
|
|
|
"FOMP_SCHED_AUTO" : split_result[7].strip() |
|
|
|
"FOMP_SCHED_AUTO": split_result[7].strip() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ompgen_temp_path = os.path.join("..", "ompgen.F90.template") |
|
|
|
ompgen_temp_path = os.path.join("..", "ompgen.F90.template") |
|
|
|
ompgen_out_path = os.path.join("..", "ompgen.F90") |
|
|
|
ompgen_out_path = os.path.join("..", "ompgen.F90") |
|
|
|
|
|
|
|
|
|
|
|
with open(ompgen_temp_path, "r") as ompgen_in: |
|
|
|
with open(ompgen_temp_path, "r") as ompgen_in: |
|
|
|
ompgen_template = Template(ompgen_in.read()) |
|
|
|
ompgen_template = Template(ompgen_in.read()) |
|
|
|
|
|
|
|
|
|
|
|
ompgen_string = ompgen_template.substitute(subs) |
|
|
|
ompgen_string = ompgen_template.substitute(subs) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with open(ompgen_out_path, "w") as ompgen_out: |
|
|
|
with open(ompgen_out_path, "w") as ompgen_out: |
|
|
|
ompgen_out.write(ompgen_string) |
|
|
|
ompgen_out.write(ompgen_string) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
print("End sub_sizes") |
|
|
|
print ("End sub_sizes") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
|
if __name__ == "__main__": |
|
|
|
main() |
|
|
|
main() |
|
|
|