Bill Ladwig 6 years ago
parent
commit
a490fb7e13
  1. 62
      fortran/build_help/sub_sizes.py

62
fortran/build_help/sub_sizes.py

@ -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()

Loading…
Cancel
Save