Skip to content

Commit

Permalink
Bug fixing
Browse files Browse the repository at this point in the history
  • Loading branch information
YuriiPerets committed Sep 10, 2024
1 parent 2591de1 commit 6482631
Show file tree
Hide file tree
Showing 4 changed files with 147 additions and 37 deletions.
38 changes: 24 additions & 14 deletions src/bashi/filter_software_dependency.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,7 @@
import packaging.version as pkv
from typeguard import typechecked
from bashi.types import ParameterValueTuple
from bashi.globals import (
DEVICE_COMPILER,
HOST_COMPILER,
GCC,
UBUNTU,
CLANG_CUDA,
CMAKE,
ALPAKA_ACC_GPU_HIP_ENABLE,
OFF_VER,
HIPCC,
)
from bashi.globals import * # pylint: disable=wildcard-import,unused-wildcard-import
from bashi.utils import reason


Expand Down Expand Up @@ -121,9 +111,29 @@ def software_dependency_filter(
if compiler_type in row and row[compiler_type].name == HIPCC:
if ALPAKA_ACC_GPU_HIP_ENABLE in row and row[ALPAKA_ACC_GPU_HIP_ENABLE].version != OFF_VER:
return False
if UBUNTU in row and row[UBUNTU].version < pkv.parse("20.04"):
for compiler_type in (HOST_COMPILER, DEVICE_COMPILER):
if compiler_type in row and row[compiler_type].name == CLANG_CUDA:
return False
if UBUNTU in row and row[UBUNTU].version < pkv.parse("20.04"):
if ALPAKA_ACC_GPU_HIP_ENABLE in row and row[ALPAKA_ACC_GPU_HIP_ENABLE].version != OFF_VER:
return False
"""
if UBUNTU in row and row[UBUNTU].version >= pkv.parse("20.04"):
if ALPAKA_ACC_GPU_HIP_ENABLE in row and row[ALPAKA_ACC_GPU_HIP_ENABLE].version != OFF_VER:

if UBUNTU in row and row[UBUNTU].version < pkv.parse("20.04"):
if ALPAKA_ACC_GPU_HIP_ENABLE in row and row[ALPAKA_ACC_GPU_HIP_ENABLE].version == ON:
reason(
output,
f"ROCm images " "is not available in UBUNTU " f"{row[UBUNTU].version}",
)
return False
else:
reason(
output,
f"ROCm images " "is not available in " f"ALPAKA_ACC_GPU_HIP_ENABLE OFF",
)
return False

return True
return True
20 changes: 9 additions & 11 deletions src/bashi/results.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,7 @@ def get_expected_bashi_parameter_value_pairs(
_remove_unsupported_cmake_versions_for_clangcuda(
param_val_pair_list, removed_param_val_pair_list
)
_remove_all_ROCm_images_non_Ubuntu2004_based(
param_val_pair_list, removed_param_val_pair_list
)
_remove_all_ROCm_images_non_Ubuntu2004_based(param_val_pair_list, removed_param_val_pair_list)
return (param_val_pair_list, removed_param_val_pair_list)


Expand Down Expand Up @@ -795,19 +793,19 @@ def _remove_unsupported_cmake_versions_for_clangcuda(
value_name2=CMAKE,
value_version2=">3.18",
)


def _remove_all_ROCm_images_non_Ubuntu2004_based(
parameter_value_pairs: List[ParameterValuePair],
removed_parameter_value_pairs: List[ParameterValuePair],
parameter_value_pairs: List[ParameterValuePair],
removed_parameter_value_pairs: List[ParameterValuePair],
):
remove_parameter_value_pairs(
parameter_value_pairs,
removed_parameter_value_pairs,
value_name1=UBUNTU,
parameter1=UBUNTU,
value_version1=">20.04",
value_name1=UBUNTU,
value_version1=">=20.04",
parameter2=ALPAKA_ACC_GPU_HIP_ENABLE,
value_name2=ALPAKA_ACC_GPU_HIP_ENABLE,
value_version2="!= 0.0.0",
)
value_version2=ON,
)
51 changes: 51 additions & 0 deletions tests/test_filter_software_dependency.py
Original file line number Diff line number Diff line change
Expand Up @@ -189,3 +189,54 @@ def test_not_valid_cmake_versions_for_clangcuda_d2(self):
reason_msg.getvalue(),
f"device compiler CLANG_CUDA is not available in CMAKE {cmake_version}",
)

def test_valid_ROCm_images_Ubuntu2004_based_d4(self):
for UBUNTU_version in ["20.04", "22.04", "21.04"]:
self.assertTrue(
software_dependency_filter_typechecked(
OD(
{
ALPAKA_ACC_GPU_HIP_ENABLE: ppv((ALPAKA_ACC_GPU_HIP_ENABLE, ON)),
UBUNTU: ppv((UBUNTU, UBUNTU_version)),
}
),
)
)

def test_non_valid_ROCm_images_Ubuntu2004_based_d4(self):
for UBUNTU_version in ["16.04", "18.04", "19.04"]:
reason_msg = io.StringIO()
self.assertFalse(
software_dependency_filter_typechecked(
OD(
{
ALPAKA_ACC_GPU_HIP_ENABLE: ppv((ALPAKA_ACC_GPU_HIP_ENABLE, ON)),
UBUNTU: ppv((UBUNTU, UBUNTU_version)),
}
),
reason_msg,
),
f"ROCm images is not available in UBUNTU {UBUNTU_version}",
)
self.assertEqual(
reason_msg.getvalue(),
f"ROCm images is not available in UBUNTU {UBUNTU_version}",
)
for UBUNTU_version in ["16.04", "18.04", "19.04", "20.04", "22.04", "21.04"]:
reason_msg = io.StringIO()
self.assertFalse(
software_dependency_filter_typechecked(
OD(
{
ALPAKA_ACC_GPU_HIP_ENABLE: ppv((ALPAKA_ACC_GPU_HIP_ENABLE, OFF)),
UBUNTU: ppv((UBUNTU, UBUNTU_version)),
}
),
reason_msg,
),
f"ROCm images is not available in ALPAKA_ACC_GPU_HIP_ENABLE OFF",
)
self.assertEqual(
reason_msg.getvalue(),
f"ROCm images is not available in ALPAKA_ACC_GPU_HIP_ENABLE OFF",
)
75 changes: 63 additions & 12 deletions tests/test_results.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
_remove_unsupported_clang_sdk_versions_for_clang_cuda,
_remove_unsupported_gcc_versions_for_ubuntu2004,
_remove_unsupported_cmake_versions_for_clangcuda,
_remove_all_ROCm_images_non_Ubuntu2004_based
_remove_all_ROCm_images_non_Ubuntu2004_based,
)
from bashi.versions import NvccHostSupport, NVCC_GCC_MAX_VERSION

Expand Down Expand Up @@ -2357,23 +2357,74 @@ def test_remove_unsupported_cmake_versions_for_clangcuda(self):
expected_results,
create_diff_parameter_value_pairs(test_param_value_pairs, expected_results),
)

def test_remove_all_ROCm_images_non_Ubuntu2004_based(self):
test_param_value_pairs: List[ParameterValuePair] = parse_expected_val_pairs(
[
OD({ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "0.0.0"), UBUNTU: (UBUNTU, "20.04")}),
OD({ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "12"), UBUNTU: (UBUNTU, "20.04")}),
OD({ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "11.2"), UBUNTU: (UBUNTU, "22.04")}),
OD({ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "0.0.0"), UBUNTU: (UBUNTU, "22.04")}),
OD({ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "10.2"), UBUNTU: (UBUNTU, "22.04")}),
OD({ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "0.0.0"), UBUNTU: (UBUNTU, "18.04")}),
OD({ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "10.2"), UBUNTU: (UBUNTU, "18.04")}),
OD(
{
ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "0.0.0"),
UBUNTU: (UBUNTU, "20.04"),
}
),
OD(
{
ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "12"),
UBUNTU: (UBUNTU, "20.04"),
}
),
OD(
{
ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "11.2"),
UBUNTU: (UBUNTU, "22.04"),
}
),
OD(
{
ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "0.0.0"),
UBUNTU: (UBUNTU, "22.04"),
}
),
OD(
{
ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "10.2"),
UBUNTU: (UBUNTU, "22.04"),
}
),
OD(
{
ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "0.0.0"),
UBUNTU: (UBUNTU, "18.04"),
}
),
OD(
{
ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "10.2"),
UBUNTU: (UBUNTU, "18.04"),
}
),
]
)
expected_results = parse_expected_val_pairs(
[
OD({ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "12"), UBUNTU: (UBUNTU, "20.04")}),
OD({ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "11.2"), UBUNTU: (UBUNTU, "22.04")}),
OD({ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "10.2"), UBUNTU: (UBUNTU, "22.04")}),
OD(
{
ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "12"),
UBUNTU: (UBUNTU, "20.04"),
}
),
OD(
{
ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "11.2"),
UBUNTU: (UBUNTU, "22.04"),
}
),
OD(
{
ALPAKA_ACC_GPU_HIP_ENABLE: (ALPAKA_ACC_GPU_HIP_ENABLE, "10.2"),
UBUNTU: (UBUNTU, "22.04"),
}
),
]
)
default_remove_test(
Expand All @@ -2386,4 +2437,4 @@ def test_remove_all_ROCm_images_non_Ubuntu2004_based(self):
test_param_value_pairs,
expected_results,
create_diff_parameter_value_pairs(test_param_value_pairs, expected_results),
)
)

0 comments on commit 6482631

Please sign in to comment.