Mailing List Archive

[PATCH v2 0/2] rocm.eclass: new eclass for ROCm packages
From: YiyangWu <xgreenlandforwyy@gmail.com>

This update fixes problems pointed out last week on rocm.eclass.

Changelog from v1:
1. Change to the mordern EAPI check style;
2. fix typo in amdgpu_targets.desc;
3. remove trailing space in comments

Yiyang Wu (2):
rocm.eclass: new eclass
profiles/desc: add amdgpu_targets.desc for USE_EXPAND

eclass/rocm.eclass | 275 ++++++++++++++++++++++++++++++
profiles/base/make.defaults | 2 +-
profiles/desc/amdgpu_targets.desc | 15 ++
3 files changed, 291 insertions(+), 1 deletion(-)
create mode 100644 eclass/rocm.eclass
create mode 100644 profiles/desc/amdgpu_targets.desc

Interdiff against v1:
diff --git a/eclass/rocm.eclass b/eclass/rocm.eclass
index e4b448f7b894..8ca2c051ddce 100644
--- a/eclass/rocm.eclass
+++ b/eclass/rocm.eclass
@@ -19,7 +19,7 @@
# Most ROCm packages use cmake as build system, so this eclass does not export
# phase functions which overwrites the phase functions in cmake.eclass. Ebuild
# should explicitly call rocm_src_* in src_configure and src_test.
-#
+#
# @EXAMPLE:
# # Example for ROCm packages in https://github.com/ROCmSoftwarePlatform
# inherit cmake rocm
@@ -28,25 +28,25 @@
# IUSE="test"
# REQUIRED_USE="${ROCM_REQUIRED_USE}"
# RESTRICT="!test? ( test )"
-#
+#
# RDEPEND="
# dev-util/hip
# sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
# "
-#
+#
# S=${WORKDIR}/${PN}-rocm-${PV}
-#
+#
# src_configure() {
# local mycmakeargs=(
# -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
# )
# rocm_src_configure
# }
-#
+#
# src_test() {
# rocm_src_test
# }
-#
+#
# # Example for packages depend on ROCm libraries -- a package depend on
# # rocBLAS, and use comma seperated ${HCC_AMDGPU_TARGET} to determine GPU
# # architecture to compile. Requires ROCm version >5.
@@ -67,14 +67,11 @@

if [[ ! ${_ROCM_ECLASS} ]]; then

-case ${EAPI} in
- 0|1|2|3|4|5|6)
- die "${ECLASS}: unsupported EAPI=${EAPI:-0} (too old)"
- ;;
+case "${EAPI:-0}" in
7|8)
;;
*)
- die "${ECLASS}: unsupported EAPI=${EAPI} (unknown)"
+ die "Unsupported EAPI=${EAPI} for ${ECLASS}"
;;
esac

diff --git a/profiles/desc/amdgpu_targets.desc b/profiles/desc/amdgpu_targets.desc
index 942ab51356fb..8a3db2b56dab 100644
--- a/profiles/desc/amdgpu_targets.desc
+++ b/profiles/desc/amdgpu_targets.desc
@@ -8,7 +8,7 @@ gfx900 - Vega GPU, codename vega10, including Radeon Vega Frontier Edition, Rade
gfx906 - Vega GPU, codename vega20, including Radeon (Pro) VII, Radeon Instinct MI50/MI60
gfx908 - CDNA Accelerator, codename arcturus, including AMD Instinct MI100 Accelerator
gfx90a - CDNA2 Accelerator, codename aldebaran, including AMD Instinct MI200 series Accelerators
-gfx1010 - RDNA GPU, codename navi10, including Radeon RX 5700XT/5700/5700M/5700B/5700XTB/5600XT/5600/5600M, Radeon Pro 5700Xt/5700, Radeon Pro W5700X/W5700
+gfx1010 - RDNA GPU, codename navi10, including Radeon RX 5700XT/5700/5700M/5700B/5700XTB/5600XT/5600/5600M, Radeon Pro 5700XT/5700, Radeon Pro W5700X/W5700
gfx1011 - RDNA GPU, codename navi12, including Radeon Pro 5600M/V520
gfx1012 - RDNA GPU, codename navi14, including Radeon RX 5500XT/5500/5500M/5500XTB/5300/5300M, Radeon Pro 5500XT/5500M/5300/5300M, Radeon Pro W5500X/W5500/W5500M/W5300M
gfx1030 - RDNA2 GPU, codename navi21/sienna cichlid, including Radeon RX 6950XT/6900XT/6800XT/6800, Radeon Pro W6800
--
2.34.1
Re: [PATCH v2 0/2] rocm.eclass: new eclass for ROCm packages [ In reply to ]
> On 15 Aug 2022, at 15:43, Yiyang Wu <xgreenlandforwyy@gmail.com> wrote:
>
> From: YiyangWu <xgreenlandforwyy@gmail.com>
>
> This update fixes problems pointed out last week on rocm.eclass.
>
> Changelog from v1:
> 1. Change to the mordern EAPI check style;
> 2. fix typo in amdgpu_targets.desc;
> 3. remove trailing space in comments
>
> Yiyang Wu (2):
> rocm.eclass: new eclass
> profiles/desc: add amdgpu_targets.desc for USE_EXPAND
>
> eclass/rocm.eclass | 275 ++++++++++++++++++++++++++++++
> profiles/base/make.defaults | 2 +-
> profiles/desc/amdgpu_targets.desc | 15 ++
> 3 files changed, 291 insertions(+), 1 deletion(-)
> create mode 100644 eclass/rocm.eclass
> create mode 100644 profiles/desc/amdgpu_targets.desc

Please squash the rocm fixes into the first commit.

>
> Interdiff against v1:
> diff --git a/eclass/rocm.eclass b/eclass/rocm.eclass
> index e4b448f7b894..8ca2c051ddce 100644
> --- a/eclass/rocm.eclass
> +++ b/eclass/rocm.eclass
> @@ -19,7 +19,7 @@
> # Most ROCm packages use cmake as build system, so this eclass does not export
> # phase functions which overwrites the phase functions in cmake.eclass. Ebuild
> # should explicitly call rocm_src_* in src_configure and src_test.
> -#
> +#
> # @EXAMPLE:
> # # Example for ROCm packages in https://github.com/ROCmSoftwarePlatform
> # inherit cmake rocm
> @@ -28,25 +28,25 @@
> # IUSE="test"
> # REQUIRED_USE="${ROCM_REQUIRED_USE}"
> # RESTRICT="!test? ( test )"
> -#
> +#
> # RDEPEND="
> # dev-util/hip
> # sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
> # "
> -#
> +#
> # S=${WORKDIR}/${PN}-rocm-${PV}
> -#
> +#
> # src_configure() {
> # local mycmakeargs=(
> # -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
> # )
> # rocm_src_configure
> # }
> -#
> +#
> # src_test() {
> # rocm_src_test
> # }
> -#
> +#
> # # Example for packages depend on ROCm libraries -- a package depend on
> # # rocBLAS, and use comma seperated ${HCC_AMDGPU_TARGET} to determine GPU
> # # architecture to compile. Requires ROCm version >5.
> @@ -67,14 +67,11 @@
>
> if [[ ! ${_ROCM_ECLASS} ]]; then
>
> -case ${EAPI} in
> - 0|1|2|3|4|5|6)
> - die "${ECLASS}: unsupported EAPI=${EAPI:-0} (too old)"
> - ;;
> +case "${EAPI:-0}" in
> 7|8)
> ;;
> *)
> - die "${ECLASS}: unsupported EAPI=${EAPI} (unknown)"
> + die "Unsupported EAPI=${EAPI} for ${ECLASS}"
> ;;
> esac
>
> diff --git a/profiles/desc/amdgpu_targets.desc b/profiles/desc/amdgpu_targets.desc
> index 942ab51356fb..8a3db2b56dab 100644
> --- a/profiles/desc/amdgpu_targets.desc
> +++ b/profiles/desc/amdgpu_targets.desc
> @@ -8,7 +8,7 @@ gfx900 - Vega GPU, codename vega10, including Radeon Vega Frontier Edition, Rade
> gfx906 - Vega GPU, codename vega20, including Radeon (Pro) VII, Radeon Instinct MI50/MI60
> gfx908 - CDNA Accelerator, codename arcturus, including AMD Instinct MI100 Accelerator
> gfx90a - CDNA2 Accelerator, codename aldebaran, including AMD Instinct MI200 series Accelerators
> -gfx1010 - RDNA GPU, codename navi10, including Radeon RX 5700XT/5700/5700M/5700B/5700XTB/5600XT/5600/5600M, Radeon Pro 5700Xt/5700, Radeon Pro W5700X/W5700
> +gfx1010 - RDNA GPU, codename navi10, including Radeon RX 5700XT/5700/5700M/5700B/5700XTB/5600XT/5600/5600M, Radeon Pro 5700XT/5700, Radeon Pro W5700X/W5700
> gfx1011 - RDNA GPU, codename navi12, including Radeon Pro 5600M/V520
> gfx1012 - RDNA GPU, codename navi14, including Radeon RX 5500XT/5500/5500M/5500XTB/5300/5300M, Radeon Pro 5500XT/5500M/5300/5300M, Radeon Pro W5500X/W5500/W5500M/W5300M
> gfx1030 - RDNA2 GPU, codename navi21/sienna cichlid, including Radeon RX 6950XT/6900XT/6800XT/6800, Radeon Pro W6800
> --
> 2.34.1
>
>
Re: [PATCH v2 0/2] rocm.eclass: new eclass for ROCm packages [ In reply to ]
> On 15 Aug 2022, at 15:47, Sam James <sam@gentoo.org> wrote:
>
>
>
>> On 15 Aug 2022, at 15:43, Yiyang Wu <xgreenlandforwyy@gmail.com> wrote:
>>
>> From: YiyangWu <xgreenlandforwyy@gmail.com>
>>
>> This update fixes problems pointed out last week on rocm.eclass.
>>
>> Changelog from v1:
>> 1. Change to the mordern EAPI check style;
>> 2. fix typo in amdgpu_targets.desc;
>> 3. remove trailing space in comments
>>
>> Yiyang Wu (2):
>> rocm.eclass: new eclass
>> profiles/desc: add amdgpu_targets.desc for USE_EXPAND
>>
>> eclass/rocm.eclass | 275 ++++++++++++++++++++++++++++++
>> profiles/base/make.defaults | 2 +-
>> profiles/desc/amdgpu_targets.desc | 15 ++
>> 3 files changed, 291 insertions(+), 1 deletion(-)
>> create mode 100644 eclass/rocm.eclass
>> create mode 100644 profiles/desc/amdgpu_targets.desc
>
> Please squash the rocm fixes into the first commit.
>

Oh, sorry, I'd missed it was in the cover letter -- I thought it was in the USE_EXPAND commit.

Ignore me!