Update run-ci.py (#641)
* Temp: Fixing node id * source formatting (clang-format v11) (#709) Co-authored-by: ammarwa <3832908+ammarwa@users.noreply.github.com> * Using logical node id * Update agent.cpp * Update agent.cpp * Python formatting * Update run-ci.py * Update run-ci.py * Update continuous_integration.yml * Update continuous_integration.yml running directly using the prepared runner container * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update run-ci.py * Clean up * Fixing install paths * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Update continuous_integration.yml * Fixing GPU Agents Test Validation * python formatting (black) (#712) Co-authored-by: ammarwa <3832908+ammarwa@users.noreply.github.com> * Fixing the issue with rocclr detected kernels __amd_rocclr_.* * python formatting (black) (#713) Co-authored-by: ammarwa <3832908+ammarwa@users.noreply.github.com> * Fixing the issue with rocclr detected kernels __amd_rocclr_.* * Fixing static number of async copies and using hsa_api instead for validation * python formatting (black) (#714) Co-authored-by: ammarwa <3832908+ammarwa@users.noreply.github.com> * Increasing the time limit for waiting on active signals * Update continuous_integration.yml * Update async_copy.cpp * Update CMakeLists.txt * changing node id to logical node id in rocprofv3 * Update tool.cpp * testing async mem copy signal decrement * Update logging.cpp * Update validate.py --------- Co-authored-by: Ammar ELWazir <aelwazir@rocprofiler1.amd.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: ammarwa <3832908+ammarwa@users.noreply.github.com> Co-authored-by: Ammar ELWazir <aelwazir@rocprofiler2.amd.com> Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
This commit is contained in:
@@ -4,6 +4,7 @@ import sys
|
||||
import pytest
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
import re
|
||||
|
||||
kernel_list = sorted(
|
||||
["addition_kernel", "subtract_kernel", "multiply_kernel", "divide_kernel"]
|
||||
@@ -23,11 +24,19 @@ def test_validate_counter_collection_pmc1(input_data: pd.DataFrame):
|
||||
assert (df["Process_Id"].astype(int).values > 0).all()
|
||||
assert len(df["Kernel_Name"]) > 0
|
||||
|
||||
assert kernel_list == sorted(df["Kernel_Name"].unique().tolist())
|
||||
counter_collection_pmc1_kernel_list = [
|
||||
x
|
||||
for x in sorted(df["Kernel_Name"].unique().tolist())
|
||||
if not re.search(r"__amd_rocclr_.*", x)
|
||||
]
|
||||
|
||||
assert kernel_list == counter_collection_pmc1_kernel_list
|
||||
|
||||
kernel_count = dict([[itr, 0] for itr in kernel_list])
|
||||
assert len(kernel_count) == len(kernel_list)
|
||||
for itr in df["Kernel_Name"]:
|
||||
if re.search(r"__amd_rocclr_.*", itr):
|
||||
continue
|
||||
kernel_count[itr] += 1
|
||||
kn_cnt = [itr for _, itr in kernel_count.items()]
|
||||
assert min(kn_cnt) == max(kn_cnt) and len(unique(kn_cnt)) == 1
|
||||
|
||||
@@ -27,7 +27,7 @@ set_tests_properties(
|
||||
rocprofv3-test-trace-hip-in-libraries-execute
|
||||
PROPERTIES
|
||||
TIMEOUT
|
||||
45
|
||||
100
|
||||
LABELS
|
||||
"integration-tests"
|
||||
ENVIRONMENT
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import re
|
||||
import sys
|
||||
import pytest
|
||||
import subprocess
|
||||
|
||||
|
||||
class dim3(object):
|
||||
@@ -79,7 +81,6 @@ def test_api_trace(hsa_input_data, hip_input_data):
|
||||
def test_kernel_trace(kernel_input_data):
|
||||
valid_kernel_names = sorted(
|
||||
[
|
||||
"__amd_rocclr_fillBufferAligned",
|
||||
"(anonymous namespace)::transpose(int const*, int*, int, int)",
|
||||
"void (anonymous namespace)::addition_kernel<float>(float*, float const*, float const*, int, int)",
|
||||
"void (anonymous namespace)::divide_kernel<float>(float*, float const*, float const*, int, int)",
|
||||
@@ -91,6 +92,8 @@ def test_kernel_trace(kernel_input_data):
|
||||
kernels = []
|
||||
for row in kernel_input_data:
|
||||
kernel_name = row["Kernel_Name"]
|
||||
if re.search(r"__amd_rocclr_.*", kernel_name):
|
||||
continue
|
||||
|
||||
assert row["Kind"] == "KERNEL_DISPATCH"
|
||||
assert int(row["Agent_Id"]) > 0
|
||||
@@ -123,18 +126,34 @@ def test_kernel_trace(kernel_input_data):
|
||||
assert kernels == valid_kernel_names
|
||||
|
||||
|
||||
def test_memory_copy_trace(memory_copy_input_data):
|
||||
def test_memory_copy_trace(memory_copy_input_data, hsa_input_data):
|
||||
for row in memory_copy_input_data:
|
||||
assert row["Kind"] == "MEMORY_COPY"
|
||||
assert row["Direction"] in ("HOST_TO_DEVICE", "DEVICE_TO_HOST")
|
||||
if row["Direction"] == "HOST_TO_DEVICE":
|
||||
assert int(row["Source_Agent_Id"]) == 0
|
||||
output = subprocess.check_output(
|
||||
'rocminfo | grep "Node: *'
|
||||
+ row["Source_Agent_Id"]
|
||||
+ '" -A 1 | grep "Device Type" | sed \'s/.*: *//\'',
|
||||
shell=True,
|
||||
)
|
||||
assert int(str(output).find("CPU")) >= 0
|
||||
elif row["Direction"] == "DEVICE_TO_HOST":
|
||||
assert int(row["Destination_Agent_Id"]) == 0
|
||||
output = subprocess.check_output(
|
||||
'rocminfo | grep "Node: *'
|
||||
+ row["Destination_Agent_Id"]
|
||||
+ '" -A 1 | grep "Device Type" | sed \'s/.*: *//\'',
|
||||
shell=True,
|
||||
)
|
||||
assert int(str(output).find("CPU")) >= 0
|
||||
assert int(row["Correlation_Id"]) > 0
|
||||
assert int(row["End_Timestamp"]) >= int(row["Start_Timestamp"])
|
||||
|
||||
assert len(memory_copy_input_data) == 120
|
||||
valid_length = 0
|
||||
for row in hsa_input_data:
|
||||
if re.search(r".*memory_async_copy.*", row["Function"]):
|
||||
valid_length += 1
|
||||
assert len(memory_copy_input_data) == valid_length
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
import subprocess
|
||||
import pytest
|
||||
|
||||
|
||||
@@ -67,15 +68,39 @@ def test_memory_copy_trace(memory_copy_input_data):
|
||||
|
||||
row = memory_copy_input_data[0]
|
||||
assert row["Direction"] == "HOST_TO_DEVICE"
|
||||
assert int(row["Source_Agent_Id"]) == 0
|
||||
assert int(row["Destination_Agent_Id"]) >= 1
|
||||
output = subprocess.check_output(
|
||||
'rocminfo | grep "Node: *'
|
||||
+ row["Source_Agent_Id"]
|
||||
+ '" -A 1 | grep "Device Type" | sed \'s/.*: *//\'',
|
||||
shell=True,
|
||||
)
|
||||
assert int(str(output).find("CPU")) >= 0
|
||||
output = subprocess.check_output(
|
||||
'rocminfo | grep "Node: *'
|
||||
+ row["Destination_Agent_Id"]
|
||||
+ '" -A 1 | grep "Device Type" | sed \'s/.*: *//\'',
|
||||
shell=True,
|
||||
)
|
||||
assert int(str(output).find("GPU")) >= 0
|
||||
assert int(row["Correlation_Id"]) > 0
|
||||
assert int(row["End_Timestamp"]) >= int(row["Start_Timestamp"])
|
||||
|
||||
row = memory_copy_input_data[1]
|
||||
assert row["Direction"] == "DEVICE_TO_HOST"
|
||||
assert int(row["Source_Agent_Id"]) >= 1
|
||||
assert int(row["Destination_Agent_Id"]) == 0
|
||||
output = subprocess.check_output(
|
||||
'rocminfo | grep "Node: *'
|
||||
+ row["Source_Agent_Id"]
|
||||
+ '" -A 1 | grep "Device Type" | sed \'s/.*: *//\'',
|
||||
shell=True,
|
||||
)
|
||||
assert int(str(output).find("GPU")) >= 0
|
||||
output = subprocess.check_output(
|
||||
'rocminfo | grep "Node: *'
|
||||
+ row["Destination_Agent_Id"]
|
||||
+ '" -A 1 | grep "Device Type" | sed \'s/.*: *//\'',
|
||||
shell=True,
|
||||
)
|
||||
assert int(str(output).find("CPU")) >= 0
|
||||
assert int(row["Correlation_Id"]) > 0
|
||||
assert int(row["End_Timestamp"]) >= int(row["Start_Timestamp"])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user