Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
cb-util
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Christoph Alt
cb-util
Commits
55f01fc1
Commit
55f01fc1
authored
10 months ago
by
Razvan Vass
Browse files
Options
Downloads
Plain Diff
Merge branch 'main' into 'razvan/PercolationGPU'
# Conflicts: # tests/test_dashboard_upload.py
parents
2d5ee54b
29d5c6f1
Branches
Branches containing commit
Tags
release/0.2.2
Tags containing commit
1 merge request
!11
Adding Dashboards for Percolation and for the roofline dashboard
Pipeline
#68843
passed
10 months ago
Stage: test
Stage: deploy
Stage: trigger
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
cbutil/ncu_parser.py
+45
-22
45 additions, 22 deletions
cbutil/ncu_parser.py
dashboards/dashboard_walberla.py
+2
-0
2 additions, 0 deletions
dashboards/dashboard_walberla.py
tests/test_ncu_parser.py
+1
-1
1 addition, 1 deletion
tests/test_ncu_parser.py
with
48 additions
and
23 deletions
cbutil/ncu_parser.py
+
45
−
22
View file @
55f01fc1
import
numpy
as
np
import
numpy
as
np
import
pandas
as
pd
import
pandas
as
pd
import
re
from
cbutil.ncu_keys
import
(
from
cbutil.ncu_keys
import
(
memory_write_data_key
,
memory_write_data_key
,
memory_read_data_key
,
memory_read_data_key
,
...
@@ -27,17 +28,17 @@ def get_unit(col):
...
@@ -27,17 +28,17 @@ def get_unit(col):
def
detect_prefix
(
unit
):
def
detect_prefix
(
unit
):
if
unit
[
0
]
==
'
G
'
:
if
unit
[
0
]
==
"
G
"
:
return
1e9
return
1e9
elif
unit
[
0
]
==
'
M
'
:
elif
unit
[
0
]
==
"
M
"
:
return
1e6
return
1e6
elif
unit
[
0
]
==
'
K
'
:
elif
unit
[
0
]
==
"
K
"
:
return
1e3
return
1e3
elif
unit
[
0
]
==
'
m
'
:
elif
unit
[
0
]
==
"
m
"
:
return
1e-3
return
1e-3
elif
unit
[
0
]
==
'
u
'
:
elif
unit
[
0
]
==
"
u
"
:
return
1e-6
return
1e-6
elif
unit
[
0
]
==
'
n
'
:
elif
unit
[
0
]
==
"
n
"
:
return
1e-9
return
1e-9
else
:
else
:
return
1
return
1
...
@@ -61,35 +62,57 @@ def normalize_and_add_prefix(value, prefix: str):
...
@@ -61,35 +62,57 @@ def normalize_and_add_prefix(value, prefix: str):
def
extract_raw_counter
(
df
:
pd
.
DataFrame
):
def
extract_raw_counter
(
df
:
pd
.
DataFrame
):
fields
=
pd
.
DataFrame
()
fields
=
pd
.
DataFrame
()
tags
=
pd
.
DataFrame
()
tags
=
pd
.
DataFrame
()
tags
[
"
Block Size
"
]
=
df
[
"
Block Size
"
]
tags
[
"
Block Size
"
]
=
df
[
"
Block Size
"
]
tags
[
"
Grid Size
"
]
=
df
[
"
Grid Size
"
]
tags
[
"
Grid Size
"
]
=
df
[
"
Grid Size
"
]
tags
[
"
GPU
"
]
=
df
[
"
device__attribute_display_name
"
]
tags
[
"
GPU
"
]
=
df
[
"
device__attribute_display_name
"
]
.
str
.
replace
(
"
"
,
""
)
fields
[
memory_write_data_key
]
=
normalize_and_add_prefix
(
df
[
"
dram__bytes_write.sum
"
],
'
G
'
)
fields
[
memory_write_data_key
]
=
normalize_and_add_prefix
(
fields
[
memory_read_data_key
]
=
normalize_and_add_prefix
(
df
[
"
dram__bytes_read.sum
"
],
'
G
'
)
df
[
"
dram__bytes_write.sum
"
],
"
G
"
fields
[
memory_data_key
]
=
fields
[
memory_write_data_key
]
+
fields
[
memory_read_data_key
]
)
fields
[
memory_read_data_key
]
=
normalize_and_add_prefix
(
df
[
"
dram__bytes_read.sum
"
],
"
G
"
)
fields
[
memory_data_key
]
=
(
fields
[
memory_write_data_key
]
+
fields
[
memory_read_data_key
]
)
fields
[
memory_write_bandwidth_key
]
=
normalize_and_add_prefix
(
df
[
"
dram__bytes_write.sum.per_second
"
],
'
M
'
)
fields
[
memory_write_bandwidth_key
]
=
normalize_and_add_prefix
(
fields
[
memory_read_bandwidth_key
]
=
normalize_and_add_prefix
(
df
[
"
dram__bytes_read.sum.per_second
"
],
'
M
'
)
df
[
"
dram__bytes_write.sum.per_second
"
],
"
M
"
fields
[
memory_bandwidth_key
]
=
normalize_and_add_prefix
(
df
[
"
dram__bytes.sum.per_second
"
],
'
M
'
)
)
fields
[
memory_read_bandwidth_key
]
=
normalize_and_add_prefix
(
df
[
"
dram__bytes_read.sum.per_second
"
],
"
M
"
)
fields
[
memory_bandwidth_key
]
=
normalize_and_add_prefix
(
df
[
"
dram__bytes.sum.per_second
"
],
"
M
"
)
fields
[
runtime_key
]
=
get_normalized
(
df
[
"
gpu__time_duration.sum
"
])
fields
[
runtime_key
]
=
get_normalized
(
df
[
"
gpu__time_duration.sum
"
])
fields
[
smsp_cycles_key
]
=
get_normalized
(
df
[
"
smsp__cycles_elapsed.avg.per_second
"
])
fields
[
smsp_cycles_key
]
=
get_normalized
(
df
[
"
smsp__cycles_elapsed.avg.per_second
"
])
fields
[
smsp_cycles_total_key
]
=
fields
[
smsp_cycles_key
]
*
fields
[
runtime_key
]
fields
[
smsp_cycles_total_key
]
=
fields
[
smsp_cycles_key
]
*
fields
[
runtime_key
]
fields
[
fp_inst_per_cycle_key
]
=
(
fields
[
fp_inst_per_cycle_key
]
=
(
2
*
df
[
"
smsp__sass_thread_inst_executed_op_dfma_pred_on.sum.per_cycle_elapsed
"
]
+
2
*
df
[
"
smsp__sass_thread_inst_executed_op_dfma_pred_on.sum.per_cycle_elapsed
"
]
df
[
"
smsp__sass_thread_inst_executed_op_dadd_pred_on.sum.per_cycle_elapsed
"
]
+
+
df
[
"
smsp__sass_thread_inst_executed_op_dadd_pred_on.sum.per_cycle_elapsed
"
]
df
[
"
smsp__sass_thread_inst_executed_op_dmul_pred_on.sum.per_cycle_elapsed
"
]
+
df
[
"
smsp__sass_thread_inst_executed_op_dmul_pred_on.sum.per_cycle_elapsed
"
]
)
fields
[
total_fp_inst_key
]
=
(
fields
[
fp_inst_per_cycle_key
]
*
fields
[
smsp_cycles_total_key
]
)
)
fields
[
total_fp_inst_key
]
=
fields
[
fp_inst_per_cycle_key
]
*
fields
[
smsp_cycles_total_key
]
fields
[
operational_intensity_key
]
=
fields
[
total_fp_inst_key
]
/
(
fields
[
memory_data_key
]
*
1e9
)
fields
[
operational_intensity_key
]
=
fields
[
total_fp_inst_key
]
/
(
fields
[
p_max_key
]
=
add_unit_prefix
(
fields
[
operational_intensity_key
]
*
fields
[
memory_bandwidth_key
]
*
1e6
,
'
M
'
)
fields
[
memory_data_key
]
*
1e9
fields
[
dp_key
]
=
np
.
divide
(
np
.
asarray
(
fields
[
total_fp_inst_key
]),
fields
[
runtime_key
])
/
1e6
)
fields
[
p_max_key
]
=
add_unit_prefix
(
fields
[
operational_intensity_key
]
*
fields
[
memory_bandwidth_key
]
*
1e6
,
"
M
"
)
fields
[
dp_key
]
=
(
np
.
divide
(
np
.
asarray
(
fields
[
total_fp_inst_key
]),
fields
[
runtime_key
])
/
1e6
)
return
fields
,
tags
return
fields
,
tags
...
...
This diff is collapsed.
Click to expand it.
dashboards/dashboard_walberla.py
+
2
−
0
View file @
55f01fc1
...
@@ -618,6 +618,8 @@ def dashboard_fslbmgravitywave():
...
@@ -618,6 +618,8 @@ def dashboard_fslbmgravitywave():
Filter
(
"
project_id
"
,
multi
=
True
,
default_value
=
"
walberla/walberla
"
),
Filter
(
"
project_id
"
,
multi
=
True
,
default_value
=
"
walberla/walberla
"
),
Filter
(
"
branch
"
,
multi
=
True
,
default_value
=
"
master
"
),
Filter
(
"
branch
"
,
multi
=
True
,
default_value
=
"
master
"
),
Filter
(
"
numMPIProcesses
"
),
Filter
(
"
numMPIProcesses
"
),
Filter
(
"
barrierAfterSweep
"
),
Filter
(
"
blockDecomposition
"
),
]
]
fields
=
[
fields
=
[
...
...
This diff is collapsed.
Click to expand it.
tests/test_ncu_parser.py
+
1
−
1
View file @
55f01fc1
...
@@ -10,7 +10,7 @@ def sample_data():
...
@@ -10,7 +10,7 @@ def sample_data():
data
=
{
data
=
{
(
"
Block Size
"
,
""
):
[
128
,
256
,
512
],
(
"
Block Size
"
,
""
):
[
128
,
256
,
512
],
(
"
Grid Size
"
,
""
):
[
64
,
128
,
256
],
(
"
Grid Size
"
,
""
):
[
64
,
128
,
256
],
(
"
device__attribute_display_name
"
,
""
):
[
"
GPU1
"
,
"
GPU2
"
,
"
GPU3
"
],
(
"
device__attribute_display_name
"
,
""
):
[
"
GPU
1
"
,
"
GPU2
"
,
"
GPU
3
"
],
(
"
dram__bytes_write.sum
"
,
"
Bytes
"
):
[
1e9
,
2e9
,
3e9
],
(
"
dram__bytes_write.sum
"
,
"
Bytes
"
):
[
1e9
,
2e9
,
3e9
],
(
"
dram__bytes_read.sum
"
,
"
GBytes
"
):
[
0.5
,
1.
,
1.5
],
(
"
dram__bytes_read.sum
"
,
"
GBytes
"
):
[
0.5
,
1.
,
1.5
],
(
"
dram__bytes_write.sum.per_second
"
,
"
MByte/s
"
):
[
100
,
200
,
300
],
(
"
dram__bytes_write.sum.per_second
"
,
"
MByte/s
"
):
[
100
,
200
,
300
],
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment