Skip to content

Commit 161a881

Browse files
committed
Merge branch 'develop' into notebook_interface
2 parents 5b592e9 + 0a055e4 commit 161a881

File tree

8 files changed

+116
-4
lines changed

8 files changed

+116
-4
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
pypop/version
12
__pycache__
23
*.egg-info
34
*.pkl

MANIFEST.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
include pypop/version
12
recursive-include pypop/examples *
23
recursive-include pypop/cfgs *
34
recursive-include pypop/cutters *
45
recursive-include pypop/filters *
6+
global-exclude */.ipynb_checkpoints/*

pypop/__init__.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,11 @@
99
from . import metrics
1010
from . import prv
1111
from . import config
12+
13+
from .version import get_version
14+
15+
__all__ = ['__version__']
16+
17+
__version__ = get_version()
18+
19+

pypop/cfgs/serial_useful_computation.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,8 @@ window_pixel_size 1
109109
window_labels_to_draw 1
110110
window_selected_functions { 14, { {cpu, Active Thd}, {appl, Adding}, {task, Adding}, {thread, Last Evt Val}, {node, Adding}, {system, Adding}, {workload, Adding}, {from_obj, All}, {to_obj, All}, {tag_msg, All}, {size_msg, All}, {bw_msg, All}, {evt_type, =}, {evt_value, All} } }
111111
window_compose_functions { 9, { {compose_cpu, As Is}, {compose_appl, As Is}, {compose_task, As Is}, {compose_thread, As Is}, {compose_node, As Is}, {compose_system, As Is}, {compose_workload, As Is}, {topcompose1, As Is}, {topcompose2, As Is} } }
112-
window_filter_module evt_type 2 60000018 60000023
113-
window_filter_module evt_type_label 2 "Executed OpenMP parallel function" "Executed OpenMP task function"
112+
window_filter_module evt_type 3 60000005 60000018 60000023
113+
window_filter_module evt_type_label 3 "OpenMP barrier" "Executed OpenMP parallel function" "Executed OpenMP task function"
114114
window_synchronize 1
115115

116116
################################################################################

pypop/metrics/metricset.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ def _choose_ref_key(stats_dict):
110110
stats_dict.items(),
111111
key=lambda x: "{:05}_{:05}".format(
112112
sum(x[1].metadata.threads_per_process),
113-
x[1].metadata.threads_per_process[0],
113+
max(x[1].metadata.threads_per_process),
114114
),
115115
)[0]
116116

pypop/version.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#!/usr/bin/env python3
2+
3+
from warnings import warn
4+
from pkg_resources import resource_filename
5+
from subprocess import run, PIPE
6+
7+
_k_unknown_ver = "Unknown"
8+
9+
def get_git_verstring():
10+
git_result = run(
11+
['git', 'describe', '--tags', '--dirty', '--long'],
12+
stdout=PIPE,
13+
stderr=PIPE,
14+
)
15+
if git_result.returncode != 0:
16+
return _k_unknown_ver
17+
18+
ver_string = git_result.stdout.decode().strip()
19+
ver_tokens = ver_string.split('-')
20+
21+
dirty = None
22+
if ver_tokens[-1] == "dirty":
23+
dirty = ver_tokens.pop()
24+
25+
sha = ver_tokens.pop()
26+
commitcount = ver_tokens.pop()
27+
tag = '-'.join(ver_tokens)
28+
29+
if commitcount == '0':
30+
return "-".join([tag, dirty]) if dirty else tag
31+
32+
return ver_string
33+
34+
35+
def get_version():
36+
37+
gitver = get_git_verstring()
38+
if gitver != _k_unknown_ver:
39+
return gitver
40+
41+
try:
42+
with open(resource_filename(__name__, 'version'), 'rt') as fh:
43+
fileversion = fh.readlines().strip()
44+
return fileversion
45+
except FileNotFoundError:
46+
pass
47+
48+
return _k_unknown_ver

setup.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,17 @@
33
# Copyright (c) 2019, The Numerical Algorithms Group, Ltd. All rights reserved.
44

55
from setuptools import setup, find_packages
6+
from versionate import versionate
67

78
setup(
89
name="pypop",
9-
version="0.2.0rc8",
10+
version=versionate(),
1011
url="https://github.com/numericalalgorithmsgroup/pypop.git",
1112
author="Numerical Algorithms Group",
1213
author_email="phil.tooley@nag.co.uk",
1314
description="Python notebook support for POP metrics and reports",
1415
packages=find_packages(),
16+
python_requires=">=3.6",
1517
install_requires=[
1618
"numpy",
1719
"matplotlib >= 2",

versionate.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#!/usr/bin/env python3
2+
3+
from sys import hexversion
4+
from warnings import warn
5+
from subprocess import check_output, CalledProcessError, PIPE
6+
7+
_k_unknown_ver = "Unknown"
8+
9+
10+
def get_git_verstring(silent=True):
11+
try:
12+
git_result = check_output(
13+
['git', 'describe', '--tags', '--dirty', '--long'],
14+
stderr=PIPE,
15+
)
16+
except CalledProcessError as err:
17+
if not silent:
18+
warn("Git failed with error: {}".format(str(err.stderr)))
19+
return _k_unknown_ver
20+
21+
ver_string = git_result.decode().strip()
22+
ver_tokens = ver_string.split('-')
23+
24+
dirty = None
25+
if ver_tokens[-1] == "dirty":
26+
dirty = ver_tokens.pop()
27+
28+
sha = ver_tokens.pop()
29+
commitcount = ver_tokens.pop()
30+
tag = '-'.join(ver_tokens)
31+
32+
if commitcount == '0':
33+
return "+".join([tag, dirty]) if dirty else tag
34+
35+
localver = "+".join([tag,sha])
36+
37+
return ".".join([localver, dirty]) if dirty else localver
38+
39+
40+
def versionate():
41+
42+
ver_string = get_git_verstring()
43+
44+
with open('pypop/version', 'wt') as fh:
45+
fh.write(ver_string)
46+
47+
return ver_string
48+
49+
50+
if __name__ == "__main__":
51+
print(get_git_verstring())

0 commit comments

Comments
 (0)